diff --git a/Casadi/Core/Classes/Callback.hs b/Casadi/Core/Classes/Callback.hs
--- a/Casadi/Core/Classes/Callback.hs
+++ b/Casadi/Core/Classes/Callback.hs
@@ -11,25 +11,33 @@
          CallbackClass(..),
          callback__0,
          callback__1,
+         callback_alloc_arg__0,
+         callback_alloc_arg__1,
+         callback_alloc_iw__0,
+         callback_alloc_iw__1,
+         callback_alloc_res__0,
+         callback_alloc_res__1,
+         callback_alloc_w__0,
+         callback_alloc_w__1,
          callback_construct__0,
          callback_construct__1,
          callback_eval,
          callback_finalize,
          callback_get_forward,
-         callback_get_forward_new,
          callback_get_jacobian,
-         callback_get_n_forward,
          callback_get_n_in,
          callback_get_n_out,
-         callback_get_n_reverse,
          callback_get_name_in,
          callback_get_name_out,
          callback_get_reverse,
-         callback_get_reverse_new,
          callback_get_sparsity_in,
          callback_get_sparsity_out,
+         callback_has_forward,
          callback_has_jacobian,
+         callback_has_reverse,
          callback_init,
+         callback_type_name,
+         callback_uses_output,
        ) where
 
 
@@ -105,6 +113,246 @@
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__Callback__alloc_arg__0" c_casadi__Callback__alloc_arg__0
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CSize -> IO ()
+
+casadi__Callback__alloc_arg__0
+  :: Callback -> CSize -> IO ()
+casadi__Callback__alloc_arg__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Callback__alloc_arg__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+callback_alloc_arg__0 :: CallbackClass a => a -> CSize -> IO ()
+callback_alloc_arg__0 x = casadi__Callback__alloc_arg__0 (castCallback x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Callback__alloc_arg__1" c_casadi__Callback__alloc_arg__1
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CSize -> CInt -> IO ()
+
+casadi__Callback__alloc_arg__1
+  :: Callback -> CSize -> Bool -> IO ()
+casadi__Callback__alloc_arg__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Callback__alloc_arg__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+callback_alloc_arg__1 :: CallbackClass a => a -> CSize -> Bool -> IO ()
+callback_alloc_arg__1 x = casadi__Callback__alloc_arg__1 (castCallback x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Callback__alloc_iw__0" c_casadi__Callback__alloc_iw__0
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CSize -> IO ()
+
+casadi__Callback__alloc_iw__0
+  :: Callback -> CSize -> IO ()
+casadi__Callback__alloc_iw__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Callback__alloc_iw__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+callback_alloc_iw__0 :: CallbackClass a => a -> CSize -> IO ()
+callback_alloc_iw__0 x = casadi__Callback__alloc_iw__0 (castCallback x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Callback__alloc_iw__1" c_casadi__Callback__alloc_iw__1
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CSize -> CInt -> IO ()
+
+casadi__Callback__alloc_iw__1
+  :: Callback -> CSize -> Bool -> IO ()
+casadi__Callback__alloc_iw__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Callback__alloc_iw__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+callback_alloc_iw__1 :: CallbackClass a => a -> CSize -> Bool -> IO ()
+callback_alloc_iw__1 x = casadi__Callback__alloc_iw__1 (castCallback x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Callback__alloc_res__0" c_casadi__Callback__alloc_res__0
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CSize -> IO ()
+
+casadi__Callback__alloc_res__0
+  :: Callback -> CSize -> IO ()
+casadi__Callback__alloc_res__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Callback__alloc_res__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+callback_alloc_res__0 :: CallbackClass a => a -> CSize -> IO ()
+callback_alloc_res__0 x = casadi__Callback__alloc_res__0 (castCallback x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Callback__alloc_res__1" c_casadi__Callback__alloc_res__1
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CSize -> CInt -> IO ()
+
+casadi__Callback__alloc_res__1
+  :: Callback -> CSize -> Bool -> IO ()
+casadi__Callback__alloc_res__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Callback__alloc_res__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+callback_alloc_res__1 :: CallbackClass a => a -> CSize -> Bool -> IO ()
+callback_alloc_res__1 x = casadi__Callback__alloc_res__1 (castCallback x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Callback__alloc_w__0" c_casadi__Callback__alloc_w__0
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CSize -> IO ()
+
+casadi__Callback__alloc_w__0
+  :: Callback -> CSize -> IO ()
+casadi__Callback__alloc_w__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Callback__alloc_w__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+callback_alloc_w__0 :: CallbackClass a => a -> CSize -> IO ()
+callback_alloc_w__0 x = casadi__Callback__alloc_w__0 (castCallback x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Callback__alloc_w__1" c_casadi__Callback__alloc_w__1
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CSize -> CInt -> IO ()
+
+casadi__Callback__alloc_w__1
+  :: Callback -> CSize -> Bool -> IO ()
+casadi__Callback__alloc_w__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Callback__alloc_w__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+callback_alloc_w__1 :: CallbackClass a => a -> CSize -> Bool -> IO ()
+callback_alloc_w__1 x = casadi__Callback__alloc_w__1 (castCallback x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__Callback__construct__0" c_casadi__Callback__construct__0
   :: Ptr (Ptr StdString) -> Ptr Callback' -> Ptr StdString -> IO ()
 
@@ -222,44 +470,11 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Callback__get_forward" c_casadi__Callback__get_forward
-  :: Ptr (Ptr StdString) -> Ptr Callback' -> Ptr StdString -> CInt -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CLLong -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
 
 casadi__Callback__get_forward
-  :: Callback -> String -> Int -> M.Map String GenericType -> IO Function
-casadi__Callback__get_forward x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Callback__get_forward errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-callback_get_forward :: CallbackClass a => a -> String -> Int -> M.Map String GenericType -> IO Function
-callback_get_forward x = casadi__Callback__get_forward (castCallback x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Callback__get_forward_new" c_casadi__Callback__get_forward_new
-  :: Ptr (Ptr StdString) -> Ptr Callback' -> Ptr StdString -> CInt -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Callback__get_forward_new
-  :: Callback -> String -> Int -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-casadi__Callback__get_forward_new x0 x1 x2 x3 x4 x5 = do
+  :: Callback -> Int -> String -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+casadi__Callback__get_forward x0 x1 x2 x3 x4 x5 = do
   x0' <- marshal x0
   x1' <- marshal x1
   x2' <- marshal x2
@@ -268,7 +483,7 @@
   x5' <- marshal x5
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Callback__get_forward_new errStrPtrP x0' x1' x2' x3' x4' x5'
+  ret0 <- c_casadi__Callback__get_forward errStrPtrP x0' x1' x2' x3' x4' x5'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -286,23 +501,25 @@
 
 
 -- classy wrapper
-callback_get_forward_new :: CallbackClass a => a -> String -> Int -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-callback_get_forward_new x = casadi__Callback__get_forward_new (castCallback x)
+callback_get_forward :: CallbackClass a => a -> Int -> String -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+callback_get_forward x = casadi__Callback__get_forward (castCallback x)
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Callback__get_jacobian" c_casadi__Callback__get_jacobian
-  :: Ptr (Ptr StdString) -> Ptr Callback' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
 
 casadi__Callback__get_jacobian
-  :: Callback -> String -> M.Map String GenericType -> IO Function
-casadi__Callback__get_jacobian x0 x1 x2 = do
+  :: Callback -> String -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+casadi__Callback__get_jacobian x0 x1 x2 x3 x4 = do
   x0' <- marshal x0
   x1' <- marshal x1
   x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Callback__get_jacobian errStrPtrP x0' x1' x2'
+  ret0 <- c_casadi__Callback__get_jacobian errStrPtrP x0' x1' x2' x3' x4'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -311,46 +528,21 @@
   marshalFree x0 x0'
   marshalFree x1 x1'
   marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
 
   return ret
 
 
 
 -- classy wrapper
-callback_get_jacobian :: CallbackClass a => a -> String -> M.Map String GenericType -> IO Function
+callback_get_jacobian :: CallbackClass a => a -> String -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
 callback_get_jacobian x = casadi__Callback__get_jacobian (castCallback x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Callback__get_n_forward" c_casadi__Callback__get_n_forward
-  :: Ptr (Ptr StdString) -> Ptr Callback' -> IO CInt
-
-casadi__Callback__get_n_forward
-  :: Callback -> IO Int
-casadi__Callback__get_n_forward x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Callback__get_n_forward errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-callback_get_n_forward :: CallbackClass a => a -> IO Int
-callback_get_n_forward x = casadi__Callback__get_n_forward (castCallback x)
-
-
--- direct wrapper
 foreign import ccall unsafe "casadi__Callback__get_n_in" c_casadi__Callback__get_n_in
-  :: Ptr (Ptr StdString) -> Ptr Callback' -> IO CInt
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> IO CLLong
 
 casadi__Callback__get_n_in
   :: Callback -> IO Int
@@ -377,7 +569,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Callback__get_n_out" c_casadi__Callback__get_n_out
-  :: Ptr (Ptr StdString) -> Ptr Callback' -> IO CInt
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> IO CLLong
 
 casadi__Callback__get_n_out
   :: Callback -> IO Int
@@ -403,35 +595,8 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Callback__get_n_reverse" c_casadi__Callback__get_n_reverse
-  :: Ptr (Ptr StdString) -> Ptr Callback' -> IO CInt
-
-casadi__Callback__get_n_reverse
-  :: Callback -> IO Int
-casadi__Callback__get_n_reverse x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Callback__get_n_reverse errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-callback_get_n_reverse :: CallbackClass a => a -> IO Int
-callback_get_n_reverse x = casadi__Callback__get_n_reverse (castCallback x)
-
-
--- direct wrapper
 foreign import ccall unsafe "casadi__Callback__get_name_in" c_casadi__Callback__get_name_in
-  :: Ptr (Ptr StdString) -> Ptr Callback' -> CInt -> IO (Ptr StdString)
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CLLong -> IO (Ptr StdString)
 
 casadi__Callback__get_name_in
   :: Callback -> Int -> IO String
@@ -460,7 +625,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Callback__get_name_out" c_casadi__Callback__get_name_out
-  :: Ptr (Ptr StdString) -> Ptr Callback' -> CInt -> IO (Ptr StdString)
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CLLong -> IO (Ptr StdString)
 
 casadi__Callback__get_name_out
   :: Callback -> Int -> IO String
@@ -489,18 +654,20 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Callback__get_reverse" c_casadi__Callback__get_reverse
-  :: Ptr (Ptr StdString) -> Ptr Callback' -> Ptr StdString -> CInt -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CLLong -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
 
 casadi__Callback__get_reverse
-  :: Callback -> String -> Int -> M.Map String GenericType -> IO Function
-casadi__Callback__get_reverse x0 x1 x2 x3 = do
+  :: Callback -> Int -> String -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+casadi__Callback__get_reverse x0 x1 x2 x3 x4 x5 = do
   x0' <- marshal x0
   x1' <- marshal x1
   x2' <- marshal x2
   x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Callback__get_reverse errStrPtrP x0' x1' x2' x3'
+  ret0 <- c_casadi__Callback__get_reverse errStrPtrP x0' x1' x2' x3' x4' x5'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -510,32 +677,30 @@
   marshalFree x1 x1'
   marshalFree x2 x2'
   marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
 
   return ret
 
 
 
 -- classy wrapper
-callback_get_reverse :: CallbackClass a => a -> String -> Int -> M.Map String GenericType -> IO Function
+callback_get_reverse :: CallbackClass a => a -> Int -> String -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
 callback_get_reverse x = casadi__Callback__get_reverse (castCallback x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Callback__get_reverse_new" c_casadi__Callback__get_reverse_new
-  :: Ptr (Ptr StdString) -> Ptr Callback' -> Ptr StdString -> CInt -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+foreign import ccall unsafe "casadi__Callback__get_sparsity_in" c_casadi__Callback__get_sparsity_in
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CLLong -> IO (Ptr Sparsity')
 
-casadi__Callback__get_reverse_new
-  :: Callback -> String -> Int -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-casadi__Callback__get_reverse_new x0 x1 x2 x3 x4 x5 = do
+casadi__Callback__get_sparsity_in
+  :: Callback -> Int -> IO Sparsity
+casadi__Callback__get_sparsity_in x0 x1 = do
   x0' <- marshal x0
   x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Callback__get_reverse_new errStrPtrP x0' x1' x2' x3' x4' x5'
+  ret0 <- c_casadi__Callback__get_sparsity_in errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -543,32 +708,28 @@
 
   marshalFree x0 x0'
   marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
 
   return ret
 
 
 
 -- classy wrapper
-callback_get_reverse_new :: CallbackClass a => a -> String -> Int -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-callback_get_reverse_new x = casadi__Callback__get_reverse_new (castCallback x)
+callback_get_sparsity_in :: CallbackClass a => a -> Int -> IO Sparsity
+callback_get_sparsity_in x = casadi__Callback__get_sparsity_in (castCallback x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Callback__get_sparsity_in" c_casadi__Callback__get_sparsity_in
-  :: Ptr (Ptr StdString) -> Ptr Callback' -> CInt -> IO (Ptr Sparsity')
+foreign import ccall unsafe "casadi__Callback__get_sparsity_out" c_casadi__Callback__get_sparsity_out
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CLLong -> IO (Ptr Sparsity')
 
-casadi__Callback__get_sparsity_in
+casadi__Callback__get_sparsity_out
   :: Callback -> Int -> IO Sparsity
-casadi__Callback__get_sparsity_in x0 x1 = do
+casadi__Callback__get_sparsity_out x0 x1 = do
   x0' <- marshal x0
   x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Callback__get_sparsity_in errStrPtrP x0' x1'
+  ret0 <- c_casadi__Callback__get_sparsity_out errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -582,22 +743,22 @@
 
 
 -- classy wrapper
-callback_get_sparsity_in :: CallbackClass a => a -> Int -> IO Sparsity
-callback_get_sparsity_in x = casadi__Callback__get_sparsity_in (castCallback x)
+callback_get_sparsity_out :: CallbackClass a => a -> Int -> IO Sparsity
+callback_get_sparsity_out x = casadi__Callback__get_sparsity_out (castCallback x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Callback__get_sparsity_out" c_casadi__Callback__get_sparsity_out
-  :: Ptr (Ptr StdString) -> Ptr Callback' -> CInt -> IO (Ptr Sparsity')
+foreign import ccall unsafe "casadi__Callback__has_forward" c_casadi__Callback__has_forward
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CLLong -> IO CInt
 
-casadi__Callback__get_sparsity_out
-  :: Callback -> Int -> IO Sparsity
-casadi__Callback__get_sparsity_out x0 x1 = do
+casadi__Callback__has_forward
+  :: Callback -> Int -> IO Bool
+casadi__Callback__has_forward x0 x1 = do
   x0' <- marshal x0
   x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Callback__get_sparsity_out errStrPtrP x0' x1'
+  ret0 <- c_casadi__Callback__has_forward errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -611,8 +772,8 @@
 
 
 -- classy wrapper
-callback_get_sparsity_out :: CallbackClass a => a -> Int -> IO Sparsity
-callback_get_sparsity_out x = casadi__Callback__get_sparsity_out (castCallback x)
+callback_has_forward :: CallbackClass a => a -> Int -> IO Bool
+callback_has_forward x = casadi__Callback__has_forward (castCallback x)
 
 
 -- direct wrapper
@@ -643,6 +804,35 @@
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__Callback__has_reverse" c_casadi__Callback__has_reverse
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> CLLong -> IO CInt
+
+casadi__Callback__has_reverse
+  :: Callback -> Int -> IO Bool
+casadi__Callback__has_reverse x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Callback__has_reverse errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+callback_has_reverse :: CallbackClass a => a -> Int -> IO Bool
+callback_has_reverse x = casadi__Callback__has_reverse (castCallback x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__Callback__init" c_casadi__Callback__init
   :: Ptr (Ptr StdString) -> Ptr Callback' -> IO ()
 
@@ -667,4 +857,58 @@
 -- classy wrapper
 callback_init :: CallbackClass a => a -> IO ()
 callback_init x = casadi__Callback__init (castCallback x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Callback__type_name" c_casadi__Callback__type_name
+  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
+
+casadi__Callback__type_name
+  :: IO String
+casadi__Callback__type_name  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Callback__type_name errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+callback_type_name :: IO String
+callback_type_name = casadi__Callback__type_name
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Callback__uses_output" c_casadi__Callback__uses_output
+  :: Ptr (Ptr StdString) -> Ptr Callback' -> IO CInt
+
+casadi__Callback__uses_output
+  :: Callback -> IO Bool
+casadi__Callback__uses_output x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Callback__uses_output errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+callback_uses_output :: CallbackClass a => a -> IO Bool
+callback_uses_output x = casadi__Callback__uses_output (castCallback x)
 
diff --git a/Casadi/Core/Classes/CasadiMeta.hs b/Casadi/Core/Classes/CasadiMeta.hs
--- a/Casadi/Core/Classes/CasadiMeta.hs
+++ b/Casadi/Core/Classes/CasadiMeta.hs
@@ -9,17 +9,6 @@
        (
          CasadiMeta,
          CasadiMetaClass(..),
-         casadiMeta_getBuildType,
-         casadiMeta_getCompiler,
-         casadiMeta_getCompilerFlags,
-         casadiMeta_getCompilerId,
-         casadiMeta_getFeatureList,
-         casadiMeta_getGitDescribe,
-         casadiMeta_getGitRevision,
-         casadiMeta_getInstallPrefix,
-         casadiMeta_getModules,
-         casadiMeta_getPlugins,
-         casadiMeta_getVersion,
        ) where
 
 
@@ -40,299 +29,3 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
--- direct wrapper
-foreign import ccall unsafe "casadi__CasadiMeta__getBuildType" c_casadi__CasadiMeta__getBuildType
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__CasadiMeta__getBuildType
-  :: IO String
-casadi__CasadiMeta__getBuildType  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CasadiMeta__getBuildType errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-casadiMeta_getBuildType :: IO String
-casadiMeta_getBuildType = casadi__CasadiMeta__getBuildType
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__CasadiMeta__getCompiler" c_casadi__CasadiMeta__getCompiler
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__CasadiMeta__getCompiler
-  :: IO String
-casadi__CasadiMeta__getCompiler  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CasadiMeta__getCompiler errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-casadiMeta_getCompiler :: IO String
-casadiMeta_getCompiler = casadi__CasadiMeta__getCompiler
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__CasadiMeta__getCompilerFlags" c_casadi__CasadiMeta__getCompilerFlags
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__CasadiMeta__getCompilerFlags
-  :: IO String
-casadi__CasadiMeta__getCompilerFlags  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CasadiMeta__getCompilerFlags errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-casadiMeta_getCompilerFlags :: IO String
-casadiMeta_getCompilerFlags = casadi__CasadiMeta__getCompilerFlags
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__CasadiMeta__getCompilerId" c_casadi__CasadiMeta__getCompilerId
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__CasadiMeta__getCompilerId
-  :: IO String
-casadi__CasadiMeta__getCompilerId  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CasadiMeta__getCompilerId errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-casadiMeta_getCompilerId :: IO String
-casadiMeta_getCompilerId = casadi__CasadiMeta__getCompilerId
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__CasadiMeta__getFeatureList" c_casadi__CasadiMeta__getFeatureList
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__CasadiMeta__getFeatureList
-  :: IO String
-casadi__CasadiMeta__getFeatureList  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CasadiMeta__getFeatureList errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-casadiMeta_getFeatureList :: IO String
-casadiMeta_getFeatureList = casadi__CasadiMeta__getFeatureList
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__CasadiMeta__getGitDescribe" c_casadi__CasadiMeta__getGitDescribe
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__CasadiMeta__getGitDescribe
-  :: IO String
-casadi__CasadiMeta__getGitDescribe  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CasadiMeta__getGitDescribe errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-casadiMeta_getGitDescribe :: IO String
-casadiMeta_getGitDescribe = casadi__CasadiMeta__getGitDescribe
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__CasadiMeta__getGitRevision" c_casadi__CasadiMeta__getGitRevision
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__CasadiMeta__getGitRevision
-  :: IO String
-casadi__CasadiMeta__getGitRevision  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CasadiMeta__getGitRevision errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-casadiMeta_getGitRevision :: IO String
-casadiMeta_getGitRevision = casadi__CasadiMeta__getGitRevision
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__CasadiMeta__getInstallPrefix" c_casadi__CasadiMeta__getInstallPrefix
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__CasadiMeta__getInstallPrefix
-  :: IO String
-casadi__CasadiMeta__getInstallPrefix  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CasadiMeta__getInstallPrefix errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-casadiMeta_getInstallPrefix :: IO String
-casadiMeta_getInstallPrefix = casadi__CasadiMeta__getInstallPrefix
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__CasadiMeta__getModules" c_casadi__CasadiMeta__getModules
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__CasadiMeta__getModules
-  :: IO String
-casadi__CasadiMeta__getModules  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CasadiMeta__getModules errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-casadiMeta_getModules :: IO String
-casadiMeta_getModules = casadi__CasadiMeta__getModules
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__CasadiMeta__getPlugins" c_casadi__CasadiMeta__getPlugins
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__CasadiMeta__getPlugins
-  :: IO String
-casadi__CasadiMeta__getPlugins  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CasadiMeta__getPlugins errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-casadiMeta_getPlugins :: IO String
-casadiMeta_getPlugins = casadi__CasadiMeta__getPlugins
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__CasadiMeta__getVersion" c_casadi__CasadiMeta__getVersion
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__CasadiMeta__getVersion
-  :: IO String
-casadi__CasadiMeta__getVersion  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CasadiMeta__getVersion errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-casadiMeta_getVersion :: IO String
-casadiMeta_getVersion = casadi__CasadiMeta__getVersion
-
diff --git a/Casadi/Core/Classes/CodeGenerator.hs b/Casadi/Core/Classes/CodeGenerator.hs
--- a/Casadi/Core/Classes/CodeGenerator.hs
+++ b/Casadi/Core/Classes/CodeGenerator.hs
@@ -11,10 +11,11 @@
          CodeGeneratorClass(..),
          codeGenerator__0,
          codeGenerator__1,
-         codeGenerator_add,
-         codeGenerator_addInclude__0,
-         codeGenerator_addInclude__1,
-         codeGenerator_addInclude__2,
+         codeGenerator_add__0,
+         codeGenerator_add__1,
+         codeGenerator_add_include__0,
+         codeGenerator_add_include__1,
+         codeGenerator_add_include__2,
          codeGenerator_dump,
          codeGenerator_generate__0,
          codeGenerator_generate__1,
@@ -95,17 +96,17 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__CodeGenerator__add" c_casadi__CodeGenerator__add
+foreign import ccall unsafe "casadi__CodeGenerator__add__0" c_casadi__CodeGenerator__add__0
   :: Ptr (Ptr StdString) -> Ptr CodeGenerator' -> Ptr Function' -> IO ()
 
-casadi__CodeGenerator__add
+casadi__CodeGenerator__add__0
   :: CodeGenerator -> Function -> IO ()
-casadi__CodeGenerator__add x0 x1 = do
+casadi__CodeGenerator__add__0 x0 x1 = do
   x0' <- marshal x0
   x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CodeGenerator__add errStrPtrP x0' x1'
+  ret0 <- c_casadi__CodeGenerator__add__0 errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -119,22 +120,53 @@
 
 
 -- classy wrapper
-codeGenerator_add :: CodeGeneratorClass a => a -> Function -> IO ()
-codeGenerator_add x = casadi__CodeGenerator__add (castCodeGenerator x)
+codeGenerator_add__0 :: CodeGeneratorClass a => a -> Function -> IO ()
+codeGenerator_add__0 x = casadi__CodeGenerator__add__0 (castCodeGenerator x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__CodeGenerator__addInclude__0" c_casadi__CodeGenerator__addInclude__0
+foreign import ccall unsafe "casadi__CodeGenerator__add__1" c_casadi__CodeGenerator__add__1
+  :: Ptr (Ptr StdString) -> Ptr CodeGenerator' -> Ptr Function' -> CInt -> IO ()
+
+casadi__CodeGenerator__add__1
+  :: CodeGenerator -> Function -> Bool -> IO ()
+casadi__CodeGenerator__add__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__CodeGenerator__add__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+codeGenerator_add__1 :: CodeGeneratorClass a => a -> Function -> Bool -> IO ()
+codeGenerator_add__1 x = casadi__CodeGenerator__add__1 (castCodeGenerator x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__CodeGenerator__add_include__0" c_casadi__CodeGenerator__add_include__0
   :: Ptr (Ptr StdString) -> Ptr CodeGenerator' -> Ptr StdString -> IO ()
 
-casadi__CodeGenerator__addInclude__0
+casadi__CodeGenerator__add_include__0
   :: CodeGenerator -> String -> IO ()
-casadi__CodeGenerator__addInclude__0 x0 x1 = do
+casadi__CodeGenerator__add_include__0 x0 x1 = do
   x0' <- marshal x0
   x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CodeGenerator__addInclude__0 errStrPtrP x0' x1'
+  ret0 <- c_casadi__CodeGenerator__add_include__0 errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -148,23 +180,23 @@
 
 
 -- classy wrapper
-codeGenerator_addInclude__0 :: CodeGeneratorClass a => a -> String -> IO ()
-codeGenerator_addInclude__0 x = casadi__CodeGenerator__addInclude__0 (castCodeGenerator x)
+codeGenerator_add_include__0 :: CodeGeneratorClass a => a -> String -> IO ()
+codeGenerator_add_include__0 x = casadi__CodeGenerator__add_include__0 (castCodeGenerator x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__CodeGenerator__addInclude__1" c_casadi__CodeGenerator__addInclude__1
+foreign import ccall unsafe "casadi__CodeGenerator__add_include__1" c_casadi__CodeGenerator__add_include__1
   :: Ptr (Ptr StdString) -> Ptr CodeGenerator' -> Ptr StdString -> CInt -> IO ()
 
-casadi__CodeGenerator__addInclude__1
+casadi__CodeGenerator__add_include__1
   :: CodeGenerator -> String -> Bool -> IO ()
-casadi__CodeGenerator__addInclude__1 x0 x1 x2 = do
+casadi__CodeGenerator__add_include__1 x0 x1 x2 = do
   x0' <- marshal x0
   x1' <- marshal x1
   x2' <- marshal x2
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CodeGenerator__addInclude__1 errStrPtrP x0' x1' x2'
+  ret0 <- c_casadi__CodeGenerator__add_include__1 errStrPtrP x0' x1' x2'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -179,24 +211,24 @@
 
 
 -- classy wrapper
-codeGenerator_addInclude__1 :: CodeGeneratorClass a => a -> String -> Bool -> IO ()
-codeGenerator_addInclude__1 x = casadi__CodeGenerator__addInclude__1 (castCodeGenerator x)
+codeGenerator_add_include__1 :: CodeGeneratorClass a => a -> String -> Bool -> IO ()
+codeGenerator_add_include__1 x = casadi__CodeGenerator__add_include__1 (castCodeGenerator x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__CodeGenerator__addInclude__2" c_casadi__CodeGenerator__addInclude__2
+foreign import ccall unsafe "casadi__CodeGenerator__add_include__2" c_casadi__CodeGenerator__add_include__2
   :: Ptr (Ptr StdString) -> Ptr CodeGenerator' -> Ptr StdString -> CInt -> Ptr StdString -> IO ()
 
-casadi__CodeGenerator__addInclude__2
+casadi__CodeGenerator__add_include__2
   :: CodeGenerator -> String -> Bool -> String -> IO ()
-casadi__CodeGenerator__addInclude__2 x0 x1 x2 x3 = do
+casadi__CodeGenerator__add_include__2 x0 x1 x2 x3 = do
   x0' <- marshal x0
   x1' <- marshal x1
   x2' <- marshal x2
   x3' <- marshal x3
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CodeGenerator__addInclude__2 errStrPtrP x0' x1' x2' x3'
+  ret0 <- c_casadi__CodeGenerator__add_include__2 errStrPtrP x0' x1' x2' x3'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -212,8 +244,8 @@
 
 
 -- classy wrapper
-codeGenerator_addInclude__2 :: CodeGeneratorClass a => a -> String -> Bool -> String -> IO ()
-codeGenerator_addInclude__2 x = casadi__CodeGenerator__addInclude__2 (castCodeGenerator x)
+codeGenerator_add_include__2 :: CodeGeneratorClass a => a -> String -> Bool -> String -> IO ()
+codeGenerator_add_include__2 x = casadi__CodeGenerator__add_include__2 (castCodeGenerator x)
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/DM.hs b/Casadi/Core/Classes/DM.hs
--- a/Casadi/Core/Classes/DM.hs
+++ b/Casadi/Core/Classes/DM.hs
@@ -25,5736 +25,4884 @@
          dm_binary,
          dm_clear,
          dm_colind,
-         dm_dep__0,
-         dm_dep__1,
-         dm_dim,
-         dm_element_hash,
-         dm_enlarge__0,
-         dm_enlarge__1,
-         dm_erase__0,
-         dm_erase__1,
-         dm_erase__2,
-         dm_erase__3,
-         dm_eye,
-         dm_getDescription,
-         dm_getEqualityCheckingDepth,
-         dm_getRepresentation,
-         dm_get__0,
-         dm_get__1,
-         dm_get__2,
-         dm_get__3,
-         dm_get__4,
-         dm_get__5,
-         dm_get__6,
-         dm_get_colind,
-         dm_get_free,
-         dm_get_input,
-         dm_get_nonzeros,
-         dm_get_nz__0,
-         dm_get_nz__1,
-         dm_get_row,
-         dm_get_sparsity,
-         dm_grad__0,
-         dm_grad__1,
-         dm_grad__2,
-         dm_grad__3,
-         dm_grad__4,
-         dm_grad__5,
-         dm_grad__6,
-         dm_has_duplicates,
-         dm_has_nz,
-         dm_has_zeros,
-         dm_hess__0,
-         dm_hess__1,
-         dm_hess__2,
-         dm_hess__3,
-         dm_hess__4,
-         dm_hess__5,
-         dm_hess__6,
-         dm_inf__0,
-         dm_inf__1,
-         dm_inf__2,
-         dm_inf__3,
-         dm_inf__4,
-         dm_is_column,
-         dm_is_commutative,
-         dm_is_constant,
-         dm_is_dense,
-         dm_is_empty__0,
-         dm_is_empty__1,
-         dm_is_identity,
-         dm_is_integer,
-         dm_is_leaf,
-         dm_is_minus_one,
-         dm_is_one,
-         dm_is_regular,
-         dm_is_row,
-         dm_is_scalar__0,
-         dm_is_scalar__1,
-         dm_is_smooth,
-         dm_is_square,
-         dm_is_symbolic,
-         dm_is_tril,
-         dm_is_triu,
-         dm_is_valid_input,
-         dm_is_vector,
-         dm_is_zero,
-         dm_jac__0,
-         dm_jac__1,
-         dm_jac__10,
-         dm_jac__11,
-         dm_jac__12,
-         dm_jac__13,
-         dm_jac__14,
-         dm_jac__2,
-         dm_jac__3,
-         dm_jac__4,
-         dm_jac__5,
-         dm_jac__6,
-         dm_jac__7,
-         dm_jac__8,
-         dm_jac__9,
-         dm_matrix_matrix,
-         dm_matrix_scalar,
-         dm_n_dep,
-         dm_name,
-         dm_nan__0,
-         dm_nan__1,
-         dm_nan__2,
-         dm_nan__3,
-         dm_nan__4,
-         dm_nnz,
-         dm_nnz_diag,
-         dm_nnz_lower,
-         dm_nnz_upper,
-         dm_numel__0,
-         dm_numel__1,
-         dm_ones__0,
-         dm_ones__1,
-         dm_ones__2,
-         dm_ones__3,
-         dm_ones__4,
-         dm_operator__minus,
-         dm_operator__plus,
-         dm_operator_double,
-         dm_operator_int,
-         dm_print_dense,
-         dm_print_scalar,
-         dm_print_sparse,
-         dm_print_split,
-         dm_print_vector,
-         dm_printme,
-         dm_remove,
-         dm_reserve__0,
-         dm_reserve__1,
-         dm_resetInput,
-         dm_resize,
-         dm_row,
-         dm_sanity_check__0,
-         dm_sanity_check__1,
-         dm_scalar_matrix,
-         dm_setEqualityCheckingDepth__0,
-         dm_setEqualityCheckingDepth__1,
-         dm_setPrecision,
-         dm_setScientific,
-         dm_setWidth,
-         dm_set__0,
-         dm_set__1,
-         dm_set__2,
-         dm_set__3,
-         dm_set__4,
-         dm_set__5,
-         dm_set__6,
-         dm_set_nz__0,
-         dm_set_nz__1,
-         dm_size1,
-         dm_size2,
-         dm_size__0,
-         dm_size__1,
-         dm_sparsity,
-         dm_sym__0,
-         dm_sym__1,
-         dm_sym__2,
-         dm_sym__3,
-         dm_sym__4,
-         dm_sym__5,
-         dm_sym__6,
-         dm_sym__7,
-         dm_sym__8,
-         dm_tang__0,
-         dm_tang__1,
-         dm_tang__2,
-         dm_tang__3,
-         dm_tang__4,
-         dm_tang__5,
-         dm_tang__6,
-         dm_triplet__0,
-         dm_triplet__1,
-         dm_triplet__2,
-         dm_type_name,
-         dm_unary,
-         dm_zeros__0,
-         dm_zeros__1,
-         dm_zeros__2,
-         dm_zeros__3,
-         dm_zeros__4,
-       ) where
-
-
-import Prelude hiding ( Functor )
-
-import Data.Vector ( Vector )
-import qualified Data.Map as M
-import Foreign.C.Types
-import Foreign.Marshal ( new, free )
-import Foreign.Storable ( peek )
-import Foreign.Ptr ( Ptr, nullPtr )
-import Foreign.ForeignPtr ( newForeignPtr )
-import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
-
-import Casadi.Internal.FormatException ( formatException )
-import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
-import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
-import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-import Casadi.Core.Data
-import Casadi.Core.Enums
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__0" c_casadi__DM__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr DM')
-
-casadi__DM__CONSTRUCTOR__0
-  :: SX -> IO DM
-casadi__DM__CONSTRUCTOR__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__CONSTRUCTOR__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm__0 :: SX -> IO DM
-dm__0 = casadi__DM__CONSTRUCTOR__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__1" c_casadi__DM__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElem')) -> IO (Ptr DM')
-
-casadi__DM__CONSTRUCTOR__1
-  :: Vector SXElem -> IO DM
-casadi__DM__CONSTRUCTOR__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__CONSTRUCTOR__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm__1 :: Vector SXElem -> IO DM
-dm__1 = casadi__DM__CONSTRUCTOR__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__2" c_casadi__DM__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr DM')
-
-casadi__DM__CONSTRUCTOR__2
-  :: IM -> IO DM
-casadi__DM__CONSTRUCTOR__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__CONSTRUCTOR__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm__2 :: IM -> IO DM
-dm__2 = casadi__DM__CONSTRUCTOR__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__3" c_casadi__DM__CONSTRUCTOR__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr DM')
-
-casadi__DM__CONSTRUCTOR__3
-  :: Vector Int -> IO DM
-casadi__DM__CONSTRUCTOR__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__CONSTRUCTOR__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm__3 :: Vector Int -> IO DM
-dm__3 = casadi__DM__CONSTRUCTOR__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__4" c_casadi__DM__CONSTRUCTOR__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec CDouble))) -> IO (Ptr DM')
-
-casadi__DM__CONSTRUCTOR__4
-  :: Vector (Vector Double) -> IO DM
-casadi__DM__CONSTRUCTOR__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__CONSTRUCTOR__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm__4 :: Vector (Vector Double) -> IO DM
-dm__4 = casadi__DM__CONSTRUCTOR__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__5" c_casadi__DM__CONSTRUCTOR__5
-  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr DM')
-
-casadi__DM__CONSTRUCTOR__5
-  :: Double -> IO DM
-casadi__DM__CONSTRUCTOR__5 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__CONSTRUCTOR__5 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm__5 :: Double -> IO DM
-dm__5 = casadi__DM__CONSTRUCTOR__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__6" c_casadi__DM__CONSTRUCTOR__6
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr DM' -> IO (Ptr DM')
-
-casadi__DM__CONSTRUCTOR__6
-  :: Sparsity -> DM -> IO DM
-casadi__DM__CONSTRUCTOR__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__CONSTRUCTOR__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm__6 :: Sparsity -> DM -> IO DM
-dm__6 = casadi__DM__CONSTRUCTOR__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__7" c_casadi__DM__CONSTRUCTOR__7
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DM')
-
-casadi__DM__CONSTRUCTOR__7
-  :: Sparsity -> IO DM
-casadi__DM__CONSTRUCTOR__7 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__CONSTRUCTOR__7 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm__7 :: Sparsity -> IO DM
-dm__7 = casadi__DM__CONSTRUCTOR__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__8" c_casadi__DM__CONSTRUCTOR__8
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__CONSTRUCTOR__8
-  :: Int -> Int -> IO DM
-casadi__DM__CONSTRUCTOR__8 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__CONSTRUCTOR__8 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm__8 :: Int -> Int -> IO DM
-dm__8 = casadi__DM__CONSTRUCTOR__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__9" c_casadi__DM__CONSTRUCTOR__9
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi__DM__CONSTRUCTOR__9
-  :: DM -> IO DM
-casadi__DM__CONSTRUCTOR__9 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__CONSTRUCTOR__9 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm__9 :: DM -> IO DM
-dm__9 = casadi__DM__CONSTRUCTOR__9
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__10" c_casadi__DM__CONSTRUCTOR__10
-  :: Ptr (Ptr StdString) -> IO (Ptr DM')
-
-casadi__DM__CONSTRUCTOR__10
-  :: IO DM
-casadi__DM__CONSTRUCTOR__10  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__CONSTRUCTOR__10 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-dm__10 :: IO DM
-dm__10 = casadi__DM__CONSTRUCTOR__10
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__T" c_casadi__DM__T
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi__DM__T
-  :: DM -> IO DM
-casadi__DM__T x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__T errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_T :: DMClass a => a -> IO DM
-dm_T x = casadi__DM__T (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM____nonzero__" c_casadi__DM____nonzero__
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM____nonzero__
-  :: DM -> IO Bool
-casadi__DM____nonzero__ x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM____nonzero__ errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm___nonzero__ :: DMClass a => a -> IO Bool
-dm___nonzero__ x = casadi__DM____nonzero__ (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__binary" c_casadi__DM__binary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi__DM__binary
-  :: Int -> DM -> DM -> IO DM
-casadi__DM__binary x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__binary errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_binary :: Int -> DM -> DM -> IO DM
-dm_binary = casadi__DM__binary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__clear" c_casadi__DM__clear
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO ()
-
-casadi__DM__clear
-  :: DM -> IO ()
-casadi__DM__clear x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__clear errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-dm_clear :: DMClass a => a -> IO ()
-dm_clear x = casadi__DM__clear (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__colind" c_casadi__DM__colind
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO CInt
-
-casadi__DM__colind
-  :: DM -> Int -> IO Int
-casadi__DM__colind x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__colind errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_colind :: DMClass a => a -> Int -> IO Int
-dm_colind x = casadi__DM__colind (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__dep__0" c_casadi__DM__dep__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi__DM__dep__0
-  :: DM -> IO DM
-casadi__DM__dep__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__dep__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_dep__0 :: DMClass a => a -> IO DM
-dm_dep__0 x = casadi__DM__dep__0 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__dep__1" c_casadi__DM__dep__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO (Ptr DM')
-
-casadi__DM__dep__1
-  :: DM -> Int -> IO DM
-casadi__DM__dep__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__dep__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_dep__1 :: DMClass a => a -> Int -> IO DM
-dm_dep__1 x = casadi__DM__dep__1 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__dim" c_casadi__DM__dim
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr StdString)
-
-casadi__DM__dim
-  :: DM -> IO String
-casadi__DM__dim x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__dim errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_dim :: DMClass a => a -> IO String
-dm_dim x = casadi__DM__dim (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__element_hash" c_casadi__DM__element_hash
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CSize
-
-casadi__DM__element_hash
-  :: DM -> IO CSize
-casadi__DM__element_hash x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__element_hash errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_element_hash :: DMClass a => a -> IO CSize
-dm_element_hash x = casadi__DM__element_hash (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__enlarge__0" c_casadi__DM__enlarge__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-
-casadi__DM__enlarge__0
-  :: DM -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casadi__DM__enlarge__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-dm_enlarge__0 :: DMClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-dm_enlarge__0 x = casadi__DM__enlarge__0 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__enlarge__1" c_casadi__DM__enlarge__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__DM__enlarge__1
-  :: DM -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
-casadi__DM__enlarge__1 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ()
-
-
-
--- classy wrapper
-dm_enlarge__1 :: DMClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
-dm_enlarge__1 x = casadi__DM__enlarge__1 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__erase__0" c_casadi__DM__erase__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CInt) -> IO ()
-
-casadi__DM__erase__0
-  :: DM -> Vector Int -> IO ()
-casadi__DM__erase__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__erase__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-dm_erase__0 :: DMClass a => a -> Vector Int -> IO ()
-dm_erase__0 x = casadi__DM__erase__0 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__erase__1" c_casadi__DM__erase__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__DM__erase__1
-  :: DM -> Vector Int -> Bool -> IO ()
-casadi__DM__erase__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__erase__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-dm_erase__1 :: DMClass a => a -> Vector Int -> Bool -> IO ()
-dm_erase__1 x = casadi__DM__erase__1 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__erase__2" c_casadi__DM__erase__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-
-casadi__DM__erase__2
-  :: DM -> Vector Int -> Vector Int -> IO ()
-casadi__DM__erase__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__erase__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-dm_erase__2 :: DMClass a => a -> Vector Int -> Vector Int -> IO ()
-dm_erase__2 x = casadi__DM__erase__2 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__erase__3" c_casadi__DM__erase__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__DM__erase__3
-  :: DM -> Vector Int -> Vector Int -> Bool -> IO ()
-casadi__DM__erase__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__erase__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-dm_erase__3 :: DMClass a => a -> Vector Int -> Vector Int -> Bool -> IO ()
-dm_erase__3 x = casadi__DM__erase__3 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__eye" c_casadi__DM__eye
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DM')
-
-casadi__DM__eye
-  :: Int -> IO DM
-casadi__DM__eye x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__eye errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_eye :: Int -> IO DM
-dm_eye = casadi__DM__eye
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get__0" c_casadi__DM__get__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
-
-casadi__DM__get__0
-  :: DM -> Bool -> IM -> IM -> IO (DM)
-casadi__DM__get__0 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get__0 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get__0/c_casadi__DM__get__0" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-dm_get__0 :: DMClass a => a -> Bool -> IM -> IM -> IO (DM)
-dm_get__0 x = casadi__DM__get__0 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get__1" c_casadi__DM__get__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
-
-casadi__DM__get__1
-  :: DM -> Bool -> IM -> Slice -> IO (DM)
-casadi__DM__get__1 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get__1 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get__1/c_casadi__DM__get__1" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-dm_get__1 :: DMClass a => a -> Bool -> IM -> Slice -> IO (DM)
-dm_get__1 x = casadi__DM__get__1 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get__2" c_casadi__DM__get__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
-
-casadi__DM__get__2
-  :: DM -> Bool -> Slice -> IM -> IO (DM)
-casadi__DM__get__2 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get__2 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get__2/c_casadi__DM__get__2" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-dm_get__2 :: DMClass a => a -> Bool -> Slice -> IM -> IO (DM)
-dm_get__2 x = casadi__DM__get__2 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get__3" c_casadi__DM__get__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
-
-casadi__DM__get__3
-  :: DM -> Bool -> Slice -> Slice -> IO (DM)
-casadi__DM__get__3 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get__3 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get__3/c_casadi__DM__get__3" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-dm_get__3 :: DMClass a => a -> Bool -> Slice -> Slice -> IO (DM)
-dm_get__3 x = casadi__DM__get__3 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get__4" c_casadi__DM__get__4
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr Sparsity' -> IO ()
-
-casadi__DM__get__4
-  :: DM -> Bool -> Sparsity -> IO (DM)
-casadi__DM__get__4 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get__4 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get__4/c_casadi__DM__get__4" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-dm_get__4 :: DMClass a => a -> Bool -> Sparsity -> IO (DM)
-dm_get__4 x = casadi__DM__get__4 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get__5" c_casadi__DM__get__5
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr IM' -> IO ()
-
-casadi__DM__get__5
-  :: DM -> Bool -> IM -> IO (DM)
-casadi__DM__get__5 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get__5 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get__5/c_casadi__DM__get__5" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-dm_get__5 :: DMClass a => a -> Bool -> IM -> IO (DM)
-dm_get__5 x = casadi__DM__get__5 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get__6" c_casadi__DM__get__6
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr Slice' -> IO ()
-
-casadi__DM__get__6
-  :: DM -> Bool -> Slice -> IO (DM)
-casadi__DM__get__6 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get__6 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get__6/c_casadi__DM__get__6" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-dm_get__6 :: DMClass a => a -> Bool -> Slice -> IO (DM)
-dm_get__6 x = casadi__DM__get__6 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__getEqualityCheckingDepth" c_casadi__DM__getEqualityCheckingDepth
-  :: Ptr (Ptr StdString) -> IO CInt
-
-casadi__DM__getEqualityCheckingDepth
-  :: IO Int
-casadi__DM__getEqualityCheckingDepth  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__getEqualityCheckingDepth errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-dm_getEqualityCheckingDepth :: IO Int
-dm_getEqualityCheckingDepth = casadi__DM__getEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get_colind" c_casadi__DM__get_colind
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec CInt))
-
-casadi__DM__get_colind
-  :: DM -> IO (Vector Int)
-casadi__DM__get_colind x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get_colind errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_get_colind :: DMClass a => a -> IO (Vector Int)
-dm_get_colind x = casadi__DM__get_colind (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get_free" c_casadi__DM__get_free
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi__DM__get_free
-  :: Function -> IO (Vector DM)
-casadi__DM__get_free x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get_free errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_get_free :: Function -> IO (Vector DM)
-dm_get_free = casadi__DM__get_free
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get_input" c_casadi__DM__get_input
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi__DM__get_input
-  :: Function -> IO (Vector DM)
-casadi__DM__get_input x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get_input errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_get_input :: Function -> IO (Vector DM)
-dm_get_input = casadi__DM__get_input
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get_nonzeros" c_casadi__DM__get_nonzeros
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec CDouble))
-
-casadi__DM__get_nonzeros
-  :: DM -> IO (Vector Double)
-casadi__DM__get_nonzeros x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get_nonzeros errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_get_nonzeros :: DMClass a => a -> IO (Vector Double)
-dm_get_nonzeros x = casadi__DM__get_nonzeros (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get_nz__0" c_casadi__DM__get_nz__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr IM' -> IO ()
-
-casadi__DM__get_nz__0
-  :: DM -> Bool -> IM -> IO (DM)
-casadi__DM__get_nz__0 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get_nz__0 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get_nz__0/c_casadi__DM__get_nz__0" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-dm_get_nz__0 :: DMClass a => a -> Bool -> IM -> IO (DM)
-dm_get_nz__0 x = casadi__DM__get_nz__0 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get_nz__1" c_casadi__DM__get_nz__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr Slice' -> IO ()
-
-casadi__DM__get_nz__1
-  :: DM -> Bool -> Slice -> IO (DM)
-casadi__DM__get_nz__1 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get_nz__1 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get_nz__1/c_casadi__DM__get_nz__1" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-dm_get_nz__1 :: DMClass a => a -> Bool -> Slice -> IO (DM)
-dm_get_nz__1 x = casadi__DM__get_nz__1 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get_row" c_casadi__DM__get_row
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec CInt))
-
-casadi__DM__get_row
-  :: DM -> IO (Vector Int)
-casadi__DM__get_row x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get_row errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_get_row :: DMClass a => a -> IO (Vector Int)
-dm_get_row x = casadi__DM__get_row (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__get_sparsity" c_casadi__DM__get_sparsity
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr Sparsity')
-
-casadi__DM__get_sparsity
-  :: DM -> IO Sparsity
-casadi__DM__get_sparsity x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__get_sparsity errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_get_sparsity :: DMClass a => a -> IO Sparsity
-dm_get_sparsity x = casadi__DM__get_sparsity (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__grad__0" c_casadi__DM__grad__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr DM')
-
-casadi__DM__grad__0
-  :: Function -> String -> String -> IO DM
-casadi__DM__grad__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__grad__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_grad__0 :: Function -> String -> String -> IO DM
-dm_grad__0 = casadi__DM__grad__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__grad__1" c_casadi__DM__grad__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr DM')
-
-casadi__DM__grad__1
-  :: Function -> Int -> String -> IO DM
-casadi__DM__grad__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__grad__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_grad__1 :: Function -> Int -> String -> IO DM
-dm_grad__1 = casadi__DM__grad__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__grad__2" c_casadi__DM__grad__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr DM')
-
-casadi__DM__grad__2
-  :: Function -> String -> IO DM
-casadi__DM__grad__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__grad__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_grad__2 :: Function -> String -> IO DM
-dm_grad__2 = casadi__DM__grad__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__grad__3" c_casadi__DM__grad__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr DM')
-
-casadi__DM__grad__3
-  :: Function -> String -> Int -> IO DM
-casadi__DM__grad__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__grad__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_grad__3 :: Function -> String -> Int -> IO DM
-dm_grad__3 = casadi__DM__grad__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__grad__4" c_casadi__DM__grad__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr DM')
-
-casadi__DM__grad__4
-  :: Function -> IO DM
-casadi__DM__grad__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__grad__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_grad__4 :: Function -> IO DM
-dm_grad__4 = casadi__DM__grad__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__grad__5" c_casadi__DM__grad__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr DM')
-
-casadi__DM__grad__5
-  :: Function -> Int -> IO DM
-casadi__DM__grad__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__grad__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_grad__5 :: Function -> Int -> IO DM
-dm_grad__5 = casadi__DM__grad__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__grad__6" c_casadi__DM__grad__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__grad__6
-  :: Function -> Int -> Int -> IO DM
-casadi__DM__grad__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__grad__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_grad__6 :: Function -> Int -> Int -> IO DM
-dm_grad__6 = casadi__DM__grad__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__has_duplicates" c_casadi__DM__has_duplicates
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__has_duplicates
-  :: DM -> IO Bool
-casadi__DM__has_duplicates x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__has_duplicates errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_has_duplicates :: DMClass a => a -> IO Bool
-dm_has_duplicates x = casadi__DM__has_duplicates (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__has_nz" c_casadi__DM__has_nz
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> CInt -> IO CInt
-
-casadi__DM__has_nz
-  :: DM -> Int -> Int -> IO Bool
-casadi__DM__has_nz x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__has_nz errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_has_nz :: DMClass a => a -> Int -> Int -> IO Bool
-dm_has_nz x = casadi__DM__has_nz (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__has_zeros" c_casadi__DM__has_zeros
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__has_zeros
-  :: DM -> IO Bool
-casadi__DM__has_zeros x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__has_zeros errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_has_zeros :: DMClass a => a -> IO Bool
-dm_has_zeros x = casadi__DM__has_zeros (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__hess__0" c_casadi__DM__hess__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr DM')
-
-casadi__DM__hess__0
-  :: Function -> String -> String -> IO DM
-casadi__DM__hess__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__hess__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_hess__0 :: Function -> String -> String -> IO DM
-dm_hess__0 = casadi__DM__hess__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__hess__1" c_casadi__DM__hess__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr DM')
-
-casadi__DM__hess__1
-  :: Function -> Int -> String -> IO DM
-casadi__DM__hess__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__hess__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_hess__1 :: Function -> Int -> String -> IO DM
-dm_hess__1 = casadi__DM__hess__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__hess__2" c_casadi__DM__hess__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr DM')
-
-casadi__DM__hess__2
-  :: Function -> String -> IO DM
-casadi__DM__hess__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__hess__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_hess__2 :: Function -> String -> IO DM
-dm_hess__2 = casadi__DM__hess__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__hess__3" c_casadi__DM__hess__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr DM')
-
-casadi__DM__hess__3
-  :: Function -> String -> Int -> IO DM
-casadi__DM__hess__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__hess__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_hess__3 :: Function -> String -> Int -> IO DM
-dm_hess__3 = casadi__DM__hess__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__hess__4" c_casadi__DM__hess__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr DM')
-
-casadi__DM__hess__4
-  :: Function -> IO DM
-casadi__DM__hess__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__hess__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_hess__4 :: Function -> IO DM
-dm_hess__4 = casadi__DM__hess__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__hess__5" c_casadi__DM__hess__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr DM')
-
-casadi__DM__hess__5
-  :: Function -> Int -> IO DM
-casadi__DM__hess__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__hess__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_hess__5 :: Function -> Int -> IO DM
-dm_hess__5 = casadi__DM__hess__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__hess__6" c_casadi__DM__hess__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__hess__6
-  :: Function -> Int -> Int -> IO DM
-casadi__DM__hess__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__hess__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_hess__6 :: Function -> Int -> Int -> IO DM
-dm_hess__6 = casadi__DM__hess__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__inf__0" c_casadi__DM__inf__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr DM')
-
-casadi__DM__inf__0
-  :: (Int, Int) -> IO DM
-casadi__DM__inf__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__inf__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_inf__0 :: (Int, Int) -> IO DM
-dm_inf__0 = casadi__DM__inf__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__inf__1" c_casadi__DM__inf__1
-  :: Ptr (Ptr StdString) -> IO (Ptr DM')
-
-casadi__DM__inf__1
-  :: IO DM
-casadi__DM__inf__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__inf__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-dm_inf__1 :: IO DM
-dm_inf__1 = casadi__DM__inf__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__inf__2" c_casadi__DM__inf__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DM')
-
-casadi__DM__inf__2
-  :: Int -> IO DM
-casadi__DM__inf__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__inf__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_inf__2 :: Int -> IO DM
-dm_inf__2 = casadi__DM__inf__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__inf__3" c_casadi__DM__inf__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__inf__3
-  :: Int -> Int -> IO DM
-casadi__DM__inf__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__inf__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_inf__3 :: Int -> Int -> IO DM
-dm_inf__3 = casadi__DM__inf__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__inf__4" c_casadi__DM__inf__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DM')
-
-casadi__DM__inf__4
-  :: Sparsity -> IO DM
-casadi__DM__inf__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__inf__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_inf__4 :: Sparsity -> IO DM
-dm_inf__4 = casadi__DM__inf__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_column" c_casadi__DM__is_column
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_column
-  :: DM -> IO Bool
-casadi__DM__is_column x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_column errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_column :: DMClass a => a -> IO Bool
-dm_is_column x = casadi__DM__is_column (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_commutative" c_casadi__DM__is_commutative
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_commutative
-  :: DM -> IO Bool
-casadi__DM__is_commutative x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_commutative errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_commutative :: DMClass a => a -> IO Bool
-dm_is_commutative x = casadi__DM__is_commutative (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_constant" c_casadi__DM__is_constant
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_constant
-  :: DM -> IO Bool
-casadi__DM__is_constant x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_constant errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_constant :: DMClass a => a -> IO Bool
-dm_is_constant x = casadi__DM__is_constant (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_dense" c_casadi__DM__is_dense
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_dense
-  :: DM -> IO Bool
-casadi__DM__is_dense x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_dense errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_dense :: DMClass a => a -> IO Bool
-dm_is_dense x = casadi__DM__is_dense (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_empty__0" c_casadi__DM__is_empty__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_empty__0
-  :: DM -> IO Bool
-casadi__DM__is_empty__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_empty__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_empty__0 :: DMClass a => a -> IO Bool
-dm_is_empty__0 x = casadi__DM__is_empty__0 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_empty__1" c_casadi__DM__is_empty__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO CInt
-
-casadi__DM__is_empty__1
-  :: DM -> Bool -> IO Bool
-casadi__DM__is_empty__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_empty__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_empty__1 :: DMClass a => a -> Bool -> IO Bool
-dm_is_empty__1 x = casadi__DM__is_empty__1 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_identity" c_casadi__DM__is_identity
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_identity
-  :: DM -> IO Bool
-casadi__DM__is_identity x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_identity errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_identity :: DMClass a => a -> IO Bool
-dm_is_identity x = casadi__DM__is_identity (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_integer" c_casadi__DM__is_integer
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_integer
-  :: DM -> IO Bool
-casadi__DM__is_integer x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_integer errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_integer :: DMClass a => a -> IO Bool
-dm_is_integer x = casadi__DM__is_integer (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_leaf" c_casadi__DM__is_leaf
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_leaf
-  :: DM -> IO Bool
-casadi__DM__is_leaf x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_leaf errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_leaf :: DMClass a => a -> IO Bool
-dm_is_leaf x = casadi__DM__is_leaf (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_minus_one" c_casadi__DM__is_minus_one
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_minus_one
-  :: DM -> IO Bool
-casadi__DM__is_minus_one x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_minus_one errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_minus_one :: DMClass a => a -> IO Bool
-dm_is_minus_one x = casadi__DM__is_minus_one (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_one" c_casadi__DM__is_one
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_one
-  :: DM -> IO Bool
-casadi__DM__is_one x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_one errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_one :: DMClass a => a -> IO Bool
-dm_is_one x = casadi__DM__is_one (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_regular" c_casadi__DM__is_regular
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_regular
-  :: DM -> IO Bool
-casadi__DM__is_regular x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_regular errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_regular :: DMClass a => a -> IO Bool
-dm_is_regular x = casadi__DM__is_regular (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_row" c_casadi__DM__is_row
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_row
-  :: DM -> IO Bool
-casadi__DM__is_row x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_row errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_row :: DMClass a => a -> IO Bool
-dm_is_row x = casadi__DM__is_row (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_scalar__0" c_casadi__DM__is_scalar__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_scalar__0
-  :: DM -> IO Bool
-casadi__DM__is_scalar__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_scalar__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_scalar__0 :: DMClass a => a -> IO Bool
-dm_is_scalar__0 x = casadi__DM__is_scalar__0 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_scalar__1" c_casadi__DM__is_scalar__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO CInt
-
-casadi__DM__is_scalar__1
-  :: DM -> Bool -> IO Bool
-casadi__DM__is_scalar__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_scalar__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_scalar__1 :: DMClass a => a -> Bool -> IO Bool
-dm_is_scalar__1 x = casadi__DM__is_scalar__1 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_smooth" c_casadi__DM__is_smooth
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_smooth
-  :: DM -> IO Bool
-casadi__DM__is_smooth x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_smooth errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_smooth :: DMClass a => a -> IO Bool
-dm_is_smooth x = casadi__DM__is_smooth (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_square" c_casadi__DM__is_square
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_square
-  :: DM -> IO Bool
-casadi__DM__is_square x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_square errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_square :: DMClass a => a -> IO Bool
-dm_is_square x = casadi__DM__is_square (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_symbolic" c_casadi__DM__is_symbolic
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_symbolic
-  :: DM -> IO Bool
-casadi__DM__is_symbolic x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_symbolic errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_symbolic :: DMClass a => a -> IO Bool
-dm_is_symbolic x = casadi__DM__is_symbolic (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_tril" c_casadi__DM__is_tril
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_tril
-  :: DM -> IO Bool
-casadi__DM__is_tril x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_tril errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_tril :: DMClass a => a -> IO Bool
-dm_is_tril x = casadi__DM__is_tril (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_triu" c_casadi__DM__is_triu
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_triu
-  :: DM -> IO Bool
-casadi__DM__is_triu x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_triu errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_triu :: DMClass a => a -> IO Bool
-dm_is_triu x = casadi__DM__is_triu (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_valid_input" c_casadi__DM__is_valid_input
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_valid_input
-  :: DM -> IO Bool
-casadi__DM__is_valid_input x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_valid_input errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_valid_input :: DMClass a => a -> IO Bool
-dm_is_valid_input x = casadi__DM__is_valid_input (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_vector" c_casadi__DM__is_vector
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_vector
-  :: DM -> IO Bool
-casadi__DM__is_vector x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_vector errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_vector :: DMClass a => a -> IO Bool
-dm_is_vector x = casadi__DM__is_vector (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__is_zero" c_casadi__DM__is_zero
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__is_zero
-  :: DM -> IO Bool
-casadi__DM__is_zero x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__is_zero errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_is_zero :: DMClass a => a -> IO Bool
-dm_is_zero x = casadi__DM__is_zero (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__0" c_casadi__DM__jac__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr DM')
-
-casadi__DM__jac__0
-  :: Function -> String -> String -> IO DM
-casadi__DM__jac__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__0 :: Function -> String -> String -> IO DM
-dm_jac__0 = casadi__DM__jac__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__1" c_casadi__DM__jac__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> IO (Ptr DM')
-
-casadi__DM__jac__1
-  :: Function -> String -> String -> Bool -> IO DM
-casadi__DM__jac__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__1 :: Function -> String -> String -> Bool -> IO DM
-dm_jac__1 = casadi__DM__jac__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__2" c_casadi__DM__jac__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__jac__2
-  :: Function -> String -> String -> Bool -> Bool -> IO DM
-casadi__DM__jac__2 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__2 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__2 :: Function -> String -> String -> Bool -> Bool -> IO DM
-dm_jac__2 = casadi__DM__jac__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__3" c_casadi__DM__jac__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr DM')
-
-casadi__DM__jac__3
-  :: Function -> Int -> String -> IO DM
-casadi__DM__jac__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__3 :: Function -> Int -> String -> IO DM
-dm_jac__3 = casadi__DM__jac__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__4" c_casadi__DM__jac__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> CInt -> IO (Ptr DM')
-
-casadi__DM__jac__4
-  :: Function -> Int -> String -> Bool -> IO DM
-casadi__DM__jac__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__4 :: Function -> Int -> String -> Bool -> IO DM
-dm_jac__4 = casadi__DM__jac__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__5" c_casadi__DM__jac__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__jac__5
-  :: Function -> Int -> String -> Bool -> Bool -> IO DM
-casadi__DM__jac__5 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__5 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__5 :: Function -> Int -> String -> Bool -> Bool -> IO DM
-dm_jac__5 = casadi__DM__jac__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__6" c_casadi__DM__jac__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr DM')
-
-casadi__DM__jac__6
-  :: Function -> String -> IO DM
-casadi__DM__jac__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__6 :: Function -> String -> IO DM
-dm_jac__6 = casadi__DM__jac__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__7" c_casadi__DM__jac__7
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr DM')
-
-casadi__DM__jac__7
-  :: Function -> String -> Int -> IO DM
-casadi__DM__jac__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__7 :: Function -> String -> Int -> IO DM
-dm_jac__7 = casadi__DM__jac__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__8" c_casadi__DM__jac__8
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__jac__8
-  :: Function -> String -> Int -> Bool -> IO DM
-casadi__DM__jac__8 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__8 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__8 :: Function -> String -> Int -> Bool -> IO DM
-dm_jac__8 = casadi__DM__jac__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__9" c_casadi__DM__jac__9
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__jac__9
-  :: Function -> String -> Int -> Bool -> Bool -> IO DM
-casadi__DM__jac__9 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__9 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__9 :: Function -> String -> Int -> Bool -> Bool -> IO DM
-dm_jac__9 = casadi__DM__jac__9
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__10" c_casadi__DM__jac__10
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr DM')
-
-casadi__DM__jac__10
-  :: Function -> IO DM
-casadi__DM__jac__10 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__10 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__10 :: Function -> IO DM
-dm_jac__10 = casadi__DM__jac__10
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__11" c_casadi__DM__jac__11
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr DM')
-
-casadi__DM__jac__11
-  :: Function -> Int -> IO DM
-casadi__DM__jac__11 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__11 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__11 :: Function -> Int -> IO DM
-dm_jac__11 = casadi__DM__jac__11
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__12" c_casadi__DM__jac__12
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__jac__12
-  :: Function -> Int -> Int -> IO DM
-casadi__DM__jac__12 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__12 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__12 :: Function -> Int -> Int -> IO DM
-dm_jac__12 = casadi__DM__jac__12
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__13" c_casadi__DM__jac__13
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__jac__13
-  :: Function -> Int -> Int -> Bool -> IO DM
-casadi__DM__jac__13 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__13 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__13 :: Function -> Int -> Int -> Bool -> IO DM
-dm_jac__13 = casadi__DM__jac__13
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__jac__14" c_casadi__DM__jac__14
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__jac__14
-  :: Function -> Int -> Int -> Bool -> Bool -> IO DM
-casadi__DM__jac__14 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__jac__14 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-dm_jac__14 :: Function -> Int -> Int -> Bool -> Bool -> IO DM
-dm_jac__14 = casadi__DM__jac__14
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__matrix_matrix" c_casadi__DM__matrix_matrix
-  :: Ptr (Ptr StdString) -> CInt -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi__DM__matrix_matrix
-  :: Int -> DM -> DM -> IO DM
-casadi__DM__matrix_matrix x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__matrix_matrix errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_matrix_matrix :: Int -> DM -> DM -> IO DM
-dm_matrix_matrix = casadi__DM__matrix_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__matrix_scalar" c_casadi__DM__matrix_scalar
-  :: Ptr (Ptr StdString) -> CInt -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi__DM__matrix_scalar
-  :: Int -> DM -> DM -> IO DM
-casadi__DM__matrix_scalar x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__matrix_scalar errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_matrix_scalar :: Int -> DM -> DM -> IO DM
-dm_matrix_scalar = casadi__DM__matrix_scalar
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__n_dep" c_casadi__DM__n_dep
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__n_dep
-  :: DM -> IO Int
-casadi__DM__n_dep x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__n_dep errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_n_dep :: DMClass a => a -> IO Int
-dm_n_dep x = casadi__DM__n_dep (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__name" c_casadi__DM__name
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr StdString)
-
-casadi__DM__name
-  :: DM -> IO String
-casadi__DM__name x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__name errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_name :: DMClass a => a -> IO String
-dm_name x = casadi__DM__name (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__nan__0" c_casadi__DM__nan__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr DM')
-
-casadi__DM__nan__0
-  :: (Int, Int) -> IO DM
-casadi__DM__nan__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__nan__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_nan__0 :: (Int, Int) -> IO DM
-dm_nan__0 = casadi__DM__nan__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__nan__1" c_casadi__DM__nan__1
-  :: Ptr (Ptr StdString) -> IO (Ptr DM')
-
-casadi__DM__nan__1
-  :: IO DM
-casadi__DM__nan__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__nan__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-dm_nan__1 :: IO DM
-dm_nan__1 = casadi__DM__nan__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__nan__2" c_casadi__DM__nan__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DM')
-
-casadi__DM__nan__2
-  :: Int -> IO DM
-casadi__DM__nan__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__nan__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_nan__2 :: Int -> IO DM
-dm_nan__2 = casadi__DM__nan__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__nan__3" c_casadi__DM__nan__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__nan__3
-  :: Int -> Int -> IO DM
-casadi__DM__nan__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__nan__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_nan__3 :: Int -> Int -> IO DM
-dm_nan__3 = casadi__DM__nan__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__nan__4" c_casadi__DM__nan__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DM')
-
-casadi__DM__nan__4
-  :: Sparsity -> IO DM
-casadi__DM__nan__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__nan__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_nan__4 :: Sparsity -> IO DM
-dm_nan__4 = casadi__DM__nan__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__nnz" c_casadi__DM__nnz
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__nnz
-  :: DM -> IO Int
-casadi__DM__nnz x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__nnz errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_nnz :: DMClass a => a -> IO Int
-dm_nnz x = casadi__DM__nnz (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__nnz_diag" c_casadi__DM__nnz_diag
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__nnz_diag
-  :: DM -> IO Int
-casadi__DM__nnz_diag x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__nnz_diag errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_nnz_diag :: DMClass a => a -> IO Int
-dm_nnz_diag x = casadi__DM__nnz_diag (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__nnz_lower" c_casadi__DM__nnz_lower
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__nnz_lower
-  :: DM -> IO Int
-casadi__DM__nnz_lower x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__nnz_lower errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_nnz_lower :: DMClass a => a -> IO Int
-dm_nnz_lower x = casadi__DM__nnz_lower (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__nnz_upper" c_casadi__DM__nnz_upper
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__nnz_upper
-  :: DM -> IO Int
-casadi__DM__nnz_upper x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__nnz_upper errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_nnz_upper :: DMClass a => a -> IO Int
-dm_nnz_upper x = casadi__DM__nnz_upper (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__numel__0" c_casadi__DM__numel__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO CInt
-
-casadi__DM__numel__0
-  :: DM -> Int -> IO Int
-casadi__DM__numel__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__numel__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_numel__0 :: DMClass a => a -> Int -> IO Int
-dm_numel__0 x = casadi__DM__numel__0 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__numel__1" c_casadi__DM__numel__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__numel__1
-  :: DM -> IO Int
-casadi__DM__numel__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__numel__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_numel__1 :: DMClass a => a -> IO Int
-dm_numel__1 x = casadi__DM__numel__1 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__ones__0" c_casadi__DM__ones__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr DM')
-
-casadi__DM__ones__0
-  :: (Int, Int) -> IO DM
-casadi__DM__ones__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__ones__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_ones__0 :: (Int, Int) -> IO DM
-dm_ones__0 = casadi__DM__ones__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__ones__1" c_casadi__DM__ones__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DM')
-
-casadi__DM__ones__1
-  :: Sparsity -> IO DM
-casadi__DM__ones__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__ones__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_ones__1 :: Sparsity -> IO DM
-dm_ones__1 = casadi__DM__ones__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__ones__2" c_casadi__DM__ones__2
-  :: Ptr (Ptr StdString) -> IO (Ptr DM')
-
-casadi__DM__ones__2
-  :: IO DM
-casadi__DM__ones__2  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__ones__2 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-dm_ones__2 :: IO DM
-dm_ones__2 = casadi__DM__ones__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__ones__3" c_casadi__DM__ones__3
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DM')
-
-casadi__DM__ones__3
-  :: Int -> IO DM
-casadi__DM__ones__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__ones__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_ones__3 :: Int -> IO DM
-dm_ones__3 = casadi__DM__ones__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__ones__4" c_casadi__DM__ones__4
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__ones__4
-  :: Int -> Int -> IO DM
-casadi__DM__ones__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__ones__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_ones__4 :: Int -> Int -> IO DM
-dm_ones__4 = casadi__DM__ones__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__operator__plus" c_casadi__DM__operator__plus
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi__DM__operator__plus
-  :: DM -> IO DM
-casadi__DM__operator__plus x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__operator__plus errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_operator__plus :: DMClass a => a -> IO DM
-dm_operator__plus x = casadi__DM__operator__plus (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__operator__minus" c_casadi__DM__operator__minus
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi__DM__operator__minus
-  :: DM -> IO DM
-casadi__DM__operator__minus x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__operator__minus errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_operator__minus :: DMClass a => a -> IO DM
-dm_operator__minus x = casadi__DM__operator__minus (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__operator_double" c_casadi__DM__operator_double
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CDouble
-
-casadi__DM__operator_double
-  :: DM -> IO Double
-casadi__DM__operator_double x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__operator_double errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_operator_double :: DMClass a => a -> IO Double
-dm_operator_double x = casadi__DM__operator_double (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__operator_int" c_casadi__DM__operator_int
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__operator_int
-  :: DM -> IO Int
-casadi__DM__operator_int x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__operator_int errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_operator_int :: DMClass a => a -> IO Int
-dm_operator_int x = casadi__DM__operator_int (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__print_dense" c_casadi__DM__print_dense
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO ()
-
-casadi__DM__print_dense
-  :: DM -> IO ()
-casadi__DM__print_dense x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__print_dense errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-dm_print_dense :: DMClass a => a -> IO ()
-dm_print_dense x = casadi__DM__print_dense (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__print_scalar" c_casadi__DM__print_scalar
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO ()
-
-casadi__DM__print_scalar
-  :: DM -> IO ()
-casadi__DM__print_scalar x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__print_scalar errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-dm_print_scalar :: DMClass a => a -> IO ()
-dm_print_scalar x = casadi__DM__print_scalar (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__print_sparse" c_casadi__DM__print_sparse
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO ()
-
-casadi__DM__print_sparse
-  :: DM -> IO ()
-casadi__DM__print_sparse x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__print_sparse errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-dm_print_sparse :: DMClass a => a -> IO ()
-dm_print_sparse x = casadi__DM__print_sparse (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__print_split" c_casadi__DM__print_split
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr (StdVec (Ptr StdString))) -> Ptr (Ptr (StdVec (Ptr StdString))) -> IO ()
-
-casadi__DM__print_split
-  :: DM -> IO (Vector String, Vector String)
-casadi__DM__print_split x0 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__print_split errStrPtrP x0' o1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__print_split/c_casadi__DM__print_split" else wrapReturn o1''
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__DM__print_split/c_casadi__DM__print_split" else wrapReturn o2''
-
-  return (o1''', o2''')
-
-
-
--- classy wrapper
-dm_print_split :: DMClass a => a -> IO (Vector String, Vector String)
-dm_print_split x = casadi__DM__print_split (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__print_vector" c_casadi__DM__print_vector
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO ()
-
-casadi__DM__print_vector
-  :: DM -> IO ()
-casadi__DM__print_vector x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__print_vector errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-dm_print_vector :: DMClass a => a -> IO ()
-dm_print_vector x = casadi__DM__print_vector (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__printme" c_casadi__DM__printme
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi__DM__printme
-  :: DM -> DM -> IO DM
-casadi__DM__printme x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__printme errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_printme :: DMClass a => a -> DM -> IO DM
-dm_printme x = casadi__DM__printme (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__remove" c_casadi__DM__remove
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-
-casadi__DM__remove
-  :: DM -> Vector Int -> Vector Int -> IO ()
-casadi__DM__remove x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__remove errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-dm_remove :: DMClass a => a -> Vector Int -> Vector Int -> IO ()
-dm_remove x = casadi__DM__remove (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__reserve__0" c_casadi__DM__reserve__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> CInt -> IO ()
-
-casadi__DM__reserve__0
-  :: DM -> Int -> Int -> IO ()
-casadi__DM__reserve__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__reserve__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-dm_reserve__0 :: DMClass a => a -> Int -> Int -> IO ()
-dm_reserve__0 x = casadi__DM__reserve__0 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__reserve__1" c_casadi__DM__reserve__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO ()
-
-casadi__DM__reserve__1
-  :: DM -> Int -> IO ()
-casadi__DM__reserve__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__reserve__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-dm_reserve__1 :: DMClass a => a -> Int -> IO ()
-dm_reserve__1 x = casadi__DM__reserve__1 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__resetInput" c_casadi__DM__resetInput
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO ()
-
-casadi__DM__resetInput
-  :: DM -> IO ()
-casadi__DM__resetInput x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__resetInput errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-dm_resetInput :: DMClass a => a -> IO ()
-dm_resetInput x = casadi__DM__resetInput (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__resize" c_casadi__DM__resize
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> CInt -> IO ()
-
-casadi__DM__resize
-  :: DM -> Int -> Int -> IO ()
-casadi__DM__resize x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__resize errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-dm_resize :: DMClass a => a -> Int -> Int -> IO ()
-dm_resize x = casadi__DM__resize (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__row" c_casadi__DM__row
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO CInt
-
-casadi__DM__row
-  :: DM -> Int -> IO Int
-casadi__DM__row x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__row errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_row :: DMClass a => a -> Int -> IO Int
-dm_row x = casadi__DM__row (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__sanity_check__0" c_casadi__DM__sanity_check__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO ()
-
-casadi__DM__sanity_check__0
-  :: DM -> IO ()
-casadi__DM__sanity_check__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__sanity_check__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-dm_sanity_check__0 :: DMClass a => a -> IO ()
-dm_sanity_check__0 x = casadi__DM__sanity_check__0 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__sanity_check__1" c_casadi__DM__sanity_check__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO ()
-
-casadi__DM__sanity_check__1
-  :: DM -> Bool -> IO ()
-casadi__DM__sanity_check__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__sanity_check__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-dm_sanity_check__1 :: DMClass a => a -> Bool -> IO ()
-dm_sanity_check__1 x = casadi__DM__sanity_check__1 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__scalar_matrix" c_casadi__DM__scalar_matrix
-  :: Ptr (Ptr StdString) -> CInt -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi__DM__scalar_matrix
-  :: Int -> DM -> DM -> IO DM
-casadi__DM__scalar_matrix x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__scalar_matrix errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_scalar_matrix :: Int -> DM -> DM -> IO DM
-dm_scalar_matrix = casadi__DM__scalar_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__set__0" c_casadi__DM__set__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
-
-casadi__DM__set__0
-  :: DM -> DM -> Bool -> IM -> IM -> IO ()
-casadi__DM__set__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__set__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-dm_set__0 :: DMClass a => a -> DM -> Bool -> IM -> IM -> IO ()
-dm_set__0 x = casadi__DM__set__0 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__set__1" c_casadi__DM__set__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
-
-casadi__DM__set__1
-  :: DM -> DM -> Bool -> IM -> Slice -> IO ()
-casadi__DM__set__1 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__set__1 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-dm_set__1 :: DMClass a => a -> DM -> Bool -> IM -> Slice -> IO ()
-dm_set__1 x = casadi__DM__set__1 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__set__2" c_casadi__DM__set__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
-
-casadi__DM__set__2
-  :: DM -> DM -> Bool -> Slice -> IM -> IO ()
-casadi__DM__set__2 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__set__2 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-dm_set__2 :: DMClass a => a -> DM -> Bool -> Slice -> IM -> IO ()
-dm_set__2 x = casadi__DM__set__2 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__set__3" c_casadi__DM__set__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
-
-casadi__DM__set__3
-  :: DM -> DM -> Bool -> Slice -> Slice -> IO ()
-casadi__DM__set__3 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__set__3 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-dm_set__3 :: DMClass a => a -> DM -> Bool -> Slice -> Slice -> IO ()
-dm_set__3 x = casadi__DM__set__3 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__set__4" c_casadi__DM__set__4
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr Sparsity' -> IO ()
-
-casadi__DM__set__4
-  :: DM -> DM -> Bool -> Sparsity -> IO ()
-casadi__DM__set__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__set__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-dm_set__4 :: DMClass a => a -> DM -> Bool -> Sparsity -> IO ()
-dm_set__4 x = casadi__DM__set__4 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__set__5" c_casadi__DM__set__5
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr IM' -> IO ()
-
-casadi__DM__set__5
-  :: DM -> DM -> Bool -> IM -> IO ()
-casadi__DM__set__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__set__5 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-dm_set__5 :: DMClass a => a -> DM -> Bool -> IM -> IO ()
-dm_set__5 x = casadi__DM__set__5 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__set__6" c_casadi__DM__set__6
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr Slice' -> IO ()
-
-casadi__DM__set__6
-  :: DM -> DM -> Bool -> Slice -> IO ()
-casadi__DM__set__6 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__set__6 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-dm_set__6 :: DMClass a => a -> DM -> Bool -> Slice -> IO ()
-dm_set__6 x = casadi__DM__set__6 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__setEqualityCheckingDepth__0" c_casadi__DM__setEqualityCheckingDepth__0
-  :: Ptr (Ptr StdString) -> IO ()
-
-casadi__DM__setEqualityCheckingDepth__0
-  :: IO ()
-casadi__DM__setEqualityCheckingDepth__0  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__setEqualityCheckingDepth__0 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ()
-
-
-
--- classy wrapper
-dm_setEqualityCheckingDepth__0 :: IO ()
-dm_setEqualityCheckingDepth__0 = casadi__DM__setEqualityCheckingDepth__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__setEqualityCheckingDepth__1" c_casadi__DM__setEqualityCheckingDepth__1
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-
-casadi__DM__setEqualityCheckingDepth__1
-  :: Int -> IO ()
-casadi__DM__setEqualityCheckingDepth__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__setEqualityCheckingDepth__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-dm_setEqualityCheckingDepth__1 :: Int -> IO ()
-dm_setEqualityCheckingDepth__1 = casadi__DM__setEqualityCheckingDepth__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__setPrecision" c_casadi__DM__setPrecision
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-
-casadi__DM__setPrecision
-  :: Int -> IO ()
-casadi__DM__setPrecision x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__setPrecision errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-dm_setPrecision :: Int -> IO ()
-dm_setPrecision = casadi__DM__setPrecision
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__setScientific" c_casadi__DM__setScientific
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-
-casadi__DM__setScientific
-  :: Bool -> IO ()
-casadi__DM__setScientific x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__setScientific errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-dm_setScientific :: Bool -> IO ()
-dm_setScientific = casadi__DM__setScientific
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__setWidth" c_casadi__DM__setWidth
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-
-casadi__DM__setWidth
-  :: Int -> IO ()
-casadi__DM__setWidth x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__setWidth errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-dm_setWidth :: Int -> IO ()
-dm_setWidth = casadi__DM__setWidth
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__set_nz__0" c_casadi__DM__set_nz__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr IM' -> IO ()
-
-casadi__DM__set_nz__0
-  :: DM -> DM -> Bool -> IM -> IO ()
-casadi__DM__set_nz__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__set_nz__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-dm_set_nz__0 :: DMClass a => a -> DM -> Bool -> IM -> IO ()
-dm_set_nz__0 x = casadi__DM__set_nz__0 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__set_nz__1" c_casadi__DM__set_nz__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr Slice' -> IO ()
-
-casadi__DM__set_nz__1
-  :: DM -> DM -> Bool -> Slice -> IO ()
-casadi__DM__set_nz__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__set_nz__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-dm_set_nz__1 :: DMClass a => a -> DM -> Bool -> Slice -> IO ()
-dm_set_nz__1 x = casadi__DM__set_nz__1 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__size__0" c_casadi__DM__size__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO CInt
-
-casadi__DM__size__0
-  :: DM -> Int -> IO Int
-casadi__DM__size__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__size__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_size__0 :: DMClass a => a -> Int -> IO Int
-dm_size__0 x = casadi__DM__size__0 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__size__1" c_casadi__DM__size__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdPair CInt CInt))
-
-casadi__DM__size__1
-  :: DM -> IO (Int, Int)
-casadi__DM__size__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__size__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_size__1 :: DMClass a => a -> IO (Int, Int)
-dm_size__1 x = casadi__DM__size__1 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__size1" c_casadi__DM__size1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__size1
-  :: DM -> IO Int
-casadi__DM__size1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__size1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_size1 :: DMClass a => a -> IO Int
-dm_size1 x = casadi__DM__size1 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__size2" c_casadi__DM__size2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi__DM__size2
-  :: DM -> IO Int
-casadi__DM__size2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__size2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_size2 :: DMClass a => a -> IO Int
-dm_size2 x = casadi__DM__size2 (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__sparsity" c_casadi__DM__sparsity
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr Sparsity')
-
-casadi__DM__sparsity
-  :: DM -> IO Sparsity
-casadi__DM__sparsity x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__sparsity errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_sparsity :: DMClass a => a -> IO Sparsity
-dm_sparsity x = casadi__DM__sparsity (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__sym__0" c_casadi__DM__sym__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
-
-casadi__DM__sym__0
-  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector DM))
-casadi__DM__sym__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__sym__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-dm_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector DM))
-dm_sym__0 = casadi__DM__sym__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__sym__1" c_casadi__DM__sym__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
-
-casadi__DM__sym__1
-  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector DM))
-casadi__DM__sym__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__sym__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-dm_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector DM))
-dm_sym__1 = casadi__DM__sym__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__sym__2" c_casadi__DM__sym__2
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi__DM__sym__2
-  :: String -> Int -> Int -> Int -> IO (Vector DM)
-casadi__DM__sym__2 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__sym__2 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-dm_sym__2 :: String -> Int -> Int -> Int -> IO (Vector DM)
-dm_sym__2 = casadi__DM__sym__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__sym__3" c_casadi__DM__sym__3
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi__DM__sym__3
-  :: String -> Sparsity -> Int -> IO (Vector DM)
-casadi__DM__sym__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__sym__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_sym__3 :: String -> Sparsity -> Int -> IO (Vector DM)
-dm_sym__3 = casadi__DM__sym__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__sym__4" c_casadi__DM__sym__4
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr DM')
-
-casadi__DM__sym__4
-  :: String -> Sparsity -> IO DM
-casadi__DM__sym__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__sym__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_sym__4 :: String -> Sparsity -> IO DM
-dm_sym__4 = casadi__DM__sym__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__sym__5" c_casadi__DM__sym__5
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdPair CInt CInt) -> IO (Ptr DM')
-
-casadi__DM__sym__5
-  :: String -> (Int, Int) -> IO DM
-casadi__DM__sym__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__sym__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_sym__5 :: String -> (Int, Int) -> IO DM
-dm_sym__5 = casadi__DM__sym__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__sym__6" c_casadi__DM__sym__6
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr DM')
-
-casadi__DM__sym__6
-  :: String -> IO DM
-casadi__DM__sym__6 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__sym__6 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_sym__6 :: String -> IO DM
-dm_sym__6 = casadi__DM__sym__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__sym__7" c_casadi__DM__sym__7
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> IO (Ptr DM')
-
-casadi__DM__sym__7
-  :: String -> Int -> IO DM
-casadi__DM__sym__7 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__sym__7 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_sym__7 :: String -> Int -> IO DM
-dm_sym__7 = casadi__DM__sym__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__sym__8" c_casadi__DM__sym__8
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__sym__8
-  :: String -> Int -> Int -> IO DM
-casadi__DM__sym__8 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__sym__8 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_sym__8 :: String -> Int -> Int -> IO DM
-dm_sym__8 = casadi__DM__sym__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__tang__0" c_casadi__DM__tang__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr DM')
-
-casadi__DM__tang__0
-  :: Function -> String -> String -> IO DM
-casadi__DM__tang__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__tang__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_tang__0 :: Function -> String -> String -> IO DM
-dm_tang__0 = casadi__DM__tang__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__tang__1" c_casadi__DM__tang__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr DM')
-
-casadi__DM__tang__1
-  :: Function -> Int -> String -> IO DM
-casadi__DM__tang__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__tang__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_tang__1 :: Function -> Int -> String -> IO DM
-dm_tang__1 = casadi__DM__tang__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__tang__2" c_casadi__DM__tang__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr DM')
-
-casadi__DM__tang__2
-  :: Function -> String -> IO DM
-casadi__DM__tang__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__tang__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_tang__2 :: Function -> String -> IO DM
-dm_tang__2 = casadi__DM__tang__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__tang__3" c_casadi__DM__tang__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr DM')
-
-casadi__DM__tang__3
-  :: Function -> String -> Int -> IO DM
-casadi__DM__tang__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__tang__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_tang__3 :: Function -> String -> Int -> IO DM
-dm_tang__3 = casadi__DM__tang__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__tang__4" c_casadi__DM__tang__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr DM')
-
-casadi__DM__tang__4
-  :: Function -> IO DM
-casadi__DM__tang__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__tang__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_tang__4 :: Function -> IO DM
-dm_tang__4 = casadi__DM__tang__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__tang__5" c_casadi__DM__tang__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr DM')
-
-casadi__DM__tang__5
-  :: Function -> Int -> IO DM
-casadi__DM__tang__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__tang__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_tang__5 :: Function -> Int -> IO DM
-dm_tang__5 = casadi__DM__tang__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__tang__6" c_casadi__DM__tang__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__tang__6
-  :: Function -> Int -> Int -> IO DM
-casadi__DM__tang__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__tang__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_tang__6 :: Function -> Int -> Int -> IO DM
-dm_tang__6 = casadi__DM__tang__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__triplet__0" c_casadi__DM__triplet__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr DM' -> Ptr (StdPair CInt CInt) -> IO (Ptr DM')
-
-casadi__DM__triplet__0
-  :: Vector Int -> Vector Int -> DM -> (Int, Int) -> IO DM
-casadi__DM__triplet__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__triplet__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-dm_triplet__0 :: Vector Int -> Vector Int -> DM -> (Int, Int) -> IO DM
-dm_triplet__0 = casadi__DM__triplet__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__triplet__1" c_casadi__DM__triplet__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr DM' -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__triplet__1
-  :: Vector Int -> Vector Int -> DM -> Int -> Int -> IO DM
-casadi__DM__triplet__1 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__triplet__1 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-dm_triplet__1 :: Vector Int -> Vector Int -> DM -> Int -> Int -> IO DM
-dm_triplet__1 = casadi__DM__triplet__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__triplet__2" c_casadi__DM__triplet__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr DM' -> IO (Ptr DM')
-
-casadi__DM__triplet__2
-  :: Vector Int -> Vector Int -> DM -> IO DM
-casadi__DM__triplet__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__triplet__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-dm_triplet__2 :: Vector Int -> Vector Int -> DM -> IO DM
-dm_triplet__2 = casadi__DM__triplet__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__type_name" c_casadi__DM__type_name
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__DM__type_name
-  :: IO String
-casadi__DM__type_name  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__type_name errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-dm_type_name :: IO String
-dm_type_name = casadi__DM__type_name
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__unary" c_casadi__DM__unary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr DM' -> IO (Ptr DM')
-
-casadi__DM__unary
-  :: Int -> DM -> IO DM
-casadi__DM__unary x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__unary errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_unary :: Int -> DM -> IO DM
-dm_unary = casadi__DM__unary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__zeros__0" c_casadi__DM__zeros__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr DM')
-
-casadi__DM__zeros__0
-  :: (Int, Int) -> IO DM
-casadi__DM__zeros__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__zeros__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_zeros__0 :: (Int, Int) -> IO DM
-dm_zeros__0 = casadi__DM__zeros__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__zeros__1" c_casadi__DM__zeros__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DM')
-
-casadi__DM__zeros__1
-  :: Sparsity -> IO DM
-casadi__DM__zeros__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__zeros__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_zeros__1 :: Sparsity -> IO DM
-dm_zeros__1 = casadi__DM__zeros__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__zeros__2" c_casadi__DM__zeros__2
-  :: Ptr (Ptr StdString) -> IO (Ptr DM')
-
-casadi__DM__zeros__2
-  :: IO DM
-casadi__DM__zeros__2  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__zeros__2 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-dm_zeros__2 :: IO DM
-dm_zeros__2 = casadi__DM__zeros__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__zeros__3" c_casadi__DM__zeros__3
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DM')
-
-casadi__DM__zeros__3
-  :: Int -> IO DM
-casadi__DM__zeros__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__zeros__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_zeros__3 :: Int -> IO DM
-dm_zeros__3 = casadi__DM__zeros__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__zeros__4" c_casadi__DM__zeros__4
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__DM__zeros__4
-  :: Int -> Int -> IO DM
-casadi__DM__zeros__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__zeros__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-dm_zeros__4 :: Int -> Int -> IO DM
-dm_zeros__4 = casadi__DM__zeros__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__getRepresentation" c_casadi__DM__getRepresentation
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr StdString)
-
-casadi__DM__getRepresentation
-  :: DM -> IO String
-casadi__DM__getRepresentation x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__getRepresentation errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_getRepresentation :: DMClass a => a -> IO String
-dm_getRepresentation x = casadi__DM__getRepresentation (castDM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DM__getDescription" c_casadi__DM__getDescription
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr StdString)
-
-casadi__DM__getDescription
-  :: DM -> IO String
-casadi__DM__getDescription x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DM__getDescription errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-dm_getDescription :: DMClass a => a -> IO String
-dm_getDescription x = casadi__DM__getDescription (castDM x)
+         dm_columns,
+         dm_dep__0,
+         dm_dep__1,
+         dm_dim__0,
+         dm_dim__1,
+         dm_element_hash,
+         dm_enlarge__0,
+         dm_enlarge__1,
+         dm_erase__0,
+         dm_erase__1,
+         dm_erase__2,
+         dm_erase__3,
+         dm_export_code,
+         dm_eye,
+         dm_from_info,
+         dm_get__0,
+         dm_get__1,
+         dm_get__2,
+         dm_get__3,
+         dm_get__4,
+         dm_get__5,
+         dm_get__6,
+         dm_get_colind,
+         dm_get_elements,
+         dm_get_free,
+         dm_get_input,
+         dm_get_max_depth,
+         dm_get_nonzeros,
+         dm_get_nz__0,
+         dm_get_nz__1,
+         dm_get_row,
+         dm_get_sparsity,
+         dm_get_str__0,
+         dm_get_str__1,
+         dm_has_duplicates,
+         dm_has_nz,
+         dm_has_zeros,
+         dm_inf__0,
+         dm_inf__1,
+         dm_inf__2,
+         dm_inf__3,
+         dm_inf__4,
+         dm_info,
+         dm_is_column,
+         dm_is_commutative,
+         dm_is_constant,
+         dm_is_dense,
+         dm_is_empty__0,
+         dm_is_empty__1,
+         dm_is_eye,
+         dm_is_integer,
+         dm_is_leaf,
+         dm_is_minus_one,
+         dm_is_one,
+         dm_is_op,
+         dm_is_regular,
+         dm_is_row,
+         dm_is_scalar__0,
+         dm_is_scalar__1,
+         dm_is_smooth,
+         dm_is_square,
+         dm_is_symbolic,
+         dm_is_tril,
+         dm_is_triu,
+         dm_is_valid_input,
+         dm_is_vector,
+         dm_is_zero,
+         dm_matrix_matrix,
+         dm_matrix_scalar,
+         dm_n_dep,
+         dm_name,
+         dm_nan__0,
+         dm_nan__1,
+         dm_nan__2,
+         dm_nan__3,
+         dm_nan__4,
+         dm_nnz,
+         dm_nnz_diag,
+         dm_nnz_lower,
+         dm_nnz_upper,
+         dm_numel,
+         dm_ones__0,
+         dm_ones__1,
+         dm_ones__2,
+         dm_ones__3,
+         dm_ones__4,
+         dm_op,
+         dm_operator__minus,
+         dm_operator__plus,
+         dm_operator_casadi_int,
+         dm_operator_double,
+         dm_print_split,
+         dm_printme,
+         dm_rand__0,
+         dm_rand__1,
+         dm_rand__2,
+         dm_rand__3,
+         dm_rand__4,
+         dm_remove,
+         dm_reserve__0,
+         dm_reserve__1,
+         dm_reset_input,
+         dm_resize,
+         dm_rng,
+         dm_row,
+         dm_rows,
+         dm_scalar_matrix,
+         dm_set__0,
+         dm_set__1,
+         dm_set__2,
+         dm_set__3,
+         dm_set__4,
+         dm_set__5,
+         dm_set__6,
+         dm_set_max_depth__0,
+         dm_set_max_depth__1,
+         dm_set_nz__0,
+         dm_set_nz__1,
+         dm_set_precision,
+         dm_set_scientific,
+         dm_set_width,
+         dm_size1,
+         dm_size2,
+         dm_size__0,
+         dm_size__1,
+         dm_sparsity,
+         dm_sym__0,
+         dm_sym__1,
+         dm_sym__2,
+         dm_sym__3,
+         dm_sym__4,
+         dm_sym__5,
+         dm_sym__6,
+         dm_sym__7,
+         dm_sym__8,
+         dm_to_file__0,
+         dm_to_file__1,
+         dm_triplet__0,
+         dm_triplet__1,
+         dm_triplet__2,
+         dm_type_name,
+         dm_unary,
+         dm_zeros__0,
+         dm_zeros__1,
+         dm_zeros__2,
+         dm_zeros__3,
+         dm_zeros__4,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__0" c_casadi__DM__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr DM')
+
+casadi__DM__CONSTRUCTOR__0
+  :: SX -> IO DM
+casadi__DM__CONSTRUCTOR__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__CONSTRUCTOR__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm__0 :: SX -> IO DM
+dm__0 = casadi__DM__CONSTRUCTOR__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__1" c_casadi__DM__CONSTRUCTOR__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElem')) -> IO (Ptr DM')
+
+casadi__DM__CONSTRUCTOR__1
+  :: Vector SXElem -> IO DM
+casadi__DM__CONSTRUCTOR__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__CONSTRUCTOR__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm__1 :: Vector SXElem -> IO DM
+dm__1 = casadi__DM__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__2" c_casadi__DM__CONSTRUCTOR__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr DM')
+
+casadi__DM__CONSTRUCTOR__2
+  :: IM -> IO DM
+casadi__DM__CONSTRUCTOR__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__CONSTRUCTOR__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm__2 :: IM -> IO DM
+dm__2 = casadi__DM__CONSTRUCTOR__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__3" c_casadi__DM__CONSTRUCTOR__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> IO (Ptr DM')
+
+casadi__DM__CONSTRUCTOR__3
+  :: Vector Int -> IO DM
+casadi__DM__CONSTRUCTOR__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__CONSTRUCTOR__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm__3 :: Vector Int -> IO DM
+dm__3 = casadi__DM__CONSTRUCTOR__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__4" c_casadi__DM__CONSTRUCTOR__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec CDouble))) -> IO (Ptr DM')
+
+casadi__DM__CONSTRUCTOR__4
+  :: Vector (Vector Double) -> IO DM
+casadi__DM__CONSTRUCTOR__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__CONSTRUCTOR__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm__4 :: Vector (Vector Double) -> IO DM
+dm__4 = casadi__DM__CONSTRUCTOR__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__5" c_casadi__DM__CONSTRUCTOR__5
+  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr DM')
+
+casadi__DM__CONSTRUCTOR__5
+  :: Double -> IO DM
+casadi__DM__CONSTRUCTOR__5 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__CONSTRUCTOR__5 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm__5 :: Double -> IO DM
+dm__5 = casadi__DM__CONSTRUCTOR__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__6" c_casadi__DM__CONSTRUCTOR__6
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr DM' -> IO (Ptr DM')
+
+casadi__DM__CONSTRUCTOR__6
+  :: Sparsity -> DM -> IO DM
+casadi__DM__CONSTRUCTOR__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__CONSTRUCTOR__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm__6 :: Sparsity -> DM -> IO DM
+dm__6 = casadi__DM__CONSTRUCTOR__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__7" c_casadi__DM__CONSTRUCTOR__7
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DM')
+
+casadi__DM__CONSTRUCTOR__7
+  :: Sparsity -> IO DM
+casadi__DM__CONSTRUCTOR__7 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__CONSTRUCTOR__7 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm__7 :: Sparsity -> IO DM
+dm__7 = casadi__DM__CONSTRUCTOR__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__8" c_casadi__DM__CONSTRUCTOR__8
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr DM')
+
+casadi__DM__CONSTRUCTOR__8
+  :: Int -> Int -> IO DM
+casadi__DM__CONSTRUCTOR__8 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__CONSTRUCTOR__8 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm__8 :: Int -> Int -> IO DM
+dm__8 = casadi__DM__CONSTRUCTOR__8
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__9" c_casadi__DM__CONSTRUCTOR__9
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi__DM__CONSTRUCTOR__9
+  :: DM -> IO DM
+casadi__DM__CONSTRUCTOR__9 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__CONSTRUCTOR__9 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm__9 :: DM -> IO DM
+dm__9 = casadi__DM__CONSTRUCTOR__9
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__10" c_casadi__DM__CONSTRUCTOR__10
+  :: Ptr (Ptr StdString) -> IO (Ptr DM')
+
+casadi__DM__CONSTRUCTOR__10
+  :: IO DM
+casadi__DM__CONSTRUCTOR__10  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__CONSTRUCTOR__10 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+dm__10 :: IO DM
+dm__10 = casadi__DM__CONSTRUCTOR__10
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__T" c_casadi__DM__T
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi__DM__T
+  :: DM -> IO DM
+casadi__DM__T x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__T errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_T :: DMClass a => a -> IO DM
+dm_T x = casadi__DM__T (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM____nonzero__" c_casadi__DM____nonzero__
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM____nonzero__
+  :: DM -> IO Bool
+casadi__DM____nonzero__ x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM____nonzero__ errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm___nonzero__ :: DMClass a => a -> IO Bool
+dm___nonzero__ x = casadi__DM____nonzero__ (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__binary" c_casadi__DM__binary
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi__DM__binary
+  :: Int -> DM -> DM -> IO DM
+casadi__DM__binary x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__binary errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_binary :: Int -> DM -> DM -> IO DM
+dm_binary = casadi__DM__binary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__clear" c_casadi__DM__clear
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO ()
+
+casadi__DM__clear
+  :: DM -> IO ()
+casadi__DM__clear x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__clear errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_clear :: DMClass a => a -> IO ()
+dm_clear x = casadi__DM__clear (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__colind" c_casadi__DM__colind
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> IO CLLong
+
+casadi__DM__colind
+  :: DM -> Int -> IO Int
+casadi__DM__colind x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__colind errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_colind :: DMClass a => a -> Int -> IO Int
+dm_colind x = casadi__DM__colind (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__columns" c_casadi__DM__columns
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi__DM__columns
+  :: DM -> IO Int
+casadi__DM__columns x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__columns errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_columns :: DMClass a => a -> IO Int
+dm_columns x = casadi__DM__columns (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__dep__0" c_casadi__DM__dep__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi__DM__dep__0
+  :: DM -> IO DM
+casadi__DM__dep__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__dep__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_dep__0 :: DMClass a => a -> IO DM
+dm_dep__0 x = casadi__DM__dep__0 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__dep__1" c_casadi__DM__dep__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> IO (Ptr DM')
+
+casadi__DM__dep__1
+  :: DM -> Int -> IO DM
+casadi__DM__dep__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__dep__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_dep__1 :: DMClass a => a -> Int -> IO DM
+dm_dep__1 x = casadi__DM__dep__1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__dim__0" c_casadi__DM__dim__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr StdString)
+
+casadi__DM__dim__0
+  :: DM -> IO String
+casadi__DM__dim__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__dim__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_dim__0 :: DMClass a => a -> IO String
+dm_dim__0 x = casadi__DM__dim__0 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__dim__1" c_casadi__DM__dim__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO (Ptr StdString)
+
+casadi__DM__dim__1
+  :: DM -> Bool -> IO String
+casadi__DM__dim__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__dim__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_dim__1 :: DMClass a => a -> Bool -> IO String
+dm_dim__1 x = casadi__DM__dim__1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__element_hash" c_casadi__DM__element_hash
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi__DM__element_hash
+  :: DM -> IO Int
+casadi__DM__element_hash x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__element_hash errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_element_hash :: DMClass a => a -> IO Int
+dm_element_hash x = casadi__DM__element_hash (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__enlarge__0" c_casadi__DM__enlarge__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__DM__enlarge__0
+  :: DM -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+casadi__DM__enlarge__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_enlarge__0 :: DMClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+dm_enlarge__0 x = casadi__DM__enlarge__0 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__enlarge__1" c_casadi__DM__enlarge__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__DM__enlarge__1
+  :: DM -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__DM__enlarge__1 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_enlarge__1 :: DMClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+dm_enlarge__1 x = casadi__DM__enlarge__1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__erase__0" c_casadi__DM__erase__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__DM__erase__0
+  :: DM -> Vector Int -> IO ()
+casadi__DM__erase__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__erase__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_erase__0 :: DMClass a => a -> Vector Int -> IO ()
+dm_erase__0 x = casadi__DM__erase__0 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__erase__1" c_casadi__DM__erase__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__DM__erase__1
+  :: DM -> Vector Int -> Bool -> IO ()
+casadi__DM__erase__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__erase__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_erase__1 :: DMClass a => a -> Vector Int -> Bool -> IO ()
+dm_erase__1 x = casadi__DM__erase__1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__erase__2" c_casadi__DM__erase__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__DM__erase__2
+  :: DM -> Vector Int -> Vector Int -> IO ()
+casadi__DM__erase__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__erase__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_erase__2 :: DMClass a => a -> Vector Int -> Vector Int -> IO ()
+dm_erase__2 x = casadi__DM__erase__2 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__erase__3" c_casadi__DM__erase__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__DM__erase__3
+  :: DM -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__DM__erase__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__erase__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_erase__3 :: DMClass a => a -> Vector Int -> Vector Int -> Bool -> IO ()
+dm_erase__3 x = casadi__DM__erase__3 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__export_code" c_casadi__DM__export_code
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr StdString -> IO ()
+
+casadi__DM__export_code
+  :: DM -> String -> IO ()
+casadi__DM__export_code x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__export_code errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_export_code :: DMClass a => a -> String -> IO ()
+dm_export_code x = casadi__DM__export_code (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__eye" c_casadi__DM__eye
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr DM')
+
+casadi__DM__eye
+  :: Int -> IO DM
+casadi__DM__eye x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__eye errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_eye :: Int -> IO DM
+dm_eye = casadi__DM__eye
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__from_info" c_casadi__DM__from_info
+  :: Ptr (Ptr StdString) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr DM')
+
+casadi__DM__from_info
+  :: M.Map String GenericType -> IO DM
+casadi__DM__from_info x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__from_info errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_from_info :: M.Map String GenericType -> IO DM
+dm_from_info = casadi__DM__from_info
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get__0" c_casadi__DM__get__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
+
+casadi__DM__get__0
+  :: DM -> Bool -> IM -> IM -> IO (DM)
+casadi__DM__get__0 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get__0 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get__0/c_casadi__DM__get__0" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+dm_get__0 :: DMClass a => a -> Bool -> IM -> IM -> IO (DM)
+dm_get__0 x = casadi__DM__get__0 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get__1" c_casadi__DM__get__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
+
+casadi__DM__get__1
+  :: DM -> Bool -> IM -> Slice -> IO (DM)
+casadi__DM__get__1 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get__1 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get__1/c_casadi__DM__get__1" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+dm_get__1 :: DMClass a => a -> Bool -> IM -> Slice -> IO (DM)
+dm_get__1 x = casadi__DM__get__1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get__2" c_casadi__DM__get__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
+
+casadi__DM__get__2
+  :: DM -> Bool -> Slice -> IM -> IO (DM)
+casadi__DM__get__2 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get__2 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get__2/c_casadi__DM__get__2" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+dm_get__2 :: DMClass a => a -> Bool -> Slice -> IM -> IO (DM)
+dm_get__2 x = casadi__DM__get__2 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get__3" c_casadi__DM__get__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
+
+casadi__DM__get__3
+  :: DM -> Bool -> Slice -> Slice -> IO (DM)
+casadi__DM__get__3 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get__3 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get__3/c_casadi__DM__get__3" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+dm_get__3 :: DMClass a => a -> Bool -> Slice -> Slice -> IO (DM)
+dm_get__3 x = casadi__DM__get__3 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get__4" c_casadi__DM__get__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr Sparsity' -> IO ()
+
+casadi__DM__get__4
+  :: DM -> Bool -> Sparsity -> IO (DM)
+casadi__DM__get__4 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get__4 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get__4/c_casadi__DM__get__4" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+dm_get__4 :: DMClass a => a -> Bool -> Sparsity -> IO (DM)
+dm_get__4 x = casadi__DM__get__4 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get__5" c_casadi__DM__get__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr IM' -> IO ()
+
+casadi__DM__get__5
+  :: DM -> Bool -> IM -> IO (DM)
+casadi__DM__get__5 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get__5 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get__5/c_casadi__DM__get__5" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+dm_get__5 :: DMClass a => a -> Bool -> IM -> IO (DM)
+dm_get__5 x = casadi__DM__get__5 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get__6" c_casadi__DM__get__6
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr Slice' -> IO ()
+
+casadi__DM__get__6
+  :: DM -> Bool -> Slice -> IO (DM)
+casadi__DM__get__6 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get__6 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get__6/c_casadi__DM__get__6" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+dm_get__6 :: DMClass a => a -> Bool -> Slice -> IO (DM)
+dm_get__6 x = casadi__DM__get__6 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get_colind" c_casadi__DM__get_colind
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec CLLong))
+
+casadi__DM__get_colind
+  :: DM -> IO (Vector Int)
+casadi__DM__get_colind x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get_colind errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_get_colind :: DMClass a => a -> IO (Vector Int)
+dm_get_colind x = casadi__DM__get_colind (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get_elements" c_casadi__DM__get_elements
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec CDouble))
+
+casadi__DM__get_elements
+  :: DM -> IO (Vector Double)
+casadi__DM__get_elements x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get_elements errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_get_elements :: DMClass a => a -> IO (Vector Double)
+dm_get_elements x = casadi__DM__get_elements (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get_free" c_casadi__DM__get_free
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi__DM__get_free
+  :: Function -> IO (Vector DM)
+casadi__DM__get_free x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get_free errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_get_free :: Function -> IO (Vector DM)
+dm_get_free = casadi__DM__get_free
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get_input" c_casadi__DM__get_input
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi__DM__get_input
+  :: Function -> IO (Vector DM)
+casadi__DM__get_input x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get_input errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_get_input :: Function -> IO (Vector DM)
+dm_get_input = casadi__DM__get_input
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get_max_depth" c_casadi__DM__get_max_depth
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+casadi__DM__get_max_depth
+  :: IO Int
+casadi__DM__get_max_depth  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get_max_depth errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+dm_get_max_depth :: IO Int
+dm_get_max_depth = casadi__DM__get_max_depth
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get_nonzeros" c_casadi__DM__get_nonzeros
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec CDouble))
+
+casadi__DM__get_nonzeros
+  :: DM -> IO (Vector Double)
+casadi__DM__get_nonzeros x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get_nonzeros errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_get_nonzeros :: DMClass a => a -> IO (Vector Double)
+dm_get_nonzeros x = casadi__DM__get_nonzeros (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get_nz__0" c_casadi__DM__get_nz__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr IM' -> IO ()
+
+casadi__DM__get_nz__0
+  :: DM -> Bool -> IM -> IO (DM)
+casadi__DM__get_nz__0 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get_nz__0 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get_nz__0/c_casadi__DM__get_nz__0" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+dm_get_nz__0 :: DMClass a => a -> Bool -> IM -> IO (DM)
+dm_get_nz__0 x = casadi__DM__get_nz__0 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get_nz__1" c_casadi__DM__get_nz__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr DM') -> CInt -> Ptr Slice' -> IO ()
+
+casadi__DM__get_nz__1
+  :: DM -> Bool -> Slice -> IO (DM)
+casadi__DM__get_nz__1 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get_nz__1 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__get_nz__1/c_casadi__DM__get_nz__1" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+dm_get_nz__1 :: DMClass a => a -> Bool -> Slice -> IO (DM)
+dm_get_nz__1 x = casadi__DM__get_nz__1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get_row" c_casadi__DM__get_row
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec CLLong))
+
+casadi__DM__get_row
+  :: DM -> IO (Vector Int)
+casadi__DM__get_row x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get_row errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_get_row :: DMClass a => a -> IO (Vector Int)
+dm_get_row x = casadi__DM__get_row (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get_sparsity" c_casadi__DM__get_sparsity
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr Sparsity')
+
+casadi__DM__get_sparsity
+  :: DM -> IO Sparsity
+casadi__DM__get_sparsity x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get_sparsity errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_get_sparsity :: DMClass a => a -> IO Sparsity
+dm_get_sparsity x = casadi__DM__get_sparsity (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get_str__0" c_casadi__DM__get_str__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr StdString)
+
+casadi__DM__get_str__0
+  :: DM -> IO String
+casadi__DM__get_str__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get_str__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_get_str__0 :: DMClass a => a -> IO String
+dm_get_str__0 x = casadi__DM__get_str__0 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__get_str__1" c_casadi__DM__get_str__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO (Ptr StdString)
+
+casadi__DM__get_str__1
+  :: DM -> Bool -> IO String
+casadi__DM__get_str__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__get_str__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_get_str__1 :: DMClass a => a -> Bool -> IO String
+dm_get_str__1 x = casadi__DM__get_str__1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__has_duplicates" c_casadi__DM__has_duplicates
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__has_duplicates
+  :: DM -> IO Bool
+casadi__DM__has_duplicates x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__has_duplicates errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_has_duplicates :: DMClass a => a -> IO Bool
+dm_has_duplicates x = casadi__DM__has_duplicates (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__has_nz" c_casadi__DM__has_nz
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> CLLong -> IO CInt
+
+casadi__DM__has_nz
+  :: DM -> Int -> Int -> IO Bool
+casadi__DM__has_nz x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__has_nz errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_has_nz :: DMClass a => a -> Int -> Int -> IO Bool
+dm_has_nz x = casadi__DM__has_nz (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__has_zeros" c_casadi__DM__has_zeros
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__has_zeros
+  :: DM -> IO Bool
+casadi__DM__has_zeros x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__has_zeros errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_has_zeros :: DMClass a => a -> IO Bool
+dm_has_zeros x = casadi__DM__has_zeros (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__inf__0" c_casadi__DM__inf__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr DM')
+
+casadi__DM__inf__0
+  :: (Int, Int) -> IO DM
+casadi__DM__inf__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__inf__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_inf__0 :: (Int, Int) -> IO DM
+dm_inf__0 = casadi__DM__inf__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__inf__1" c_casadi__DM__inf__1
+  :: Ptr (Ptr StdString) -> IO (Ptr DM')
+
+casadi__DM__inf__1
+  :: IO DM
+casadi__DM__inf__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__inf__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+dm_inf__1 :: IO DM
+dm_inf__1 = casadi__DM__inf__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__inf__2" c_casadi__DM__inf__2
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr DM')
+
+casadi__DM__inf__2
+  :: Int -> IO DM
+casadi__DM__inf__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__inf__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_inf__2 :: Int -> IO DM
+dm_inf__2 = casadi__DM__inf__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__inf__3" c_casadi__DM__inf__3
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr DM')
+
+casadi__DM__inf__3
+  :: Int -> Int -> IO DM
+casadi__DM__inf__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__inf__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_inf__3 :: Int -> Int -> IO DM
+dm_inf__3 = casadi__DM__inf__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__inf__4" c_casadi__DM__inf__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DM')
+
+casadi__DM__inf__4
+  :: Sparsity -> IO DM
+casadi__DM__inf__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__inf__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_inf__4 :: Sparsity -> IO DM
+dm_inf__4 = casadi__DM__inf__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__info" c_casadi__DM__info
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdMap StdString (Ptr GenericType')))
+
+casadi__DM__info
+  :: DM -> IO (M.Map String GenericType)
+casadi__DM__info x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__info errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_info :: DMClass a => a -> IO (M.Map String GenericType)
+dm_info x = casadi__DM__info (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_column" c_casadi__DM__is_column
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_column
+  :: DM -> IO Bool
+casadi__DM__is_column x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_column errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_column :: DMClass a => a -> IO Bool
+dm_is_column x = casadi__DM__is_column (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_commutative" c_casadi__DM__is_commutative
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_commutative
+  :: DM -> IO Bool
+casadi__DM__is_commutative x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_commutative errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_commutative :: DMClass a => a -> IO Bool
+dm_is_commutative x = casadi__DM__is_commutative (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_constant" c_casadi__DM__is_constant
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_constant
+  :: DM -> IO Bool
+casadi__DM__is_constant x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_constant errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_constant :: DMClass a => a -> IO Bool
+dm_is_constant x = casadi__DM__is_constant (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_dense" c_casadi__DM__is_dense
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_dense
+  :: DM -> IO Bool
+casadi__DM__is_dense x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_dense errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_dense :: DMClass a => a -> IO Bool
+dm_is_dense x = casadi__DM__is_dense (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_empty__0" c_casadi__DM__is_empty__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_empty__0
+  :: DM -> IO Bool
+casadi__DM__is_empty__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_empty__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_empty__0 :: DMClass a => a -> IO Bool
+dm_is_empty__0 x = casadi__DM__is_empty__0 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_empty__1" c_casadi__DM__is_empty__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO CInt
+
+casadi__DM__is_empty__1
+  :: DM -> Bool -> IO Bool
+casadi__DM__is_empty__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_empty__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_empty__1 :: DMClass a => a -> Bool -> IO Bool
+dm_is_empty__1 x = casadi__DM__is_empty__1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_eye" c_casadi__DM__is_eye
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_eye
+  :: DM -> IO Bool
+casadi__DM__is_eye x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_eye errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_eye :: DMClass a => a -> IO Bool
+dm_is_eye x = casadi__DM__is_eye (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_integer" c_casadi__DM__is_integer
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_integer
+  :: DM -> IO Bool
+casadi__DM__is_integer x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_integer errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_integer :: DMClass a => a -> IO Bool
+dm_is_integer x = casadi__DM__is_integer (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_leaf" c_casadi__DM__is_leaf
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_leaf
+  :: DM -> IO Bool
+casadi__DM__is_leaf x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_leaf errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_leaf :: DMClass a => a -> IO Bool
+dm_is_leaf x = casadi__DM__is_leaf (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_minus_one" c_casadi__DM__is_minus_one
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_minus_one
+  :: DM -> IO Bool
+casadi__DM__is_minus_one x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_minus_one errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_minus_one :: DMClass a => a -> IO Bool
+dm_is_minus_one x = casadi__DM__is_minus_one (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_one" c_casadi__DM__is_one
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_one
+  :: DM -> IO Bool
+casadi__DM__is_one x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_one errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_one :: DMClass a => a -> IO Bool
+dm_is_one x = casadi__DM__is_one (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_op" c_casadi__DM__is_op
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> IO CInt
+
+casadi__DM__is_op
+  :: DM -> Int -> IO Bool
+casadi__DM__is_op x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_op errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_op :: DMClass a => a -> Int -> IO Bool
+dm_is_op x = casadi__DM__is_op (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_regular" c_casadi__DM__is_regular
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_regular
+  :: DM -> IO Bool
+casadi__DM__is_regular x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_regular errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_regular :: DMClass a => a -> IO Bool
+dm_is_regular x = casadi__DM__is_regular (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_row" c_casadi__DM__is_row
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_row
+  :: DM -> IO Bool
+casadi__DM__is_row x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_row errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_row :: DMClass a => a -> IO Bool
+dm_is_row x = casadi__DM__is_row (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_scalar__0" c_casadi__DM__is_scalar__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_scalar__0
+  :: DM -> IO Bool
+casadi__DM__is_scalar__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_scalar__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_scalar__0 :: DMClass a => a -> IO Bool
+dm_is_scalar__0 x = casadi__DM__is_scalar__0 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_scalar__1" c_casadi__DM__is_scalar__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO CInt
+
+casadi__DM__is_scalar__1
+  :: DM -> Bool -> IO Bool
+casadi__DM__is_scalar__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_scalar__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_scalar__1 :: DMClass a => a -> Bool -> IO Bool
+dm_is_scalar__1 x = casadi__DM__is_scalar__1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_smooth" c_casadi__DM__is_smooth
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_smooth
+  :: DM -> IO Bool
+casadi__DM__is_smooth x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_smooth errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_smooth :: DMClass a => a -> IO Bool
+dm_is_smooth x = casadi__DM__is_smooth (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_square" c_casadi__DM__is_square
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_square
+  :: DM -> IO Bool
+casadi__DM__is_square x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_square errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_square :: DMClass a => a -> IO Bool
+dm_is_square x = casadi__DM__is_square (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_symbolic" c_casadi__DM__is_symbolic
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_symbolic
+  :: DM -> IO Bool
+casadi__DM__is_symbolic x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_symbolic errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_symbolic :: DMClass a => a -> IO Bool
+dm_is_symbolic x = casadi__DM__is_symbolic (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_tril" c_casadi__DM__is_tril
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_tril
+  :: DM -> IO Bool
+casadi__DM__is_tril x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_tril errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_tril :: DMClass a => a -> IO Bool
+dm_is_tril x = casadi__DM__is_tril (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_triu" c_casadi__DM__is_triu
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_triu
+  :: DM -> IO Bool
+casadi__DM__is_triu x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_triu errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_triu :: DMClass a => a -> IO Bool
+dm_is_triu x = casadi__DM__is_triu (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_valid_input" c_casadi__DM__is_valid_input
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_valid_input
+  :: DM -> IO Bool
+casadi__DM__is_valid_input x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_valid_input errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_valid_input :: DMClass a => a -> IO Bool
+dm_is_valid_input x = casadi__DM__is_valid_input (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_vector" c_casadi__DM__is_vector
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_vector
+  :: DM -> IO Bool
+casadi__DM__is_vector x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_vector errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_vector :: DMClass a => a -> IO Bool
+dm_is_vector x = casadi__DM__is_vector (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__is_zero" c_casadi__DM__is_zero
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
+
+casadi__DM__is_zero
+  :: DM -> IO Bool
+casadi__DM__is_zero x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__is_zero errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_is_zero :: DMClass a => a -> IO Bool
+dm_is_zero x = casadi__DM__is_zero (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__matrix_matrix" c_casadi__DM__matrix_matrix
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi__DM__matrix_matrix
+  :: Int -> DM -> DM -> IO DM
+casadi__DM__matrix_matrix x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__matrix_matrix errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_matrix_matrix :: Int -> DM -> DM -> IO DM
+dm_matrix_matrix = casadi__DM__matrix_matrix
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__matrix_scalar" c_casadi__DM__matrix_scalar
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi__DM__matrix_scalar
+  :: Int -> DM -> DM -> IO DM
+casadi__DM__matrix_scalar x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__matrix_scalar errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_matrix_scalar :: Int -> DM -> DM -> IO DM
+dm_matrix_scalar = casadi__DM__matrix_scalar
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__n_dep" c_casadi__DM__n_dep
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi__DM__n_dep
+  :: DM -> IO Int
+casadi__DM__n_dep x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__n_dep errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_n_dep :: DMClass a => a -> IO Int
+dm_n_dep x = casadi__DM__n_dep (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__name" c_casadi__DM__name
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr StdString)
+
+casadi__DM__name
+  :: DM -> IO String
+casadi__DM__name x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__name errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_name :: DMClass a => a -> IO String
+dm_name x = casadi__DM__name (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__nan__0" c_casadi__DM__nan__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr DM')
+
+casadi__DM__nan__0
+  :: (Int, Int) -> IO DM
+casadi__DM__nan__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__nan__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_nan__0 :: (Int, Int) -> IO DM
+dm_nan__0 = casadi__DM__nan__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__nan__1" c_casadi__DM__nan__1
+  :: Ptr (Ptr StdString) -> IO (Ptr DM')
+
+casadi__DM__nan__1
+  :: IO DM
+casadi__DM__nan__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__nan__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+dm_nan__1 :: IO DM
+dm_nan__1 = casadi__DM__nan__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__nan__2" c_casadi__DM__nan__2
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr DM')
+
+casadi__DM__nan__2
+  :: Int -> IO DM
+casadi__DM__nan__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__nan__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_nan__2 :: Int -> IO DM
+dm_nan__2 = casadi__DM__nan__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__nan__3" c_casadi__DM__nan__3
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr DM')
+
+casadi__DM__nan__3
+  :: Int -> Int -> IO DM
+casadi__DM__nan__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__nan__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_nan__3 :: Int -> Int -> IO DM
+dm_nan__3 = casadi__DM__nan__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__nan__4" c_casadi__DM__nan__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DM')
+
+casadi__DM__nan__4
+  :: Sparsity -> IO DM
+casadi__DM__nan__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__nan__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_nan__4 :: Sparsity -> IO DM
+dm_nan__4 = casadi__DM__nan__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__nnz" c_casadi__DM__nnz
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi__DM__nnz
+  :: DM -> IO Int
+casadi__DM__nnz x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__nnz errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_nnz :: DMClass a => a -> IO Int
+dm_nnz x = casadi__DM__nnz (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__nnz_diag" c_casadi__DM__nnz_diag
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi__DM__nnz_diag
+  :: DM -> IO Int
+casadi__DM__nnz_diag x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__nnz_diag errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_nnz_diag :: DMClass a => a -> IO Int
+dm_nnz_diag x = casadi__DM__nnz_diag (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__nnz_lower" c_casadi__DM__nnz_lower
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi__DM__nnz_lower
+  :: DM -> IO Int
+casadi__DM__nnz_lower x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__nnz_lower errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_nnz_lower :: DMClass a => a -> IO Int
+dm_nnz_lower x = casadi__DM__nnz_lower (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__nnz_upper" c_casadi__DM__nnz_upper
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi__DM__nnz_upper
+  :: DM -> IO Int
+casadi__DM__nnz_upper x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__nnz_upper errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_nnz_upper :: DMClass a => a -> IO Int
+dm_nnz_upper x = casadi__DM__nnz_upper (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__numel" c_casadi__DM__numel
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi__DM__numel
+  :: DM -> IO Int
+casadi__DM__numel x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__numel errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_numel :: DMClass a => a -> IO Int
+dm_numel x = casadi__DM__numel (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__ones__0" c_casadi__DM__ones__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr DM')
+
+casadi__DM__ones__0
+  :: (Int, Int) -> IO DM
+casadi__DM__ones__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__ones__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_ones__0 :: (Int, Int) -> IO DM
+dm_ones__0 = casadi__DM__ones__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__ones__1" c_casadi__DM__ones__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DM')
+
+casadi__DM__ones__1
+  :: Sparsity -> IO DM
+casadi__DM__ones__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__ones__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_ones__1 :: Sparsity -> IO DM
+dm_ones__1 = casadi__DM__ones__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__ones__2" c_casadi__DM__ones__2
+  :: Ptr (Ptr StdString) -> IO (Ptr DM')
+
+casadi__DM__ones__2
+  :: IO DM
+casadi__DM__ones__2  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__ones__2 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+dm_ones__2 :: IO DM
+dm_ones__2 = casadi__DM__ones__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__ones__3" c_casadi__DM__ones__3
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr DM')
+
+casadi__DM__ones__3
+  :: Int -> IO DM
+casadi__DM__ones__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__ones__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_ones__3 :: Int -> IO DM
+dm_ones__3 = casadi__DM__ones__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__ones__4" c_casadi__DM__ones__4
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr DM')
+
+casadi__DM__ones__4
+  :: Int -> Int -> IO DM
+casadi__DM__ones__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__ones__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_ones__4 :: Int -> Int -> IO DM
+dm_ones__4 = casadi__DM__ones__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__op" c_casadi__DM__op
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi__DM__op
+  :: DM -> IO Int
+casadi__DM__op x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__op errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_op :: DMClass a => a -> IO Int
+dm_op x = casadi__DM__op (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__operator__plus" c_casadi__DM__operator__plus
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi__DM__operator__plus
+  :: DM -> IO DM
+casadi__DM__operator__plus x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__operator__plus errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_operator__plus :: DMClass a => a -> IO DM
+dm_operator__plus x = casadi__DM__operator__plus (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__operator__minus" c_casadi__DM__operator__minus
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi__DM__operator__minus
+  :: DM -> IO DM
+casadi__DM__operator__minus x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__operator__minus errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_operator__minus :: DMClass a => a -> IO DM
+dm_operator__minus x = casadi__DM__operator__minus (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__operator_casadi_int" c_casadi__DM__operator_casadi_int
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi__DM__operator_casadi_int
+  :: DM -> IO Int
+casadi__DM__operator_casadi_int x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__operator_casadi_int errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_operator_casadi_int :: DMClass a => a -> IO Int
+dm_operator_casadi_int x = casadi__DM__operator_casadi_int (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__operator_double" c_casadi__DM__operator_double
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CDouble
+
+casadi__DM__operator_double
+  :: DM -> IO Double
+casadi__DM__operator_double x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__operator_double errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_operator_double :: DMClass a => a -> IO Double
+dm_operator_double x = casadi__DM__operator_double (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__print_split" c_casadi__DM__print_split
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (Ptr (StdVec (Ptr StdString))) -> Ptr (Ptr (StdVec (Ptr StdString))) -> IO ()
+
+casadi__DM__print_split
+  :: DM -> IO (Vector String, Vector String)
+casadi__DM__print_split x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__print_split errStrPtrP x0' o1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__DM__print_split/c_casadi__DM__print_split" else wrapReturn o1''
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__DM__print_split/c_casadi__DM__print_split" else wrapReturn o2''
+
+  return (o1''', o2''')
+
+
+
+-- classy wrapper
+dm_print_split :: DMClass a => a -> IO (Vector String, Vector String)
+dm_print_split x = casadi__DM__print_split (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__printme" c_casadi__DM__printme
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi__DM__printme
+  :: DM -> DM -> IO DM
+casadi__DM__printme x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__printme errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_printme :: DMClass a => a -> DM -> IO DM
+dm_printme x = casadi__DM__printme (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__rand__0" c_casadi__DM__rand__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr DM')
+
+casadi__DM__rand__0
+  :: (Int, Int) -> IO DM
+casadi__DM__rand__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__rand__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_rand__0 :: (Int, Int) -> IO DM
+dm_rand__0 = casadi__DM__rand__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__rand__1" c_casadi__DM__rand__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DM')
+
+casadi__DM__rand__1
+  :: Sparsity -> IO DM
+casadi__DM__rand__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__rand__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_rand__1 :: Sparsity -> IO DM
+dm_rand__1 = casadi__DM__rand__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__rand__2" c_casadi__DM__rand__2
+  :: Ptr (Ptr StdString) -> IO (Ptr DM')
+
+casadi__DM__rand__2
+  :: IO DM
+casadi__DM__rand__2  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__rand__2 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+dm_rand__2 :: IO DM
+dm_rand__2 = casadi__DM__rand__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__rand__3" c_casadi__DM__rand__3
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr DM')
+
+casadi__DM__rand__3
+  :: Int -> IO DM
+casadi__DM__rand__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__rand__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_rand__3 :: Int -> IO DM
+dm_rand__3 = casadi__DM__rand__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__rand__4" c_casadi__DM__rand__4
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr DM')
+
+casadi__DM__rand__4
+  :: Int -> Int -> IO DM
+casadi__DM__rand__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__rand__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_rand__4 :: Int -> Int -> IO DM
+dm_rand__4 = casadi__DM__rand__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__remove" c_casadi__DM__remove
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__DM__remove
+  :: DM -> Vector Int -> Vector Int -> IO ()
+casadi__DM__remove x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__remove errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_remove :: DMClass a => a -> Vector Int -> Vector Int -> IO ()
+dm_remove x = casadi__DM__remove (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__reserve__0" c_casadi__DM__reserve__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> CLLong -> IO ()
+
+casadi__DM__reserve__0
+  :: DM -> Int -> Int -> IO ()
+casadi__DM__reserve__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__reserve__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_reserve__0 :: DMClass a => a -> Int -> Int -> IO ()
+dm_reserve__0 x = casadi__DM__reserve__0 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__reserve__1" c_casadi__DM__reserve__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> IO ()
+
+casadi__DM__reserve__1
+  :: DM -> Int -> IO ()
+casadi__DM__reserve__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__reserve__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_reserve__1 :: DMClass a => a -> Int -> IO ()
+dm_reserve__1 x = casadi__DM__reserve__1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__reset_input" c_casadi__DM__reset_input
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO ()
+
+casadi__DM__reset_input
+  :: DM -> IO ()
+casadi__DM__reset_input x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__reset_input errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_reset_input :: DMClass a => a -> IO ()
+dm_reset_input x = casadi__DM__reset_input (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__resize" c_casadi__DM__resize
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> CLLong -> IO ()
+
+casadi__DM__resize
+  :: DM -> Int -> Int -> IO ()
+casadi__DM__resize x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__resize errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_resize :: DMClass a => a -> Int -> Int -> IO ()
+dm_resize x = casadi__DM__resize (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__rng" c_casadi__DM__rng
+  :: Ptr (Ptr StdString) -> CLLong -> IO ()
+
+casadi__DM__rng
+  :: Int -> IO ()
+casadi__DM__rng x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__rng errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_rng :: Int -> IO ()
+dm_rng = casadi__DM__rng
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__row" c_casadi__DM__row
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> IO CLLong
+
+casadi__DM__row
+  :: DM -> Int -> IO Int
+casadi__DM__row x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__row errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_row :: DMClass a => a -> Int -> IO Int
+dm_row x = casadi__DM__row (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__rows" c_casadi__DM__rows
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi__DM__rows
+  :: DM -> IO Int
+casadi__DM__rows x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__rows errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_rows :: DMClass a => a -> IO Int
+dm_rows x = casadi__DM__rows (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__scalar_matrix" c_casadi__DM__scalar_matrix
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi__DM__scalar_matrix
+  :: Int -> DM -> DM -> IO DM
+casadi__DM__scalar_matrix x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__scalar_matrix errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_scalar_matrix :: Int -> DM -> DM -> IO DM
+dm_scalar_matrix = casadi__DM__scalar_matrix
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__set__0" c_casadi__DM__set__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
+
+casadi__DM__set__0
+  :: DM -> DM -> Bool -> IM -> IM -> IO ()
+casadi__DM__set__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__set__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_set__0 :: DMClass a => a -> DM -> Bool -> IM -> IM -> IO ()
+dm_set__0 x = casadi__DM__set__0 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__set__1" c_casadi__DM__set__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
+
+casadi__DM__set__1
+  :: DM -> DM -> Bool -> IM -> Slice -> IO ()
+casadi__DM__set__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__set__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_set__1 :: DMClass a => a -> DM -> Bool -> IM -> Slice -> IO ()
+dm_set__1 x = casadi__DM__set__1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__set__2" c_casadi__DM__set__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
+
+casadi__DM__set__2
+  :: DM -> DM -> Bool -> Slice -> IM -> IO ()
+casadi__DM__set__2 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__set__2 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_set__2 :: DMClass a => a -> DM -> Bool -> Slice -> IM -> IO ()
+dm_set__2 x = casadi__DM__set__2 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__set__3" c_casadi__DM__set__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
+
+casadi__DM__set__3
+  :: DM -> DM -> Bool -> Slice -> Slice -> IO ()
+casadi__DM__set__3 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__set__3 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_set__3 :: DMClass a => a -> DM -> Bool -> Slice -> Slice -> IO ()
+dm_set__3 x = casadi__DM__set__3 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__set__4" c_casadi__DM__set__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr Sparsity' -> IO ()
+
+casadi__DM__set__4
+  :: DM -> DM -> Bool -> Sparsity -> IO ()
+casadi__DM__set__4 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__set__4 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_set__4 :: DMClass a => a -> DM -> Bool -> Sparsity -> IO ()
+dm_set__4 x = casadi__DM__set__4 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__set__5" c_casadi__DM__set__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr IM' -> IO ()
+
+casadi__DM__set__5
+  :: DM -> DM -> Bool -> IM -> IO ()
+casadi__DM__set__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__set__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_set__5 :: DMClass a => a -> DM -> Bool -> IM -> IO ()
+dm_set__5 x = casadi__DM__set__5 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__set__6" c_casadi__DM__set__6
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr Slice' -> IO ()
+
+casadi__DM__set__6
+  :: DM -> DM -> Bool -> Slice -> IO ()
+casadi__DM__set__6 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__set__6 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_set__6 :: DMClass a => a -> DM -> Bool -> Slice -> IO ()
+dm_set__6 x = casadi__DM__set__6 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__set_max_depth__0" c_casadi__DM__set_max_depth__0
+  :: Ptr (Ptr StdString) -> IO ()
+
+casadi__DM__set_max_depth__0
+  :: IO ()
+casadi__DM__set_max_depth__0  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__set_max_depth__0 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ()
+
+
+
+-- classy wrapper
+dm_set_max_depth__0 :: IO ()
+dm_set_max_depth__0 = casadi__DM__set_max_depth__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__set_max_depth__1" c_casadi__DM__set_max_depth__1
+  :: Ptr (Ptr StdString) -> CLLong -> IO ()
+
+casadi__DM__set_max_depth__1
+  :: Int -> IO ()
+casadi__DM__set_max_depth__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__set_max_depth__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_set_max_depth__1 :: Int -> IO ()
+dm_set_max_depth__1 = casadi__DM__set_max_depth__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__set_nz__0" c_casadi__DM__set_nz__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr IM' -> IO ()
+
+casadi__DM__set_nz__0
+  :: DM -> DM -> Bool -> IM -> IO ()
+casadi__DM__set_nz__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__set_nz__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_set_nz__0 :: DMClass a => a -> DM -> Bool -> IM -> IO ()
+dm_set_nz__0 x = casadi__DM__set_nz__0 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__set_nz__1" c_casadi__DM__set_nz__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> Ptr Slice' -> IO ()
+
+casadi__DM__set_nz__1
+  :: DM -> DM -> Bool -> Slice -> IO ()
+casadi__DM__set_nz__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__set_nz__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_set_nz__1 :: DMClass a => a -> DM -> Bool -> Slice -> IO ()
+dm_set_nz__1 x = casadi__DM__set_nz__1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__set_precision" c_casadi__DM__set_precision
+  :: Ptr (Ptr StdString) -> CLLong -> IO ()
+
+casadi__DM__set_precision
+  :: Int -> IO ()
+casadi__DM__set_precision x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__set_precision errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_set_precision :: Int -> IO ()
+dm_set_precision = casadi__DM__set_precision
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__set_scientific" c_casadi__DM__set_scientific
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+
+casadi__DM__set_scientific
+  :: Bool -> IO ()
+casadi__DM__set_scientific x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__set_scientific errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_set_scientific :: Bool -> IO ()
+dm_set_scientific = casadi__DM__set_scientific
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__set_width" c_casadi__DM__set_width
+  :: Ptr (Ptr StdString) -> CLLong -> IO ()
+
+casadi__DM__set_width
+  :: Int -> IO ()
+casadi__DM__set_width x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__set_width errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_set_width :: Int -> IO ()
+dm_set_width = casadi__DM__set_width
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__size__0" c_casadi__DM__size__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> IO CLLong
+
+casadi__DM__size__0
+  :: DM -> Int -> IO Int
+casadi__DM__size__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__size__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_size__0 :: DMClass a => a -> Int -> IO Int
+dm_size__0 x = casadi__DM__size__0 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__size__1" c_casadi__DM__size__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdPair CLLong CLLong))
+
+casadi__DM__size__1
+  :: DM -> IO (Int, Int)
+casadi__DM__size__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__size__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_size__1 :: DMClass a => a -> IO (Int, Int)
+dm_size__1 x = casadi__DM__size__1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__size1" c_casadi__DM__size1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi__DM__size1
+  :: DM -> IO Int
+casadi__DM__size1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__size1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_size1 :: DMClass a => a -> IO Int
+dm_size1 x = casadi__DM__size1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__size2" c_casadi__DM__size2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi__DM__size2
+  :: DM -> IO Int
+casadi__DM__size2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__size2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_size2 :: DMClass a => a -> IO Int
+dm_size2 x = casadi__DM__size2 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__sparsity" c_casadi__DM__sparsity
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr Sparsity')
+
+casadi__DM__sparsity
+  :: DM -> IO Sparsity
+casadi__DM__sparsity x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__sparsity errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_sparsity :: DMClass a => a -> IO Sparsity
+dm_sparsity x = casadi__DM__sparsity (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__sym__0" c_casadi__DM__sym__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
+
+casadi__DM__sym__0
+  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector DM))
+casadi__DM__sym__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__sym__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector DM))
+dm_sym__0 = casadi__DM__sym__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__sym__1" c_casadi__DM__sym__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
+
+casadi__DM__sym__1
+  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector DM))
+casadi__DM__sym__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__sym__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector DM))
+dm_sym__1 = casadi__DM__sym__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__sym__2" c_casadi__DM__sym__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi__DM__sym__2
+  :: String -> Int -> Int -> Int -> IO (Vector DM)
+casadi__DM__sym__2 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__sym__2 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_sym__2 :: String -> Int -> Int -> Int -> IO (Vector DM)
+dm_sym__2 = casadi__DM__sym__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__sym__3" c_casadi__DM__sym__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CLLong -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi__DM__sym__3
+  :: String -> Sparsity -> Int -> IO (Vector DM)
+casadi__DM__sym__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__sym__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_sym__3 :: String -> Sparsity -> Int -> IO (Vector DM)
+dm_sym__3 = casadi__DM__sym__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__sym__4" c_casadi__DM__sym__4
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr DM')
+
+casadi__DM__sym__4
+  :: String -> Sparsity -> IO DM
+casadi__DM__sym__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__sym__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_sym__4 :: String -> Sparsity -> IO DM
+dm_sym__4 = casadi__DM__sym__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__sym__5" c_casadi__DM__sym__5
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdPair CLLong CLLong) -> IO (Ptr DM')
+
+casadi__DM__sym__5
+  :: String -> (Int, Int) -> IO DM
+casadi__DM__sym__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__sym__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_sym__5 :: String -> (Int, Int) -> IO DM
+dm_sym__5 = casadi__DM__sym__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__sym__6" c_casadi__DM__sym__6
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr DM')
+
+casadi__DM__sym__6
+  :: String -> IO DM
+casadi__DM__sym__6 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__sym__6 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_sym__6 :: String -> IO DM
+dm_sym__6 = casadi__DM__sym__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__sym__7" c_casadi__DM__sym__7
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> IO (Ptr DM')
+
+casadi__DM__sym__7
+  :: String -> Int -> IO DM
+casadi__DM__sym__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__sym__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_sym__7 :: String -> Int -> IO DM
+dm_sym__7 = casadi__DM__sym__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__sym__8" c_casadi__DM__sym__8
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> CLLong -> IO (Ptr DM')
+
+casadi__DM__sym__8
+  :: String -> Int -> Int -> IO DM
+casadi__DM__sym__8 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__sym__8 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_sym__8 :: String -> Int -> Int -> IO DM
+dm_sym__8 = casadi__DM__sym__8
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__to_file__0" c_casadi__DM__to_file__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr StdString -> IO ()
+
+casadi__DM__to_file__0
+  :: DM -> String -> IO ()
+casadi__DM__to_file__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__to_file__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_to_file__0 :: DMClass a => a -> String -> IO ()
+dm_to_file__0 x = casadi__DM__to_file__0 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__to_file__1" c_casadi__DM__to_file__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr StdString -> Ptr StdString -> IO ()
+
+casadi__DM__to_file__1
+  :: DM -> String -> String -> IO ()
+casadi__DM__to_file__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__to_file__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+dm_to_file__1 :: DMClass a => a -> String -> String -> IO ()
+dm_to_file__1 x = casadi__DM__to_file__1 (castDM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__triplet__0" c_casadi__DM__triplet__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr DM' -> Ptr (StdPair CLLong CLLong) -> IO (Ptr DM')
+
+casadi__DM__triplet__0
+  :: Vector Int -> Vector Int -> DM -> (Int, Int) -> IO DM
+casadi__DM__triplet__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__triplet__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_triplet__0 :: Vector Int -> Vector Int -> DM -> (Int, Int) -> IO DM
+dm_triplet__0 = casadi__DM__triplet__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__triplet__1" c_casadi__DM__triplet__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr DM' -> CLLong -> CLLong -> IO (Ptr DM')
+
+casadi__DM__triplet__1
+  :: Vector Int -> Vector Int -> DM -> Int -> Int -> IO DM
+casadi__DM__triplet__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__triplet__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_triplet__1 :: Vector Int -> Vector Int -> DM -> Int -> Int -> IO DM
+dm_triplet__1 = casadi__DM__triplet__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__triplet__2" c_casadi__DM__triplet__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr DM' -> IO (Ptr DM')
+
+casadi__DM__triplet__2
+  :: Vector Int -> Vector Int -> DM -> IO DM
+casadi__DM__triplet__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__triplet__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_triplet__2 :: Vector Int -> Vector Int -> DM -> IO DM
+dm_triplet__2 = casadi__DM__triplet__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__type_name" c_casadi__DM__type_name
+  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
+
+casadi__DM__type_name
+  :: IO String
+casadi__DM__type_name  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__type_name errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+dm_type_name :: IO String
+dm_type_name = casadi__DM__type_name
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__unary" c_casadi__DM__unary
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr DM' -> IO (Ptr DM')
+
+casadi__DM__unary
+  :: Int -> DM -> IO DM
+casadi__DM__unary x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__unary errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_unary :: Int -> DM -> IO DM
+dm_unary = casadi__DM__unary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__zeros__0" c_casadi__DM__zeros__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr DM')
+
+casadi__DM__zeros__0
+  :: (Int, Int) -> IO DM
+casadi__DM__zeros__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__zeros__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_zeros__0 :: (Int, Int) -> IO DM
+dm_zeros__0 = casadi__DM__zeros__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__zeros__1" c_casadi__DM__zeros__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DM')
+
+casadi__DM__zeros__1
+  :: Sparsity -> IO DM
+casadi__DM__zeros__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__zeros__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_zeros__1 :: Sparsity -> IO DM
+dm_zeros__1 = casadi__DM__zeros__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__zeros__2" c_casadi__DM__zeros__2
+  :: Ptr (Ptr StdString) -> IO (Ptr DM')
+
+casadi__DM__zeros__2
+  :: IO DM
+casadi__DM__zeros__2  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__zeros__2 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+dm_zeros__2 :: IO DM
+dm_zeros__2 = casadi__DM__zeros__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__zeros__3" c_casadi__DM__zeros__3
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr DM')
+
+casadi__DM__zeros__3
+  :: Int -> IO DM
+casadi__DM__zeros__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__zeros__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_zeros__3 :: Int -> IO DM
+dm_zeros__3 = casadi__DM__zeros__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DM__zeros__4" c_casadi__DM__zeros__4
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr DM')
+
+casadi__DM__zeros__4
+  :: Int -> Int -> IO DM
+casadi__DM__zeros__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DM__zeros__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+dm_zeros__4 :: Int -> Int -> IO DM
+dm_zeros__4 = casadi__DM__zeros__4
 
diff --git a/Casadi/Core/Classes/DaeBuilder.hs b/Casadi/Core/Classes/DaeBuilder.hs
--- a/Casadi/Core/Classes/DaeBuilder.hs
+++ b/Casadi/Core/Classes/DaeBuilder.hs
@@ -10,23 +10,26 @@
          DaeBuilder,
          DaeBuilderClass(..),
          daeBuilder,
-         daeBuilder_add_alg__0,
-         daeBuilder_add_alg__1,
-         daeBuilder_add_d__0,
-         daeBuilder_add_d__1,
-         daeBuilder_add_dae__0,
-         daeBuilder_add_dae__1,
+         daeBuilder_add_alg,
+         daeBuilder_add_aux__0,
+         daeBuilder_add_aux__1,
+         daeBuilder_add_aux__2,
+         daeBuilder_add_d,
+         daeBuilder_add_dae,
+         daeBuilder_add_fun__0,
+         daeBuilder_add_fun__1,
+         daeBuilder_add_fun__2,
+         daeBuilder_add_fun__3,
+         daeBuilder_add_fun__4,
          daeBuilder_add_lc,
-         daeBuilder_add_ode__0,
-         daeBuilder_add_ode__1,
+         daeBuilder_add_ode,
          daeBuilder_add_p__0,
          daeBuilder_add_p__1,
          daeBuilder_add_p__2,
          daeBuilder_add_q__0,
          daeBuilder_add_q__1,
          daeBuilder_add_q__2,
-         daeBuilder_add_quad__0,
-         daeBuilder_add_quad__1,
+         daeBuilder_add_quad,
          daeBuilder_add_s__0,
          daeBuilder_add_s__1,
          daeBuilder_add_s__2,
@@ -40,8 +43,7 @@
          daeBuilder_add_x__0,
          daeBuilder_add_x__1,
          daeBuilder_add_x__2,
-         daeBuilder_add_y__0,
-         daeBuilder_add_y__1,
+         daeBuilder_add_y,
          daeBuilder_add_z__0,
          daeBuilder_add_z__1,
          daeBuilder_add_z__2,
@@ -55,12 +57,14 @@
          daeBuilder_eliminate_alg,
          daeBuilder_eliminate_d,
          daeBuilder_eliminate_quad,
-         daeBuilder_getDescription,
-         daeBuilder_getRepresentation,
+         daeBuilder_fun,
+         daeBuilder_get_str__0,
+         daeBuilder_get_str__1,
          daeBuilder_guess__0,
          daeBuilder_guess__1,
          daeBuilder_guess__2,
          daeBuilder_guess__3,
+         daeBuilder_has_fun,
          daeBuilder_make_explicit,
          daeBuilder_make_semi_explicit,
          daeBuilder_max__0,
@@ -110,8 +114,10 @@
          daeBuilder_start__1,
          daeBuilder_start__2,
          daeBuilder_start__3,
+         daeBuilder_type_name,
          daeBuilder_unit__0,
          daeBuilder_unit__1,
+         daeBuilder_var,
          daeBuilder_variable__0,
          daeBuilder_variable__1,
        ) where
@@ -162,17 +168,18 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__add_alg__0" c_casadi__DaeBuilder__add_alg__0
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr MX' -> IO ()
+foreign import ccall unsafe "casadi__DaeBuilder__add_alg" c_casadi__DaeBuilder__add_alg
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> Ptr MX' -> IO ()
 
-casadi__DaeBuilder__add_alg__0
-  :: DaeBuilder -> MX -> IO ()
-casadi__DaeBuilder__add_alg__0 x0 x1 = do
+casadi__DaeBuilder__add_alg
+  :: DaeBuilder -> String -> MX -> IO ()
+casadi__DaeBuilder__add_alg x0 x1 x2 = do
   x0' <- marshal x0
   x1' <- marshal x1
+  x2' <- marshal x2
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__add_alg__0 errStrPtrP x0' x1'
+  ret0 <- c_casadi__DaeBuilder__add_alg errStrPtrP x0' x1' x2'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -180,32 +187,151 @@
 
   marshalFree x0 x0'
   marshalFree x1 x1'
+  marshalFree x2 x2'
 
   return ()
 
 
 
 -- classy wrapper
-daeBuilder_add_alg__0 :: DaeBuilderClass a => a -> MX -> IO ()
-daeBuilder_add_alg__0 x = casadi__DaeBuilder__add_alg__0 (castDaeBuilder x)
+daeBuilder_add_alg :: DaeBuilderClass a => a -> String -> MX -> IO ()
+daeBuilder_add_alg x = casadi__DaeBuilder__add_alg (castDaeBuilder x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__add_alg__1" c_casadi__DaeBuilder__add_alg__1
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr MX' -> Ptr StdString -> IO ()
+foreign import ccall unsafe "casadi__DaeBuilder__add_aux__0" c_casadi__DaeBuilder__add_aux__0
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> IO (Ptr MX')
 
-casadi__DaeBuilder__add_alg__1
-  :: DaeBuilder -> MX -> String -> IO ()
-casadi__DaeBuilder__add_alg__1 x0 x1 x2 = do
+casadi__DaeBuilder__add_aux__0
+  :: DaeBuilder -> IO MX
+casadi__DaeBuilder__add_aux__0 x0 = do
   x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DaeBuilder__add_aux__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+daeBuilder_add_aux__0 :: DaeBuilderClass a => a -> IO MX
+daeBuilder_add_aux__0 x = casadi__DaeBuilder__add_aux__0 (castDaeBuilder x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DaeBuilder__add_aux__1" c_casadi__DaeBuilder__add_aux__1
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> IO (Ptr MX')
+
+casadi__DaeBuilder__add_aux__1
+  :: DaeBuilder -> String -> IO MX
+casadi__DaeBuilder__add_aux__1 x0 x1 = do
+  x0' <- marshal x0
   x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DaeBuilder__add_aux__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+daeBuilder_add_aux__1 :: DaeBuilderClass a => a -> String -> IO MX
+daeBuilder_add_aux__1 x = casadi__DaeBuilder__add_aux__1 (castDaeBuilder x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DaeBuilder__add_aux__2" c_casadi__DaeBuilder__add_aux__2
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CLLong -> IO (Ptr MX')
+
+casadi__DaeBuilder__add_aux__2
+  :: DaeBuilder -> String -> Int -> IO MX
+casadi__DaeBuilder__add_aux__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
   x2' <- marshal x2
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__add_alg__1 errStrPtrP x0' x1' x2'
+  ret0 <- c_casadi__DaeBuilder__add_aux__2 errStrPtrP x0' x1' x2'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+daeBuilder_add_aux__2 :: DaeBuilderClass a => a -> String -> Int -> IO MX
+daeBuilder_add_aux__2 x = casadi__DaeBuilder__add_aux__2 (castDaeBuilder x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DaeBuilder__add_d" c_casadi__DaeBuilder__add_d
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> Ptr MX' -> IO (Ptr MX')
+
+casadi__DaeBuilder__add_d
+  :: DaeBuilder -> String -> MX -> IO MX
+casadi__DaeBuilder__add_d x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DaeBuilder__add_d errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+daeBuilder_add_d :: DaeBuilderClass a => a -> String -> MX -> IO MX
+daeBuilder_add_d x = casadi__DaeBuilder__add_d (castDaeBuilder x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DaeBuilder__add_dae" c_casadi__DaeBuilder__add_dae
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> Ptr MX' -> IO ()
+
+casadi__DaeBuilder__add_dae
+  :: DaeBuilder -> String -> MX -> IO ()
+casadi__DaeBuilder__add_dae x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DaeBuilder__add_dae errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
   () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
 
   marshalFree x0 x0'
@@ -217,22 +343,23 @@
 
 
 -- classy wrapper
-daeBuilder_add_alg__1 :: DaeBuilderClass a => a -> MX -> String -> IO ()
-daeBuilder_add_alg__1 x = casadi__DaeBuilder__add_alg__1 (castDaeBuilder x)
+daeBuilder_add_dae :: DaeBuilderClass a => a -> String -> MX -> IO ()
+daeBuilder_add_dae x = casadi__DaeBuilder__add_dae (castDaeBuilder x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__add_d__0" c_casadi__DaeBuilder__add_d__0
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr MX' -> IO (Ptr MX')
+foreign import ccall unsafe "casadi__DaeBuilder__add_fun__0" c_casadi__DaeBuilder__add_fun__0
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> Ptr Importer' -> IO (Ptr Function')
 
-casadi__DaeBuilder__add_d__0
-  :: DaeBuilder -> MX -> IO MX
-casadi__DaeBuilder__add_d__0 x0 x1 = do
+casadi__DaeBuilder__add_fun__0
+  :: DaeBuilder -> String -> Importer -> IO Function
+casadi__DaeBuilder__add_fun__0 x0 x1 x2 = do
   x0' <- marshal x0
   x1' <- marshal x1
+  x2' <- marshal x2
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__add_d__0 errStrPtrP x0' x1'
+  ret0 <- c_casadi__DaeBuilder__add_fun__0 errStrPtrP x0' x1' x2'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -240,29 +367,31 @@
 
   marshalFree x0 x0'
   marshalFree x1 x1'
+  marshalFree x2 x2'
 
   return ret
 
 
 
 -- classy wrapper
-daeBuilder_add_d__0 :: DaeBuilderClass a => a -> MX -> IO MX
-daeBuilder_add_d__0 x = casadi__DaeBuilder__add_d__0 (castDaeBuilder x)
+daeBuilder_add_fun__0 :: DaeBuilderClass a => a -> String -> Importer -> IO Function
+daeBuilder_add_fun__0 x = casadi__DaeBuilder__add_fun__0 (castDaeBuilder x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__add_d__1" c_casadi__DaeBuilder__add_d__1
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
+foreign import ccall unsafe "casadi__DaeBuilder__add_fun__1" c_casadi__DaeBuilder__add_fun__1
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> Ptr Importer' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
 
-casadi__DaeBuilder__add_d__1
-  :: DaeBuilder -> MX -> String -> IO MX
-casadi__DaeBuilder__add_d__1 x0 x1 x2 = do
+casadi__DaeBuilder__add_fun__1
+  :: DaeBuilder -> String -> Importer -> M.Map String GenericType -> IO Function
+casadi__DaeBuilder__add_fun__1 x0 x1 x2 x3 = do
   x0' <- marshal x0
   x1' <- marshal x1
   x2' <- marshal x2
+  x3' <- marshal x3
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__add_d__1 errStrPtrP x0' x1' x2'
+  ret0 <- c_casadi__DaeBuilder__add_fun__1 errStrPtrP x0' x1' x2' x3'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -271,89 +400,94 @@
   marshalFree x0 x0'
   marshalFree x1 x1'
   marshalFree x2 x2'
+  marshalFree x3 x3'
 
   return ret
 
 
 
 -- classy wrapper
-daeBuilder_add_d__1 :: DaeBuilderClass a => a -> MX -> String -> IO MX
-daeBuilder_add_d__1 x = casadi__DaeBuilder__add_d__1 (castDaeBuilder x)
+daeBuilder_add_fun__1 :: DaeBuilderClass a => a -> String -> Importer -> M.Map String GenericType -> IO Function
+daeBuilder_add_fun__1 x = casadi__DaeBuilder__add_fun__1 (castDaeBuilder x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__add_dae__0" c_casadi__DaeBuilder__add_dae__0
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr MX' -> IO ()
+foreign import ccall unsafe "casadi__DaeBuilder__add_fun__2" c_casadi__DaeBuilder__add_fun__2
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr Function' -> IO (Ptr Function')
 
-casadi__DaeBuilder__add_dae__0
-  :: DaeBuilder -> MX -> IO ()
-casadi__DaeBuilder__add_dae__0 x0 x1 = do
+casadi__DaeBuilder__add_fun__2
+  :: DaeBuilder -> Function -> IO Function
+casadi__DaeBuilder__add_fun__2 x0 x1 = do
   x0' <- marshal x0
   x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__add_dae__0 errStrPtrP x0' x1'
+  ret0 <- c_casadi__DaeBuilder__add_fun__2 errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
 
   marshalFree x0 x0'
   marshalFree x1 x1'
 
-  return ()
+  return ret
 
 
 
 -- classy wrapper
-daeBuilder_add_dae__0 :: DaeBuilderClass a => a -> MX -> IO ()
-daeBuilder_add_dae__0 x = casadi__DaeBuilder__add_dae__0 (castDaeBuilder x)
+daeBuilder_add_fun__2 :: DaeBuilderClass a => a -> Function -> IO Function
+daeBuilder_add_fun__2 x = casadi__DaeBuilder__add_fun__2 (castDaeBuilder x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__add_dae__1" c_casadi__DaeBuilder__add_dae__1
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr MX' -> Ptr StdString -> IO ()
+foreign import ccall unsafe "casadi__DaeBuilder__add_fun__3" c_casadi__DaeBuilder__add_fun__3
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
 
-casadi__DaeBuilder__add_dae__1
-  :: DaeBuilder -> MX -> String -> IO ()
-casadi__DaeBuilder__add_dae__1 x0 x1 x2 = do
+casadi__DaeBuilder__add_fun__3
+  :: DaeBuilder -> String -> Vector String -> Vector String -> IO Function
+casadi__DaeBuilder__add_fun__3 x0 x1 x2 x3 = do
   x0' <- marshal x0
   x1' <- marshal x1
   x2' <- marshal x2
+  x3' <- marshal x3
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__add_dae__1 errStrPtrP x0' x1' x2'
+  ret0 <- c_casadi__DaeBuilder__add_fun__3 errStrPtrP x0' x1' x2' x3'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
 
   marshalFree x0 x0'
   marshalFree x1 x1'
   marshalFree x2 x2'
+  marshalFree x3 x3'
 
-  return ()
+  return ret
 
 
 
 -- classy wrapper
-daeBuilder_add_dae__1 :: DaeBuilderClass a => a -> MX -> String -> IO ()
-daeBuilder_add_dae__1 x = casadi__DaeBuilder__add_dae__1 (castDaeBuilder x)
+daeBuilder_add_fun__3 :: DaeBuilderClass a => a -> String -> Vector String -> Vector String -> IO Function
+daeBuilder_add_fun__3 x = casadi__DaeBuilder__add_fun__3 (castDaeBuilder x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__add_lc" c_casadi__DaeBuilder__add_lc
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr MX')
+foreign import ccall unsafe "casadi__DaeBuilder__add_fun__4" c_casadi__DaeBuilder__add_fun__4
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
 
-casadi__DaeBuilder__add_lc
-  :: DaeBuilder -> String -> Vector String -> IO MX
-casadi__DaeBuilder__add_lc x0 x1 x2 = do
+casadi__DaeBuilder__add_fun__4
+  :: DaeBuilder -> String -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+casadi__DaeBuilder__add_fun__4 x0 x1 x2 x3 x4 = do
   x0' <- marshal x0
   x1' <- marshal x1
   x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__add_lc errStrPtrP x0' x1' x2'
+  ret0 <- c_casadi__DaeBuilder__add_fun__4 errStrPtrP x0' x1' x2' x3' x4'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -362,58 +496,62 @@
   marshalFree x0 x0'
   marshalFree x1 x1'
   marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
 
   return ret
 
 
 
 -- classy wrapper
-daeBuilder_add_lc :: DaeBuilderClass a => a -> String -> Vector String -> IO MX
-daeBuilder_add_lc x = casadi__DaeBuilder__add_lc (castDaeBuilder x)
+daeBuilder_add_fun__4 :: DaeBuilderClass a => a -> String -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+daeBuilder_add_fun__4 x = casadi__DaeBuilder__add_fun__4 (castDaeBuilder x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__add_ode__0" c_casadi__DaeBuilder__add_ode__0
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr MX' -> IO ()
+foreign import ccall unsafe "casadi__DaeBuilder__add_lc" c_casadi__DaeBuilder__add_lc
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr MX')
 
-casadi__DaeBuilder__add_ode__0
-  :: DaeBuilder -> MX -> IO ()
-casadi__DaeBuilder__add_ode__0 x0 x1 = do
+casadi__DaeBuilder__add_lc
+  :: DaeBuilder -> String -> Vector String -> IO MX
+casadi__DaeBuilder__add_lc x0 x1 x2 = do
   x0' <- marshal x0
   x1' <- marshal x1
+  x2' <- marshal x2
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__add_ode__0 errStrPtrP x0' x1'
+  ret0 <- c_casadi__DaeBuilder__add_lc errStrPtrP x0' x1' x2'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
 
   marshalFree x0 x0'
   marshalFree x1 x1'
+  marshalFree x2 x2'
 
-  return ()
+  return ret
 
 
 
 -- classy wrapper
-daeBuilder_add_ode__0 :: DaeBuilderClass a => a -> MX -> IO ()
-daeBuilder_add_ode__0 x = casadi__DaeBuilder__add_ode__0 (castDaeBuilder x)
+daeBuilder_add_lc :: DaeBuilderClass a => a -> String -> Vector String -> IO MX
+daeBuilder_add_lc x = casadi__DaeBuilder__add_lc (castDaeBuilder x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__add_ode__1" c_casadi__DaeBuilder__add_ode__1
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr MX' -> Ptr StdString -> IO ()
+foreign import ccall unsafe "casadi__DaeBuilder__add_ode" c_casadi__DaeBuilder__add_ode
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> Ptr MX' -> IO ()
 
-casadi__DaeBuilder__add_ode__1
-  :: DaeBuilder -> MX -> String -> IO ()
-casadi__DaeBuilder__add_ode__1 x0 x1 x2 = do
+casadi__DaeBuilder__add_ode
+  :: DaeBuilder -> String -> MX -> IO ()
+casadi__DaeBuilder__add_ode x0 x1 x2 = do
   x0' <- marshal x0
   x1' <- marshal x1
   x2' <- marshal x2
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__add_ode__1 errStrPtrP x0' x1' x2'
+  ret0 <- c_casadi__DaeBuilder__add_ode errStrPtrP x0' x1' x2'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -428,8 +566,8 @@
 
 
 -- classy wrapper
-daeBuilder_add_ode__1 :: DaeBuilderClass a => a -> MX -> String -> IO ()
-daeBuilder_add_ode__1 x = casadi__DaeBuilder__add_ode__1 (castDaeBuilder x)
+daeBuilder_add_ode :: DaeBuilderClass a => a -> String -> MX -> IO ()
+daeBuilder_add_ode x = casadi__DaeBuilder__add_ode (castDaeBuilder x)
 
 
 -- direct wrapper
@@ -490,7 +628,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__DaeBuilder__add_p__2" c_casadi__DaeBuilder__add_p__2
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CInt -> IO (Ptr MX')
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CLLong -> IO (Ptr MX')
 
 casadi__DaeBuilder__add_p__2
   :: DaeBuilder -> String -> Int -> IO MX
@@ -577,7 +715,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__DaeBuilder__add_q__2" c_casadi__DaeBuilder__add_q__2
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CInt -> IO (Ptr MX')
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CLLong -> IO (Ptr MX')
 
 casadi__DaeBuilder__add_q__2
   :: DaeBuilder -> String -> Int -> IO MX
@@ -607,47 +745,18 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__add_quad__0" c_casadi__DaeBuilder__add_quad__0
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr MX' -> IO ()
-
-casadi__DaeBuilder__add_quad__0
-  :: DaeBuilder -> MX -> IO ()
-casadi__DaeBuilder__add_quad__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__add_quad__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-daeBuilder_add_quad__0 :: DaeBuilderClass a => a -> MX -> IO ()
-daeBuilder_add_quad__0 x = casadi__DaeBuilder__add_quad__0 (castDaeBuilder x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__add_quad__1" c_casadi__DaeBuilder__add_quad__1
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr MX' -> Ptr StdString -> IO ()
+foreign import ccall unsafe "casadi__DaeBuilder__add_quad" c_casadi__DaeBuilder__add_quad
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> Ptr MX' -> IO ()
 
-casadi__DaeBuilder__add_quad__1
-  :: DaeBuilder -> MX -> String -> IO ()
-casadi__DaeBuilder__add_quad__1 x0 x1 x2 = do
+casadi__DaeBuilder__add_quad
+  :: DaeBuilder -> String -> MX -> IO ()
+casadi__DaeBuilder__add_quad x0 x1 x2 = do
   x0' <- marshal x0
   x1' <- marshal x1
   x2' <- marshal x2
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__add_quad__1 errStrPtrP x0' x1' x2'
+  ret0 <- c_casadi__DaeBuilder__add_quad errStrPtrP x0' x1' x2'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -662,8 +771,8 @@
 
 
 -- classy wrapper
-daeBuilder_add_quad__1 :: DaeBuilderClass a => a -> MX -> String -> IO ()
-daeBuilder_add_quad__1 x = casadi__DaeBuilder__add_quad__1 (castDaeBuilder x)
+daeBuilder_add_quad :: DaeBuilderClass a => a -> String -> MX -> IO ()
+daeBuilder_add_quad x = casadi__DaeBuilder__add_quad (castDaeBuilder x)
 
 
 -- direct wrapper
@@ -724,7 +833,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__DaeBuilder__add_s__2" c_casadi__DaeBuilder__add_s__2
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CInt -> IO (Ptr (StdPair (Ptr MX') (Ptr MX')))
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CLLong -> IO (Ptr (StdPair (Ptr MX') (Ptr MX')))
 
 casadi__DaeBuilder__add_s__2
   :: DaeBuilder -> String -> Int -> IO (MX, MX)
@@ -811,7 +920,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__DaeBuilder__add_u__2" c_casadi__DaeBuilder__add_u__2
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CInt -> IO (Ptr MX')
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CLLong -> IO (Ptr MX')
 
 casadi__DaeBuilder__add_u__2
   :: DaeBuilder -> String -> Int -> IO MX
@@ -902,7 +1011,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__DaeBuilder__add_variable__2" c_casadi__DaeBuilder__add_variable__2
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CInt -> IO (Ptr MX')
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CLLong -> IO (Ptr MX')
 
 casadi__DaeBuilder__add_variable__2
   :: DaeBuilder -> String -> Int -> IO MX
@@ -1020,7 +1129,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__DaeBuilder__add_x__2" c_casadi__DaeBuilder__add_x__2
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CInt -> IO (Ptr MX')
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CLLong -> IO (Ptr MX')
 
 casadi__DaeBuilder__add_x__2
   :: DaeBuilder -> String -> Int -> IO MX
@@ -1050,47 +1159,18 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__add_y__0" c_casadi__DaeBuilder__add_y__0
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr MX' -> IO (Ptr MX')
-
-casadi__DaeBuilder__add_y__0
-  :: DaeBuilder -> MX -> IO MX
-casadi__DaeBuilder__add_y__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__add_y__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-daeBuilder_add_y__0 :: DaeBuilderClass a => a -> MX -> IO MX
-daeBuilder_add_y__0 x = casadi__DaeBuilder__add_y__0 (castDaeBuilder x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__add_y__1" c_casadi__DaeBuilder__add_y__1
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
+foreign import ccall unsafe "casadi__DaeBuilder__add_y" c_casadi__DaeBuilder__add_y
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> Ptr MX' -> IO (Ptr MX')
 
-casadi__DaeBuilder__add_y__1
-  :: DaeBuilder -> MX -> String -> IO MX
-casadi__DaeBuilder__add_y__1 x0 x1 x2 = do
+casadi__DaeBuilder__add_y
+  :: DaeBuilder -> String -> MX -> IO MX
+casadi__DaeBuilder__add_y x0 x1 x2 = do
   x0' <- marshal x0
   x1' <- marshal x1
   x2' <- marshal x2
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__add_y__1 errStrPtrP x0' x1' x2'
+  ret0 <- c_casadi__DaeBuilder__add_y errStrPtrP x0' x1' x2'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -1105,8 +1185,8 @@
 
 
 -- classy wrapper
-daeBuilder_add_y__1 :: DaeBuilderClass a => a -> MX -> String -> IO MX
-daeBuilder_add_y__1 x = casadi__DaeBuilder__add_y__1 (castDaeBuilder x)
+daeBuilder_add_y :: DaeBuilderClass a => a -> String -> MX -> IO MX
+daeBuilder_add_y x = casadi__DaeBuilder__add_y (castDaeBuilder x)
 
 
 -- direct wrapper
@@ -1167,7 +1247,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__DaeBuilder__add_z__2" c_casadi__DaeBuilder__add_z__2
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CInt -> IO (Ptr MX')
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> CLLong -> IO (Ptr MX')
 
 casadi__DaeBuilder__add_z__2
   :: DaeBuilder -> String -> Int -> IO MX
@@ -1489,6 +1569,91 @@
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__DaeBuilder__fun" c_casadi__DaeBuilder__fun
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> IO (Ptr Function')
+
+casadi__DaeBuilder__fun
+  :: DaeBuilder -> String -> IO Function
+casadi__DaeBuilder__fun x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DaeBuilder__fun errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+daeBuilder_fun :: DaeBuilderClass a => a -> String -> IO Function
+daeBuilder_fun x = casadi__DaeBuilder__fun (castDaeBuilder x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DaeBuilder__get_str__0" c_casadi__DaeBuilder__get_str__0
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> IO (Ptr StdString)
+
+casadi__DaeBuilder__get_str__0
+  :: DaeBuilder -> IO String
+casadi__DaeBuilder__get_str__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DaeBuilder__get_str__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+daeBuilder_get_str__0 :: DaeBuilderClass a => a -> IO String
+daeBuilder_get_str__0 x = casadi__DaeBuilder__get_str__0 (castDaeBuilder x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DaeBuilder__get_str__1" c_casadi__DaeBuilder__get_str__1
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> CInt -> IO (Ptr StdString)
+
+casadi__DaeBuilder__get_str__1
+  :: DaeBuilder -> Bool -> IO String
+casadi__DaeBuilder__get_str__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DaeBuilder__get_str__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+daeBuilder_get_str__1 :: DaeBuilderClass a => a -> Bool -> IO String
+daeBuilder_get_str__1 x = casadi__DaeBuilder__get_str__1 (castDaeBuilder x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__DaeBuilder__guess__0" c_casadi__DaeBuilder__guess__0
   :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr MX' -> IO (Ptr (StdVec CDouble))
 
@@ -1609,6 +1774,35 @@
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__DaeBuilder__has_fun" c_casadi__DaeBuilder__has_fun
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> IO CInt
+
+casadi__DaeBuilder__has_fun
+  :: DaeBuilder -> String -> IO Bool
+casadi__DaeBuilder__has_fun x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DaeBuilder__has_fun errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+daeBuilder_has_fun :: DaeBuilderClass a => a -> String -> IO Bool
+daeBuilder_has_fun x = casadi__DaeBuilder__has_fun (castDaeBuilder x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__DaeBuilder__make_explicit" c_casadi__DaeBuilder__make_explicit
   :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> IO ()
 
@@ -3088,6 +3282,33 @@
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__DaeBuilder__type_name" c_casadi__DaeBuilder__type_name
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> IO (Ptr StdString)
+
+casadi__DaeBuilder__type_name
+  :: DaeBuilder -> IO String
+casadi__DaeBuilder__type_name x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__DaeBuilder__type_name errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+daeBuilder_type_name :: DaeBuilderClass a => a -> IO String
+daeBuilder_type_name x = casadi__DaeBuilder__type_name (castDaeBuilder x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__DaeBuilder__unit__0" c_casadi__DaeBuilder__unit__0
   :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr MX' -> IO (Ptr StdString)
 
@@ -3146,17 +3367,17 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__variable__0" c_casadi__DaeBuilder__variable__0
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> IO (Ptr Variable')
+foreign import ccall unsafe "casadi__DaeBuilder__var" c_casadi__DaeBuilder__var
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> IO (Ptr MX')
 
-casadi__DaeBuilder__variable__0
-  :: DaeBuilder -> String -> IO Variable
-casadi__DaeBuilder__variable__0 x0 x1 = do
+casadi__DaeBuilder__var
+  :: DaeBuilder -> String -> IO MX
+casadi__DaeBuilder__var x0 x1 = do
   x0' <- marshal x0
   x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__variable__0 errStrPtrP x0' x1'
+  ret0 <- c_casadi__DaeBuilder__var errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -3170,22 +3391,22 @@
 
 
 -- classy wrapper
-daeBuilder_variable__0 :: DaeBuilderClass a => a -> String -> IO Variable
-daeBuilder_variable__0 x = casadi__DaeBuilder__variable__0 (castDaeBuilder x)
+daeBuilder_var :: DaeBuilderClass a => a -> String -> IO MX
+daeBuilder_var x = casadi__DaeBuilder__var (castDaeBuilder x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__variable__1" c_casadi__DaeBuilder__variable__1
+foreign import ccall unsafe "casadi__DaeBuilder__variable__0" c_casadi__DaeBuilder__variable__0
   :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> IO (Ptr Variable')
 
-casadi__DaeBuilder__variable__1
+casadi__DaeBuilder__variable__0
   :: DaeBuilder -> String -> IO Variable
-casadi__DaeBuilder__variable__1 x0 x1 = do
+casadi__DaeBuilder__variable__0 x0 x1 = do
   x0' <- marshal x0
   x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__variable__1 errStrPtrP x0' x1'
+  ret0 <- c_casadi__DaeBuilder__variable__0 errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -3199,60 +3420,35 @@
 
 
 -- classy wrapper
-daeBuilder_variable__1 :: DaeBuilderClass a => a -> String -> IO Variable
-daeBuilder_variable__1 x = casadi__DaeBuilder__variable__1 (castDaeBuilder x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__getRepresentation" c_casadi__DaeBuilder__getRepresentation
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> IO (Ptr StdString)
-
-casadi__DaeBuilder__getRepresentation
-  :: DaeBuilder -> IO String
-casadi__DaeBuilder__getRepresentation x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__getRepresentation errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-daeBuilder_getRepresentation :: DaeBuilderClass a => a -> IO String
-daeBuilder_getRepresentation x = casadi__DaeBuilder__getRepresentation (castDaeBuilder x)
+daeBuilder_variable__0 :: DaeBuilderClass a => a -> String -> IO Variable
+daeBuilder_variable__0 x = casadi__DaeBuilder__variable__0 (castDaeBuilder x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DaeBuilder__getDescription" c_casadi__DaeBuilder__getDescription
-  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> IO (Ptr StdString)
+foreign import ccall unsafe "casadi__DaeBuilder__variable__1" c_casadi__DaeBuilder__variable__1
+  :: Ptr (Ptr StdString) -> Ptr DaeBuilder' -> Ptr StdString -> IO (Ptr Variable')
 
-casadi__DaeBuilder__getDescription
-  :: DaeBuilder -> IO String
-casadi__DaeBuilder__getDescription x0 = do
+casadi__DaeBuilder__variable__1
+  :: DaeBuilder -> String -> IO Variable
+casadi__DaeBuilder__variable__1 x0 x1 = do
   x0' <- marshal x0
+  x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__DaeBuilder__getDescription errStrPtrP x0'
+  ret0 <- c_casadi__DaeBuilder__variable__1 errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
   ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
 
   marshalFree x0 x0'
+  marshalFree x1 x1'
 
   return ret
 
 
 
 -- classy wrapper
-daeBuilder_getDescription :: DaeBuilderClass a => a -> IO String
-daeBuilder_getDescription x = casadi__DaeBuilder__getDescription (castDaeBuilder x)
+daeBuilder_variable__1 :: DaeBuilderClass a => a -> String -> IO Variable
+daeBuilder_variable__1 x = casadi__DaeBuilder__variable__1 (castDaeBuilder x)
 
diff --git a/Casadi/Core/Classes/Function.hs b/Casadi/Core/Classes/Function.hs
--- a/Casadi/Core/Classes/Function.hs
+++ b/Casadi/Core/Classes/Function.hs
@@ -25,7849 +25,6359 @@
          function__9,
          function_assert_size_in,
          function_assert_size_out,
-         function_call__0,
-         function_call__1,
-         function_call__10,
-         function_call__11,
-         function_call__12,
-         function_call__13,
-         function_call__14,
-         function_call__15,
-         function_call__16,
-         function_call__17,
-         function_call__2,
-         function_call__3,
-         function_call__4,
-         function_call__5,
-         function_call__6,
-         function_call__7,
-         function_call__8,
-         function_call__9,
-         function_checkInputs,
-         function_check_name,
-         function_checkout,
-         function_conditional__0,
-         function_conditional__1,
-         function_conic_debug,
-         function_default_in,
-         function_expand__0,
-         function_expand__1,
-         function_expand__2,
-         function_factory,
-         function_fix_name,
-         function_forward__0,
-         function_forward__1,
-         function_forward__2,
-         function_forward__3,
-         function_forward__4,
-         function_forward__5,
-         function_forward__6,
-         function_forward__7,
-         function_forward__8,
-         function_forward__9,
-         function_forward_new,
-         function_free_mx,
-         function_free_sx,
-         function_fullJacobian,
-         function_generate__0,
-         function_generate__1,
-         function_generate__2,
-         function_generate__3,
-         function_generate_dependencies__0,
-         function_generate_dependencies__1,
-         function_generate_lifted,
-         function_getAlgorithmSize,
-         function_getAtomicInput,
-         function_getAtomicInputReal,
-         function_getAtomicOperation,
-         function_getAtomicOutput,
-         function_getWorkSize,
-         function_get_function__0,
-         function_get_function__1,
-         function_gradient__0,
-         function_gradient__1,
-         function_gradient__2,
-         function_gradient__3,
-         function_gradient__4,
-         function_gradient__5,
-         function_gradient__6,
-         function_has_free,
-         function_has_function,
-         function_hessian__0,
-         function_hessian__1,
-         function_hessian__2,
-         function_hessian__3,
-         function_hessian__4,
-         function_hessian__5,
-         function_hessian__6,
-         function_if_else__0,
-         function_if_else__1,
-         function_index_in,
-         function_index_out,
-         function_is_a__0,
-         function_is_a__1,
-         function_jacobian__0,
-         function_jacobian__1,
-         function_jacobian__10,
-         function_jacobian__11,
-         function_jacobian__12,
-         function_jacobian__13,
-         function_jacobian__14,
-         function_jacobian__2,
-         function_jacobian__3,
-         function_jacobian__4,
-         function_jacobian__5,
-         function_jacobian__6,
-         function_jacobian__7,
-         function_jacobian__8,
-         function_jacobian__9,
-         function_map__0,
-         function_map__1,
-         function_map__2,
-         function_map__3,
-         function_map__4,
-         function_map__5,
-         function_map__6,
-         function_map__7,
-         function_mapaccum__0,
-         function_mapaccum__1,
-         function_mapaccum__2,
-         function_mapaccum__3,
-         function_mapaccum__4,
-         function_mapaccum__5,
-         function_mapaccum__6,
-         function_mapsum__0,
-         function_mapsum__1,
-         function_mx_in__0,
-         function_mx_in__1,
-         function_mx_in__2,
-         function_mx_out__0,
-         function_mx_out__1,
-         function_mx_out__2,
-         function_n_in,
-         function_n_nodes,
-         function_n_out,
-         function_name,
-         function_name_in__0,
-         function_name_in__1,
-         function_name_out__0,
-         function_name_out__1,
-         function_nnz_in__0,
-         function_nnz_in__1,
-         function_nnz_in__2,
-         function_nnz_out__0,
-         function_nnz_out__1,
-         function_nnz_out__2,
-         function_numel_in__0,
-         function_numel_in__1,
-         function_numel_in__2,
-         function_numel_out__0,
-         function_numel_out__1,
-         function_numel_out__2,
-         function_oracle,
-         function_print_dimensions,
-         function_print_free,
-         function_print_option,
-         function_print_options,
-         function_release,
-         function_reverse__0,
-         function_reverse__1,
-         function_reverse__2,
-         function_reverse__3,
-         function_reverse__4,
-         function_reverse__5,
-         function_reverse__6,
-         function_reverse__7,
-         function_reverse__8,
-         function_reverse__9,
-         function_reverse_new,
-         function_rootfinder_fun,
-         function_setFullJacobian,
-         function_setJacobian__0,
-         function_setJacobian__1,
-         function_setJacobian__2,
-         function_setJacobian__3,
-         function_set_jac_sparsity__0,
-         function_set_jac_sparsity__1,
-         function_set_jac_sparsity__2,
-         function_set_jac_sparsity__3,
-         function_set_jac_sparsity__4,
-         function_set_jac_sparsity__5,
-         function_set_jac_sparsity__6,
-         function_set_jac_sparsity__7,
-         function_size1_in__0,
-         function_size1_in__1,
-         function_size1_out__0,
-         function_size1_out__1,
-         function_size2_in__0,
-         function_size2_in__1,
-         function_size2_out__0,
-         function_size2_out__1,
-         function_size_in__0,
-         function_size_in__1,
-         function_size_out__0,
-         function_size_out__1,
-         function_slice__0,
-         function_slice__1,
-         function_spCanEvaluate,
-         function_sparsity_in__0,
-         function_sparsity_in__1,
-         function_sparsity_jac__0,
-         function_sparsity_jac__1,
-         function_sparsity_jac__10,
-         function_sparsity_jac__11,
-         function_sparsity_jac__12,
-         function_sparsity_jac__13,
-         function_sparsity_jac__14,
-         function_sparsity_jac__2,
-         function_sparsity_jac__3,
-         function_sparsity_jac__4,
-         function_sparsity_jac__5,
-         function_sparsity_jac__6,
-         function_sparsity_jac__7,
-         function_sparsity_jac__8,
-         function_sparsity_jac__9,
-         function_sparsity_out__0,
-         function_sparsity_out__1,
-         function_stats__0,
-         function_stats__1,
-         function_sx_in__0,
-         function_sx_in__1,
-         function_sx_in__2,
-         function_sx_out__0,
-         function_sx_out__1,
-         function_sx_out__2,
-         function_sz_arg,
-         function_sz_iw,
-         function_sz_res,
-         function_sz_w,
-         function_tangent__0,
-         function_tangent__1,
-         function_tangent__2,
-         function_tangent__3,
-         function_tangent__4,
-         function_tangent__5,
-         function_tangent__6,
-         function_type_name,
-         function_which_depends__0,
-         function_which_depends__1,
-         function_which_depends__2,
-         function_wrap,
-       ) where
-
-
-import Prelude hiding ( Functor )
-
-import Data.Vector ( Vector )
-import qualified Data.Map as M
-import Foreign.C.Types
-import Foreign.Marshal ( new, free )
-import Foreign.Storable ( peek )
-import Foreign.Ptr ( Ptr, nullPtr )
-import Foreign.ForeignPtr ( newForeignPtr )
-import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
-
-import Casadi.Internal.FormatException ( formatException )
-import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
-import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
-import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-import Casadi.Core.Data
-import Casadi.Core.Enums
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__0" c_casadi__Function__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
-
-casadi__Function__CONSTRUCTOR__0
-  :: String -> M.Map String MX -> Vector String -> Vector String -> IO Function
-casadi__Function__CONSTRUCTOR__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__CONSTRUCTOR__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function__0 :: String -> M.Map String MX -> Vector String -> Vector String -> IO Function
-function__0 = casadi__Function__CONSTRUCTOR__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__1" c_casadi__Function__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__CONSTRUCTOR__1
-  :: String -> M.Map String MX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-casadi__Function__CONSTRUCTOR__1 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__CONSTRUCTOR__1 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function__1 :: String -> M.Map String MX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-function__1 = casadi__Function__CONSTRUCTOR__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__2" c_casadi__Function__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
-
-casadi__Function__CONSTRUCTOR__2
-  :: String -> Vector MX -> Vector MX -> Vector String -> Vector String -> IO Function
-casadi__Function__CONSTRUCTOR__2 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__CONSTRUCTOR__2 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function__2 :: String -> Vector MX -> Vector MX -> Vector String -> Vector String -> IO Function
-function__2 = casadi__Function__CONSTRUCTOR__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__3" c_casadi__Function__CONSTRUCTOR__3
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__CONSTRUCTOR__3
-  :: String -> Vector MX -> Vector MX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-casadi__Function__CONSTRUCTOR__3 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__CONSTRUCTOR__3 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ret
-
-
-
--- classy wrapper
-function__3 :: String -> Vector MX -> Vector MX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-function__3 = casadi__Function__CONSTRUCTOR__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__4" c_casadi__Function__CONSTRUCTOR__4
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr Function')
-
-casadi__Function__CONSTRUCTOR__4
-  :: String -> Vector MX -> Vector MX -> IO Function
-casadi__Function__CONSTRUCTOR__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__CONSTRUCTOR__4 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function__4 :: String -> Vector MX -> Vector MX -> IO Function
-function__4 = casadi__Function__CONSTRUCTOR__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__5" c_casadi__Function__CONSTRUCTOR__5
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__CONSTRUCTOR__5
-  :: String -> Vector MX -> Vector MX -> M.Map String GenericType -> IO Function
-casadi__Function__CONSTRUCTOR__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__CONSTRUCTOR__5 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function__5 :: String -> Vector MX -> Vector MX -> M.Map String GenericType -> IO Function
-function__5 = casadi__Function__CONSTRUCTOR__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__6" c_casadi__Function__CONSTRUCTOR__6
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
-
-casadi__Function__CONSTRUCTOR__6
-  :: String -> M.Map String SX -> Vector String -> Vector String -> IO Function
-casadi__Function__CONSTRUCTOR__6 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__CONSTRUCTOR__6 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function__6 :: String -> M.Map String SX -> Vector String -> Vector String -> IO Function
-function__6 = casadi__Function__CONSTRUCTOR__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__7" c_casadi__Function__CONSTRUCTOR__7
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__CONSTRUCTOR__7
-  :: String -> M.Map String SX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-casadi__Function__CONSTRUCTOR__7 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__CONSTRUCTOR__7 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function__7 :: String -> M.Map String SX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-function__7 = casadi__Function__CONSTRUCTOR__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__8" c_casadi__Function__CONSTRUCTOR__8
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
-
-casadi__Function__CONSTRUCTOR__8
-  :: String -> Vector SX -> Vector SX -> Vector String -> Vector String -> IO Function
-casadi__Function__CONSTRUCTOR__8 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__CONSTRUCTOR__8 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function__8 :: String -> Vector SX -> Vector SX -> Vector String -> Vector String -> IO Function
-function__8 = casadi__Function__CONSTRUCTOR__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__9" c_casadi__Function__CONSTRUCTOR__9
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__CONSTRUCTOR__9
-  :: String -> Vector SX -> Vector SX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-casadi__Function__CONSTRUCTOR__9 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__CONSTRUCTOR__9 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ret
-
-
-
--- classy wrapper
-function__9 :: String -> Vector SX -> Vector SX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-function__9 = casadi__Function__CONSTRUCTOR__9
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__10" c_casadi__Function__CONSTRUCTOR__10
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr Function')
-
-casadi__Function__CONSTRUCTOR__10
-  :: String -> Vector SX -> Vector SX -> IO Function
-casadi__Function__CONSTRUCTOR__10 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__CONSTRUCTOR__10 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function__10 :: String -> Vector SX -> Vector SX -> IO Function
-function__10 = casadi__Function__CONSTRUCTOR__10
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__11" c_casadi__Function__CONSTRUCTOR__11
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__CONSTRUCTOR__11
-  :: String -> Vector SX -> Vector SX -> M.Map String GenericType -> IO Function
-casadi__Function__CONSTRUCTOR__11 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__CONSTRUCTOR__11 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function__11 :: String -> Vector SX -> Vector SX -> M.Map String GenericType -> IO Function
-function__11 = casadi__Function__CONSTRUCTOR__11
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__12" c_casadi__Function__CONSTRUCTOR__12
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__CONSTRUCTOR__12
-  :: String -> IO Function
-casadi__Function__CONSTRUCTOR__12 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__CONSTRUCTOR__12 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function__12 :: String -> IO Function
-function__12 = casadi__Function__CONSTRUCTOR__12
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__13" c_casadi__Function__CONSTRUCTOR__13
-  :: Ptr (Ptr StdString) -> IO (Ptr Function')
-
-casadi__Function__CONSTRUCTOR__13
-  :: IO Function
-casadi__Function__CONSTRUCTOR__13  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__CONSTRUCTOR__13 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-function__13 :: IO Function
-function__13 = casadi__Function__CONSTRUCTOR__13
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__assert_size_in" c_casadi__Function__assert_size_in
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> IO ()
-
-casadi__Function__assert_size_in
-  :: Function -> Int -> Int -> Int -> IO ()
-casadi__Function__assert_size_in x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__assert_size_in errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-function_assert_size_in :: FunctionClass a => a -> Int -> Int -> Int -> IO ()
-function_assert_size_in x = casadi__Function__assert_size_in (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__assert_size_out" c_casadi__Function__assert_size_out
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> IO ()
-
-casadi__Function__assert_size_out
-  :: Function -> Int -> Int -> Int -> IO ()
-casadi__Function__assert_size_out x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__assert_size_out errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-function_assert_size_out :: FunctionClass a => a -> Int -> Int -> Int -> IO ()
-function_assert_size_out x = casadi__Function__assert_size_out (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__0" c_casadi__Function__call__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (Ptr (StdMap StdString (Ptr MX'))) -> IO ()
-
-casadi__Function__call__0
-  :: Function -> M.Map String MX -> IO (M.Map String MX)
-casadi__Function__call__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__0 errStrPtrP x0' x1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__0/c_casadi__Function__call__0" else wrapReturn o2''
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__0 :: FunctionClass a => a -> M.Map String MX -> IO (M.Map String MX)
-function_call__0 x = casadi__Function__call__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__1" c_casadi__Function__call__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (Ptr (StdMap StdString (Ptr MX'))) -> CInt -> IO ()
-
-casadi__Function__call__1
-  :: Function -> M.Map String MX -> Bool -> IO (M.Map String MX)
-casadi__Function__call__1 x0 x1 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__1 errStrPtrP x0' x1' o2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__1/c_casadi__Function__call__1" else wrapReturn o2''
-  marshalFree x3 x3'
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__1 :: FunctionClass a => a -> M.Map String MX -> Bool -> IO (M.Map String MX)
-function_call__1 x = casadi__Function__call__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__2" c_casadi__Function__call__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (Ptr (StdMap StdString (Ptr MX'))) -> CInt -> CInt -> IO ()
-
-casadi__Function__call__2
-  :: Function -> M.Map String MX -> Bool -> Bool -> IO (M.Map String MX)
-casadi__Function__call__2 x0 x1 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__2 errStrPtrP x0' x1' o2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__2/c_casadi__Function__call__2" else wrapReturn o2''
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__2 :: FunctionClass a => a -> M.Map String MX -> Bool -> Bool -> IO (M.Map String MX)
-function_call__2 x = casadi__Function__call__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__3" c_casadi__Function__call__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (Ptr (StdMap StdString (Ptr SX'))) -> IO ()
-
-casadi__Function__call__3
-  :: Function -> M.Map String SX -> IO (M.Map String SX)
-casadi__Function__call__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__3 errStrPtrP x0' x1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__3/c_casadi__Function__call__3" else wrapReturn o2''
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__3 :: FunctionClass a => a -> M.Map String SX -> IO (M.Map String SX)
-function_call__3 x = casadi__Function__call__3 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__4" c_casadi__Function__call__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (Ptr (StdMap StdString (Ptr SX'))) -> CInt -> IO ()
-
-casadi__Function__call__4
-  :: Function -> M.Map String SX -> Bool -> IO (M.Map String SX)
-casadi__Function__call__4 x0 x1 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__4 errStrPtrP x0' x1' o2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__4/c_casadi__Function__call__4" else wrapReturn o2''
-  marshalFree x3 x3'
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__4 :: FunctionClass a => a -> M.Map String SX -> Bool -> IO (M.Map String SX)
-function_call__4 x = casadi__Function__call__4 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__5" c_casadi__Function__call__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (Ptr (StdMap StdString (Ptr SX'))) -> CInt -> CInt -> IO ()
-
-casadi__Function__call__5
-  :: Function -> M.Map String SX -> Bool -> Bool -> IO (M.Map String SX)
-casadi__Function__call__5 x0 x1 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__5 errStrPtrP x0' x1' o2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__5/c_casadi__Function__call__5" else wrapReturn o2''
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__5 :: FunctionClass a => a -> M.Map String SX -> Bool -> Bool -> IO (M.Map String SX)
-function_call__5 x = casadi__Function__call__5 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__6" c_casadi__Function__call__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr DM')) -> Ptr (Ptr (StdMap StdString (Ptr DM'))) -> IO ()
-
-casadi__Function__call__6
-  :: Function -> M.Map String DM -> IO (M.Map String DM)
-casadi__Function__call__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__6 errStrPtrP x0' x1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__6/c_casadi__Function__call__6" else wrapReturn o2''
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__6 :: FunctionClass a => a -> M.Map String DM -> IO (M.Map String DM)
-function_call__6 x = casadi__Function__call__6 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__7" c_casadi__Function__call__7
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr DM')) -> Ptr (Ptr (StdMap StdString (Ptr DM'))) -> CInt -> IO ()
-
-casadi__Function__call__7
-  :: Function -> M.Map String DM -> Bool -> IO (M.Map String DM)
-casadi__Function__call__7 x0 x1 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__7 errStrPtrP x0' x1' o2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__7/c_casadi__Function__call__7" else wrapReturn o2''
-  marshalFree x3 x3'
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__7 :: FunctionClass a => a -> M.Map String DM -> Bool -> IO (M.Map String DM)
-function_call__7 x = casadi__Function__call__7 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__8" c_casadi__Function__call__8
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr DM')) -> Ptr (Ptr (StdMap StdString (Ptr DM'))) -> CInt -> CInt -> IO ()
-
-casadi__Function__call__8
-  :: Function -> M.Map String DM -> Bool -> Bool -> IO (M.Map String DM)
-casadi__Function__call__8 x0 x1 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__8 errStrPtrP x0' x1' o2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__8/c_casadi__Function__call__8" else wrapReturn o2''
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__8 :: FunctionClass a => a -> M.Map String DM -> Bool -> Bool -> IO (M.Map String DM)
-function_call__8 x = casadi__Function__call__8 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__9" c_casadi__Function__call__9
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (Ptr (StdVec (Ptr MX'))) -> IO ()
-
-casadi__Function__call__9
-  :: Function -> Vector MX -> IO (Vector MX)
-casadi__Function__call__9 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__9 errStrPtrP x0' x1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__9/c_casadi__Function__call__9" else wrapReturn o2''
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__9 :: FunctionClass a => a -> Vector MX -> IO (Vector MX)
-function_call__9 x = casadi__Function__call__9 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__10" c_casadi__Function__call__10
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (Ptr (StdVec (Ptr MX'))) -> CInt -> IO ()
-
-casadi__Function__call__10
-  :: Function -> Vector MX -> Bool -> IO (Vector MX)
-casadi__Function__call__10 x0 x1 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__10 errStrPtrP x0' x1' o2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__10/c_casadi__Function__call__10" else wrapReturn o2''
-  marshalFree x3 x3'
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__10 :: FunctionClass a => a -> Vector MX -> Bool -> IO (Vector MX)
-function_call__10 x = casadi__Function__call__10 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__11" c_casadi__Function__call__11
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (Ptr (StdVec (Ptr MX'))) -> CInt -> CInt -> IO ()
-
-casadi__Function__call__11
-  :: Function -> Vector MX -> Bool -> Bool -> IO (Vector MX)
-casadi__Function__call__11 x0 x1 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__11 errStrPtrP x0' x1' o2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__11/c_casadi__Function__call__11" else wrapReturn o2''
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__11 :: FunctionClass a => a -> Vector MX -> Bool -> Bool -> IO (Vector MX)
-function_call__11 x = casadi__Function__call__11 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__12" c_casadi__Function__call__12
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (Ptr (StdVec (Ptr SX'))) -> IO ()
-
-casadi__Function__call__12
-  :: Function -> Vector SX -> IO (Vector SX)
-casadi__Function__call__12 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__12 errStrPtrP x0' x1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__12/c_casadi__Function__call__12" else wrapReturn o2''
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__12 :: FunctionClass a => a -> Vector SX -> IO (Vector SX)
-function_call__12 x = casadi__Function__call__12 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__13" c_casadi__Function__call__13
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (Ptr (StdVec (Ptr SX'))) -> CInt -> IO ()
-
-casadi__Function__call__13
-  :: Function -> Vector SX -> Bool -> IO (Vector SX)
-casadi__Function__call__13 x0 x1 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__13 errStrPtrP x0' x1' o2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__13/c_casadi__Function__call__13" else wrapReturn o2''
-  marshalFree x3 x3'
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__13 :: FunctionClass a => a -> Vector SX -> Bool -> IO (Vector SX)
-function_call__13 x = casadi__Function__call__13 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__14" c_casadi__Function__call__14
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (Ptr (StdVec (Ptr SX'))) -> CInt -> CInt -> IO ()
-
-casadi__Function__call__14
-  :: Function -> Vector SX -> Bool -> Bool -> IO (Vector SX)
-casadi__Function__call__14 x0 x1 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__14 errStrPtrP x0' x1' o2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__14/c_casadi__Function__call__14" else wrapReturn o2''
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__14 :: FunctionClass a => a -> Vector SX -> Bool -> Bool -> IO (Vector SX)
-function_call__14 x = casadi__Function__call__14 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__15" c_casadi__Function__call__15
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (Ptr (StdVec (Ptr DM'))) -> IO ()
-
-casadi__Function__call__15
-  :: Function -> Vector DM -> IO (Vector DM)
-casadi__Function__call__15 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__15 errStrPtrP x0' x1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__15/c_casadi__Function__call__15" else wrapReturn o2''
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__15 :: FunctionClass a => a -> Vector DM -> IO (Vector DM)
-function_call__15 x = casadi__Function__call__15 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__16" c_casadi__Function__call__16
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (Ptr (StdVec (Ptr DM'))) -> CInt -> IO ()
-
-casadi__Function__call__16
-  :: Function -> Vector DM -> Bool -> IO (Vector DM)
-casadi__Function__call__16 x0 x1 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__16 errStrPtrP x0' x1' o2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__16/c_casadi__Function__call__16" else wrapReturn o2''
-  marshalFree x3 x3'
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__16 :: FunctionClass a => a -> Vector DM -> Bool -> IO (Vector DM)
-function_call__16 x = casadi__Function__call__16 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__call__17" c_casadi__Function__call__17
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (Ptr (StdVec (Ptr DM'))) -> CInt -> CInt -> IO ()
-
-casadi__Function__call__17
-  :: Function -> Vector DM -> Bool -> Bool -> IO (Vector DM)
-casadi__Function__call__17 x0 x1 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__call__17 errStrPtrP x0' x1' o2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__17/c_casadi__Function__call__17" else wrapReturn o2''
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o2''')
-
-
-
--- classy wrapper
-function_call__17 :: FunctionClass a => a -> Vector DM -> Bool -> Bool -> IO (Vector DM)
-function_call__17 x = casadi__Function__call__17 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__checkInputs" c_casadi__Function__checkInputs
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO ()
-
-casadi__Function__checkInputs
-  :: Function -> IO ()
-casadi__Function__checkInputs x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__checkInputs errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-function_checkInputs :: FunctionClass a => a -> IO ()
-function_checkInputs x = casadi__Function__checkInputs (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__check_name" c_casadi__Function__check_name
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
-
-casadi__Function__check_name
-  :: String -> IO Bool
-casadi__Function__check_name x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__check_name errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_check_name :: String -> IO Bool
-function_check_name = casadi__Function__check_name
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__checkout" c_casadi__Function__checkout
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
-
-casadi__Function__checkout
-  :: Function -> IO Int
-casadi__Function__checkout x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__checkout errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_checkout :: FunctionClass a => a -> IO Int
-function_checkout x = casadi__Function__checkout (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__conditional__0" c_casadi__Function__conditional__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr Function')) -> Ptr Function' -> IO (Ptr Function')
-
-casadi__Function__conditional__0
-  :: String -> Vector Function -> Function -> IO Function
-casadi__Function__conditional__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__conditional__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_conditional__0 :: String -> Vector Function -> Function -> IO Function
-function_conditional__0 = casadi__Function__conditional__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__conditional__1" c_casadi__Function__conditional__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr Function')) -> Ptr Function' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__conditional__1
-  :: String -> Vector Function -> Function -> M.Map String GenericType -> IO Function
-casadi__Function__conditional__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__conditional__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_conditional__1 :: String -> Vector Function -> Function -> M.Map String GenericType -> IO Function
-function_conditional__1 = casadi__Function__conditional__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__conic_debug" c_casadi__Function__conic_debug
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO ()
-
-casadi__Function__conic_debug
-  :: Function -> String -> IO ()
-casadi__Function__conic_debug x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__conic_debug errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-function_conic_debug :: FunctionClass a => a -> String -> IO ()
-function_conic_debug x = casadi__Function__conic_debug (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__default_in" c_casadi__Function__default_in
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO CDouble
-
-casadi__Function__default_in
-  :: Function -> Int -> IO Double
-casadi__Function__default_in x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__default_in errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_default_in :: FunctionClass a => a -> Int -> IO Double
-function_default_in x = casadi__Function__default_in (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__expand__0" c_casadi__Function__expand__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__expand__0
-  :: Function -> String -> IO Function
-casadi__Function__expand__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__expand__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_expand__0 :: FunctionClass a => a -> String -> IO Function
-function_expand__0 x = casadi__Function__expand__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__expand__1" c_casadi__Function__expand__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__expand__1
-  :: Function -> String -> M.Map String GenericType -> IO Function
-casadi__Function__expand__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__expand__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_expand__1 :: FunctionClass a => a -> String -> M.Map String GenericType -> IO Function
-function_expand__1 x = casadi__Function__expand__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__expand__2" c_casadi__Function__expand__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-
-casadi__Function__expand__2
-  :: Function -> IO Function
-casadi__Function__expand__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__expand__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_expand__2 :: FunctionClass a => a -> IO Function
-function_expand__2 x = casadi__Function__expand__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__factory" c_casadi__Function__factory
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
-
-casadi__Function__factory
-  :: Function -> String -> Vector String -> Vector String -> IO Function
-casadi__Function__factory x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__factory errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_factory :: FunctionClass a => a -> String -> Vector String -> Vector String -> IO Function
-function_factory x = casadi__Function__factory (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__fix_name" c_casadi__Function__fix_name
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
-
-casadi__Function__fix_name
-  :: String -> IO String
-casadi__Function__fix_name x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__fix_name errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_fix_name :: String -> IO String
-function_fix_name = casadi__Function__fix_name
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__forward__0" c_casadi__Function__forward__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
-
-casadi__Function__forward__0
-  :: Function -> Int -> IO Function
-casadi__Function__forward__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__forward__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_forward__0 :: FunctionClass a => a -> Int -> IO Function
-function_forward__0 x = casadi__Function__forward__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__forward__1" c_casadi__Function__forward__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr DM'))))) -> IO ()
-
-casadi__Function__forward__1
-  :: Function -> Vector DM -> Vector DM -> Vector (Vector DM) -> IO (Vector (Vector DM))
-casadi__Function__forward__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__forward__1 errStrPtrP x0' x1' x2' x3' o4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__forward__1/c_casadi__Function__forward__1" else wrapReturn o4''
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_forward__1 :: FunctionClass a => a -> Vector DM -> Vector DM -> Vector (Vector DM) -> IO (Vector (Vector DM))
-function_forward__1 x = casadi__Function__forward__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__forward__2" c_casadi__Function__forward__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr DM'))))) -> CInt -> IO ()
-
-casadi__Function__forward__2
-  :: Function -> Vector DM -> Vector DM -> Vector (Vector DM) -> Bool -> IO (Vector (Vector DM))
-casadi__Function__forward__2 x0 x1 x2 x3 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__forward__2 errStrPtrP x0' x1' x2' x3' o4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__forward__2/c_casadi__Function__forward__2" else wrapReturn o4''
-  marshalFree x5 x5'
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_forward__2 :: FunctionClass a => a -> Vector DM -> Vector DM -> Vector (Vector DM) -> Bool -> IO (Vector (Vector DM))
-function_forward__2 x = casadi__Function__forward__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__forward__3" c_casadi__Function__forward__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr DM'))))) -> CInt -> CInt -> IO ()
-
-casadi__Function__forward__3
-  :: Function -> Vector DM -> Vector DM -> Vector (Vector DM) -> Bool -> Bool -> IO (Vector (Vector DM))
-casadi__Function__forward__3 x0 x1 x2 x3 x5 x6 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  x6' <- marshal x6
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__forward__3 errStrPtrP x0' x1' x2' x3' o4' x5' x6'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__forward__3/c_casadi__Function__forward__3" else wrapReturn o4''
-  marshalFree x5 x5'
-  marshalFree x6 x6'
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_forward__3 :: FunctionClass a => a -> Vector DM -> Vector DM -> Vector (Vector DM) -> Bool -> Bool -> IO (Vector (Vector DM))
-function_forward__3 x = casadi__Function__forward__3 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__forward__4" c_casadi__Function__forward__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr SX'))))) -> IO ()
-
-casadi__Function__forward__4
-  :: Function -> Vector SX -> Vector SX -> Vector (Vector SX) -> IO (Vector (Vector SX))
-casadi__Function__forward__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__forward__4 errStrPtrP x0' x1' x2' x3' o4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__forward__4/c_casadi__Function__forward__4" else wrapReturn o4''
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_forward__4 :: FunctionClass a => a -> Vector SX -> Vector SX -> Vector (Vector SX) -> IO (Vector (Vector SX))
-function_forward__4 x = casadi__Function__forward__4 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__forward__5" c_casadi__Function__forward__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr SX'))))) -> CInt -> IO ()
-
-casadi__Function__forward__5
-  :: Function -> Vector SX -> Vector SX -> Vector (Vector SX) -> Bool -> IO (Vector (Vector SX))
-casadi__Function__forward__5 x0 x1 x2 x3 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__forward__5 errStrPtrP x0' x1' x2' x3' o4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__forward__5/c_casadi__Function__forward__5" else wrapReturn o4''
-  marshalFree x5 x5'
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_forward__5 :: FunctionClass a => a -> Vector SX -> Vector SX -> Vector (Vector SX) -> Bool -> IO (Vector (Vector SX))
-function_forward__5 x = casadi__Function__forward__5 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__forward__6" c_casadi__Function__forward__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr SX'))))) -> CInt -> CInt -> IO ()
-
-casadi__Function__forward__6
-  :: Function -> Vector SX -> Vector SX -> Vector (Vector SX) -> Bool -> Bool -> IO (Vector (Vector SX))
-casadi__Function__forward__6 x0 x1 x2 x3 x5 x6 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  x6' <- marshal x6
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__forward__6 errStrPtrP x0' x1' x2' x3' o4' x5' x6'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__forward__6/c_casadi__Function__forward__6" else wrapReturn o4''
-  marshalFree x5 x5'
-  marshalFree x6 x6'
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_forward__6 :: FunctionClass a => a -> Vector SX -> Vector SX -> Vector (Vector SX) -> Bool -> Bool -> IO (Vector (Vector SX))
-function_forward__6 x = casadi__Function__forward__6 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__forward__7" c_casadi__Function__forward__7
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr MX'))))) -> IO ()
-
-casadi__Function__forward__7
-  :: Function -> Vector MX -> Vector MX -> Vector (Vector MX) -> IO (Vector (Vector MX))
-casadi__Function__forward__7 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__forward__7 errStrPtrP x0' x1' x2' x3' o4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__forward__7/c_casadi__Function__forward__7" else wrapReturn o4''
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_forward__7 :: FunctionClass a => a -> Vector MX -> Vector MX -> Vector (Vector MX) -> IO (Vector (Vector MX))
-function_forward__7 x = casadi__Function__forward__7 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__forward__8" c_casadi__Function__forward__8
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr MX'))))) -> CInt -> IO ()
-
-casadi__Function__forward__8
-  :: Function -> Vector MX -> Vector MX -> Vector (Vector MX) -> Bool -> IO (Vector (Vector MX))
-casadi__Function__forward__8 x0 x1 x2 x3 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__forward__8 errStrPtrP x0' x1' x2' x3' o4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__forward__8/c_casadi__Function__forward__8" else wrapReturn o4''
-  marshalFree x5 x5'
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_forward__8 :: FunctionClass a => a -> Vector MX -> Vector MX -> Vector (Vector MX) -> Bool -> IO (Vector (Vector MX))
-function_forward__8 x = casadi__Function__forward__8 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__forward__9" c_casadi__Function__forward__9
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr MX'))))) -> CInt -> CInt -> IO ()
-
-casadi__Function__forward__9
-  :: Function -> Vector MX -> Vector MX -> Vector (Vector MX) -> Bool -> Bool -> IO (Vector (Vector MX))
-casadi__Function__forward__9 x0 x1 x2 x3 x5 x6 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  x6' <- marshal x6
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__forward__9 errStrPtrP x0' x1' x2' x3' o4' x5' x6'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__forward__9/c_casadi__Function__forward__9" else wrapReturn o4''
-  marshalFree x5 x5'
-  marshalFree x6 x6'
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_forward__9 :: FunctionClass a => a -> Vector MX -> Vector MX -> Vector (Vector MX) -> Bool -> Bool -> IO (Vector (Vector MX))
-function_forward__9 x = casadi__Function__forward__9 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__forward_new" c_casadi__Function__forward_new
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
-
-casadi__Function__forward_new
-  :: Function -> Int -> IO Function
-casadi__Function__forward_new x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__forward_new errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_forward_new :: FunctionClass a => a -> Int -> IO Function
-function_forward_new x = casadi__Function__forward_new (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__free_mx" c_casadi__Function__free_mx
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi__Function__free_mx
-  :: Function -> IO (Vector MX)
-casadi__Function__free_mx x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__free_mx errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_free_mx :: FunctionClass a => a -> IO (Vector MX)
-function_free_mx x = casadi__Function__free_mx (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__free_sx" c_casadi__Function__free_sx
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi__Function__free_sx
-  :: Function -> IO (Vector SX)
-casadi__Function__free_sx x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__free_sx errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_free_sx :: FunctionClass a => a -> IO (Vector SX)
-function_free_sx x = casadi__Function__free_sx (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__fullJacobian" c_casadi__Function__fullJacobian
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-
-casadi__Function__fullJacobian
-  :: Function -> IO Function
-casadi__Function__fullJacobian x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__fullJacobian errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_fullJacobian :: FunctionClass a => a -> IO Function
-function_fullJacobian x = casadi__Function__fullJacobian (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__generate__0" c_casadi__Function__generate__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr StdString)
-
-casadi__Function__generate__0
-  :: Function -> IO String
-casadi__Function__generate__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__generate__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_generate__0 :: FunctionClass a => a -> IO String
-function_generate__0 x = casadi__Function__generate__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__generate__1" c_casadi__Function__generate__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr StdString)
-
-casadi__Function__generate__1
-  :: Function -> M.Map String GenericType -> IO String
-casadi__Function__generate__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__generate__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_generate__1 :: FunctionClass a => a -> M.Map String GenericType -> IO String
-function_generate__1 x = casadi__Function__generate__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__generate__2" c_casadi__Function__generate__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr StdString)
-
-casadi__Function__generate__2
-  :: Function -> String -> IO String
-casadi__Function__generate__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__generate__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_generate__2 :: FunctionClass a => a -> String -> IO String
-function_generate__2 x = casadi__Function__generate__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__generate__3" c_casadi__Function__generate__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr StdString)
-
-casadi__Function__generate__3
-  :: Function -> String -> M.Map String GenericType -> IO String
-casadi__Function__generate__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__generate__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_generate__3 :: FunctionClass a => a -> String -> M.Map String GenericType -> IO String
-function_generate__3 x = casadi__Function__generate__3 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__generate_dependencies__0" c_casadi__Function__generate_dependencies__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr StdString)
-
-casadi__Function__generate_dependencies__0
-  :: Function -> String -> IO String
-casadi__Function__generate_dependencies__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__generate_dependencies__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_generate_dependencies__0 :: FunctionClass a => a -> String -> IO String
-function_generate_dependencies__0 x = casadi__Function__generate_dependencies__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__generate_dependencies__1" c_casadi__Function__generate_dependencies__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr StdString)
-
-casadi__Function__generate_dependencies__1
-  :: Function -> String -> M.Map String GenericType -> IO String
-casadi__Function__generate_dependencies__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__generate_dependencies__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_generate_dependencies__1 :: FunctionClass a => a -> String -> M.Map String GenericType -> IO String
-function_generate_dependencies__1 x = casadi__Function__generate_dependencies__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__generate_lifted" c_casadi__Function__generate_lifted
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (Ptr Function') -> Ptr (Ptr Function') -> IO ()
-
-casadi__Function__generate_lifted
-  :: Function -> IO (Function, Function)
-casadi__Function__generate_lifted x0 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__generate_lifted errStrPtrP x0' o1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Function__generate_lifted/c_casadi__Function__generate_lifted" else wrapReturn o1''
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__generate_lifted/c_casadi__Function__generate_lifted" else wrapReturn o2''
-
-  return (o1''', o2''')
-
-
-
--- classy wrapper
-function_generate_lifted :: FunctionClass a => a -> IO (Function, Function)
-function_generate_lifted x = casadi__Function__generate_lifted (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__getAlgorithmSize" c_casadi__Function__getAlgorithmSize
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
-
-casadi__Function__getAlgorithmSize
-  :: Function -> IO Int
-casadi__Function__getAlgorithmSize x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__getAlgorithmSize errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_getAlgorithmSize :: FunctionClass a => a -> IO Int
-function_getAlgorithmSize x = casadi__Function__getAlgorithmSize (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__getAtomicInput" c_casadi__Function__getAtomicInput
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr (StdPair CInt CInt))
-
-casadi__Function__getAtomicInput
-  :: Function -> Int -> IO (Int, Int)
-casadi__Function__getAtomicInput x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__getAtomicInput errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_getAtomicInput :: FunctionClass a => a -> Int -> IO (Int, Int)
-function_getAtomicInput x = casadi__Function__getAtomicInput (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__getAtomicInputReal" c_casadi__Function__getAtomicInputReal
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO CDouble
-
-casadi__Function__getAtomicInputReal
-  :: Function -> Int -> IO Double
-casadi__Function__getAtomicInputReal x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__getAtomicInputReal errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_getAtomicInputReal :: FunctionClass a => a -> Int -> IO Double
-function_getAtomicInputReal x = casadi__Function__getAtomicInputReal (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__getAtomicOperation" c_casadi__Function__getAtomicOperation
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO CInt
-
-casadi__Function__getAtomicOperation
-  :: Function -> Int -> IO Int
-casadi__Function__getAtomicOperation x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__getAtomicOperation errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_getAtomicOperation :: FunctionClass a => a -> Int -> IO Int
-function_getAtomicOperation x = casadi__Function__getAtomicOperation (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__getAtomicOutput" c_casadi__Function__getAtomicOutput
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO CInt
-
-casadi__Function__getAtomicOutput
-  :: Function -> Int -> IO Int
-casadi__Function__getAtomicOutput x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__getAtomicOutput errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_getAtomicOutput :: FunctionClass a => a -> Int -> IO Int
-function_getAtomicOutput x = casadi__Function__getAtomicOutput (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__getWorkSize" c_casadi__Function__getWorkSize
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
-
-casadi__Function__getWorkSize
-  :: Function -> IO Int
-casadi__Function__getWorkSize x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__getWorkSize errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_getWorkSize :: FunctionClass a => a -> IO Int
-function_getWorkSize x = casadi__Function__getWorkSize (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__get_function__0" c_casadi__Function__get_function__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__get_function__0
-  :: Function -> String -> IO Function
-casadi__Function__get_function__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__get_function__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_get_function__0 :: FunctionClass a => a -> String -> IO Function
-function_get_function__0 x = casadi__Function__get_function__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__get_function__1" c_casadi__Function__get_function__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr StdString)))
-
-casadi__Function__get_function__1
-  :: Function -> IO (Vector String)
-casadi__Function__get_function__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__get_function__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_get_function__1 :: FunctionClass a => a -> IO (Vector String)
-function_get_function__1 x = casadi__Function__get_function__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__gradient__0" c_casadi__Function__gradient__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__gradient__0
-  :: Function -> String -> String -> IO Function
-casadi__Function__gradient__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__gradient__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_gradient__0 :: FunctionClass a => a -> String -> String -> IO Function
-function_gradient__0 x = casadi__Function__gradient__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__gradient__1" c_casadi__Function__gradient__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__gradient__1
-  :: Function -> Int -> String -> IO Function
-casadi__Function__gradient__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__gradient__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_gradient__1 :: FunctionClass a => a -> Int -> String -> IO Function
-function_gradient__1 x = casadi__Function__gradient__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__gradient__2" c_casadi__Function__gradient__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__gradient__2
-  :: Function -> String -> IO Function
-casadi__Function__gradient__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__gradient__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_gradient__2 :: FunctionClass a => a -> String -> IO Function
-function_gradient__2 x = casadi__Function__gradient__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__gradient__3" c_casadi__Function__gradient__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr Function')
-
-casadi__Function__gradient__3
-  :: Function -> String -> Int -> IO Function
-casadi__Function__gradient__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__gradient__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_gradient__3 :: FunctionClass a => a -> String -> Int -> IO Function
-function_gradient__3 x = casadi__Function__gradient__3 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__gradient__4" c_casadi__Function__gradient__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-
-casadi__Function__gradient__4
-  :: Function -> IO Function
-casadi__Function__gradient__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__gradient__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_gradient__4 :: FunctionClass a => a -> IO Function
-function_gradient__4 x = casadi__Function__gradient__4 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__gradient__5" c_casadi__Function__gradient__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
-
-casadi__Function__gradient__5
-  :: Function -> Int -> IO Function
-casadi__Function__gradient__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__gradient__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_gradient__5 :: FunctionClass a => a -> Int -> IO Function
-function_gradient__5 x = casadi__Function__gradient__5 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__gradient__6" c_casadi__Function__gradient__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
-
-casadi__Function__gradient__6
-  :: Function -> Int -> Int -> IO Function
-casadi__Function__gradient__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__gradient__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_gradient__6 :: FunctionClass a => a -> Int -> Int -> IO Function
-function_gradient__6 x = casadi__Function__gradient__6 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__has_free" c_casadi__Function__has_free
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
-
-casadi__Function__has_free
-  :: Function -> IO Bool
-casadi__Function__has_free x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__has_free errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_has_free :: FunctionClass a => a -> IO Bool
-function_has_free x = casadi__Function__has_free (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__has_function" c_casadi__Function__has_function
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CInt
-
-casadi__Function__has_function
-  :: Function -> String -> IO Bool
-casadi__Function__has_function x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__has_function errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_has_function :: FunctionClass a => a -> String -> IO Bool
-function_has_function x = casadi__Function__has_function (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__hessian__0" c_casadi__Function__hessian__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__hessian__0
-  :: Function -> String -> String -> IO Function
-casadi__Function__hessian__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__hessian__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_hessian__0 :: FunctionClass a => a -> String -> String -> IO Function
-function_hessian__0 x = casadi__Function__hessian__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__hessian__1" c_casadi__Function__hessian__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__hessian__1
-  :: Function -> Int -> String -> IO Function
-casadi__Function__hessian__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__hessian__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_hessian__1 :: FunctionClass a => a -> Int -> String -> IO Function
-function_hessian__1 x = casadi__Function__hessian__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__hessian__2" c_casadi__Function__hessian__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__hessian__2
-  :: Function -> String -> IO Function
-casadi__Function__hessian__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__hessian__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_hessian__2 :: FunctionClass a => a -> String -> IO Function
-function_hessian__2 x = casadi__Function__hessian__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__hessian__3" c_casadi__Function__hessian__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr Function')
-
-casadi__Function__hessian__3
-  :: Function -> String -> Int -> IO Function
-casadi__Function__hessian__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__hessian__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_hessian__3 :: FunctionClass a => a -> String -> Int -> IO Function
-function_hessian__3 x = casadi__Function__hessian__3 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__hessian__4" c_casadi__Function__hessian__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-
-casadi__Function__hessian__4
-  :: Function -> IO Function
-casadi__Function__hessian__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__hessian__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_hessian__4 :: FunctionClass a => a -> IO Function
-function_hessian__4 x = casadi__Function__hessian__4 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__hessian__5" c_casadi__Function__hessian__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
-
-casadi__Function__hessian__5
-  :: Function -> Int -> IO Function
-casadi__Function__hessian__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__hessian__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_hessian__5 :: FunctionClass a => a -> Int -> IO Function
-function_hessian__5 x = casadi__Function__hessian__5 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__hessian__6" c_casadi__Function__hessian__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
-
-casadi__Function__hessian__6
-  :: Function -> Int -> Int -> IO Function
-casadi__Function__hessian__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__hessian__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_hessian__6 :: FunctionClass a => a -> Int -> Int -> IO Function
-function_hessian__6 x = casadi__Function__hessian__6 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__if_else__0" c_casadi__Function__if_else__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Function' -> Ptr Function' -> IO (Ptr Function')
-
-casadi__Function__if_else__0
-  :: String -> Function -> Function -> IO Function
-casadi__Function__if_else__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__if_else__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_if_else__0 :: String -> Function -> Function -> IO Function
-function_if_else__0 = casadi__Function__if_else__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__if_else__1" c_casadi__Function__if_else__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Function' -> Ptr Function' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__if_else__1
-  :: String -> Function -> Function -> M.Map String GenericType -> IO Function
-casadi__Function__if_else__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__if_else__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_if_else__1 :: String -> Function -> Function -> M.Map String GenericType -> IO Function
-function_if_else__1 = casadi__Function__if_else__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__index_in" c_casadi__Function__index_in
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CInt
-
-casadi__Function__index_in
-  :: Function -> String -> IO Int
-casadi__Function__index_in x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__index_in errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_index_in :: FunctionClass a => a -> String -> IO Int
-function_index_in x = casadi__Function__index_in (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__index_out" c_casadi__Function__index_out
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CInt
-
-casadi__Function__index_out
-  :: Function -> String -> IO Int
-casadi__Function__index_out x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__index_out errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_index_out :: FunctionClass a => a -> String -> IO Int
-function_index_out x = casadi__Function__index_out (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__is_a__0" c_casadi__Function__is_a__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CInt
-
-casadi__Function__is_a__0
-  :: Function -> String -> IO Bool
-casadi__Function__is_a__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__is_a__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_is_a__0 :: FunctionClass a => a -> String -> IO Bool
-function_is_a__0 x = casadi__Function__is_a__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__is_a__1" c_casadi__Function__is_a__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO CInt
-
-casadi__Function__is_a__1
-  :: Function -> String -> Bool -> IO Bool
-casadi__Function__is_a__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__is_a__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_is_a__1 :: FunctionClass a => a -> String -> Bool -> IO Bool
-function_is_a__1 x = casadi__Function__is_a__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__0" c_casadi__Function__jacobian__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__jacobian__0
-  :: Function -> String -> String -> IO Function
-casadi__Function__jacobian__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__0 :: FunctionClass a => a -> String -> String -> IO Function
-function_jacobian__0 x = casadi__Function__jacobian__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__1" c_casadi__Function__jacobian__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> IO (Ptr Function')
-
-casadi__Function__jacobian__1
-  :: Function -> String -> String -> Bool -> IO Function
-casadi__Function__jacobian__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__1 :: FunctionClass a => a -> String -> String -> Bool -> IO Function
-function_jacobian__1 x = casadi__Function__jacobian__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__2" c_casadi__Function__jacobian__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> CInt -> IO (Ptr Function')
-
-casadi__Function__jacobian__2
-  :: Function -> String -> String -> Bool -> Bool -> IO Function
-casadi__Function__jacobian__2 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__2 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__2 :: FunctionClass a => a -> String -> String -> Bool -> Bool -> IO Function
-function_jacobian__2 x = casadi__Function__jacobian__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__3" c_casadi__Function__jacobian__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__jacobian__3
-  :: Function -> Int -> String -> IO Function
-casadi__Function__jacobian__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__3 :: FunctionClass a => a -> Int -> String -> IO Function
-function_jacobian__3 x = casadi__Function__jacobian__3 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__4" c_casadi__Function__jacobian__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> CInt -> IO (Ptr Function')
-
-casadi__Function__jacobian__4
-  :: Function -> Int -> String -> Bool -> IO Function
-casadi__Function__jacobian__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__4 :: FunctionClass a => a -> Int -> String -> Bool -> IO Function
-function_jacobian__4 x = casadi__Function__jacobian__4 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__5" c_casadi__Function__jacobian__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> CInt -> CInt -> IO (Ptr Function')
-
-casadi__Function__jacobian__5
-  :: Function -> Int -> String -> Bool -> Bool -> IO Function
-casadi__Function__jacobian__5 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__5 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__5 :: FunctionClass a => a -> Int -> String -> Bool -> Bool -> IO Function
-function_jacobian__5 x = casadi__Function__jacobian__5 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__6" c_casadi__Function__jacobian__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__jacobian__6
-  :: Function -> String -> IO Function
-casadi__Function__jacobian__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__6 :: FunctionClass a => a -> String -> IO Function
-function_jacobian__6 x = casadi__Function__jacobian__6 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__7" c_casadi__Function__jacobian__7
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr Function')
-
-casadi__Function__jacobian__7
-  :: Function -> String -> Int -> IO Function
-casadi__Function__jacobian__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__7 :: FunctionClass a => a -> String -> Int -> IO Function
-function_jacobian__7 x = casadi__Function__jacobian__7 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__8" c_casadi__Function__jacobian__8
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> IO (Ptr Function')
-
-casadi__Function__jacobian__8
-  :: Function -> String -> Int -> Bool -> IO Function
-casadi__Function__jacobian__8 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__8 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__8 :: FunctionClass a => a -> String -> Int -> Bool -> IO Function
-function_jacobian__8 x = casadi__Function__jacobian__8 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__9" c_casadi__Function__jacobian__9
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr Function')
-
-casadi__Function__jacobian__9
-  :: Function -> String -> Int -> Bool -> Bool -> IO Function
-casadi__Function__jacobian__9 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__9 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__9 :: FunctionClass a => a -> String -> Int -> Bool -> Bool -> IO Function
-function_jacobian__9 x = casadi__Function__jacobian__9 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__10" c_casadi__Function__jacobian__10
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-
-casadi__Function__jacobian__10
-  :: Function -> IO Function
-casadi__Function__jacobian__10 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__10 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__10 :: FunctionClass a => a -> IO Function
-function_jacobian__10 x = casadi__Function__jacobian__10 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__11" c_casadi__Function__jacobian__11
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
-
-casadi__Function__jacobian__11
-  :: Function -> Int -> IO Function
-casadi__Function__jacobian__11 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__11 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__11 :: FunctionClass a => a -> Int -> IO Function
-function_jacobian__11 x = casadi__Function__jacobian__11 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__12" c_casadi__Function__jacobian__12
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
-
-casadi__Function__jacobian__12
-  :: Function -> Int -> Int -> IO Function
-casadi__Function__jacobian__12 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__12 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__12 :: FunctionClass a => a -> Int -> Int -> IO Function
-function_jacobian__12 x = casadi__Function__jacobian__12 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__13" c_casadi__Function__jacobian__13
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> IO (Ptr Function')
-
-casadi__Function__jacobian__13
-  :: Function -> Int -> Int -> Bool -> IO Function
-casadi__Function__jacobian__13 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__13 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__13 :: FunctionClass a => a -> Int -> Int -> Bool -> IO Function
-function_jacobian__13 x = casadi__Function__jacobian__13 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__jacobian__14" c_casadi__Function__jacobian__14
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr Function')
-
-casadi__Function__jacobian__14
-  :: Function -> Int -> Int -> Bool -> Bool -> IO Function
-casadi__Function__jacobian__14 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__jacobian__14 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function_jacobian__14 :: FunctionClass a => a -> Int -> Int -> Bool -> Bool -> IO Function
-function_jacobian__14 x = casadi__Function__jacobian__14 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__map__0" c_casadi__Function__map__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
-
-casadi__Function__map__0
-  :: Function -> String -> String -> Int -> Vector String -> Vector String -> IO Function
-casadi__Function__map__0 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__map__0 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ret
-
-
-
--- classy wrapper
-function_map__0 :: FunctionClass a => a -> String -> String -> Int -> Vector String -> Vector String -> IO Function
-function_map__0 x = casadi__Function__map__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__map__1" c_casadi__Function__map__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__map__1
-  :: Function -> String -> String -> Int -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-casadi__Function__map__1 x0 x1 x2 x3 x4 x5 x6 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-  x6' <- marshal x6
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__map__1 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-  marshalFree x6 x6'
-
-  return ret
-
-
-
--- classy wrapper
-function_map__1 :: FunctionClass a => a -> String -> String -> Int -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-function_map__1 x = casadi__Function__map__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__map__2" c_casadi__Function__map__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Function')
-
-casadi__Function__map__2
-  :: Function -> String -> String -> Int -> Vector Int -> Vector Int -> IO Function
-casadi__Function__map__2 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__map__2 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ret
-
-
-
--- classy wrapper
-function_map__2 :: FunctionClass a => a -> String -> String -> Int -> Vector Int -> Vector Int -> IO Function
-function_map__2 x = casadi__Function__map__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__map__3" c_casadi__Function__map__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__map__3
-  :: Function -> String -> String -> Int -> Vector Int -> Vector Int -> M.Map String GenericType -> IO Function
-casadi__Function__map__3 x0 x1 x2 x3 x4 x5 x6 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-  x6' <- marshal x6
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__map__3 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-  marshalFree x6 x6'
-
-  return ret
-
-
-
--- classy wrapper
-function_map__3 :: FunctionClass a => a -> String -> String -> Int -> Vector Int -> Vector Int -> M.Map String GenericType -> IO Function
-function_map__3 x = casadi__Function__map__3 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__map__4" c_casadi__Function__map__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> IO (Ptr Function')
-
-casadi__Function__map__4
-  :: Function -> String -> String -> Int -> IO Function
-casadi__Function__map__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__map__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_map__4 :: FunctionClass a => a -> String -> String -> Int -> IO Function
-function_map__4 x = casadi__Function__map__4 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__map__5" c_casadi__Function__map__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__map__5
-  :: Function -> String -> String -> Int -> M.Map String GenericType -> IO Function
-casadi__Function__map__5 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__map__5 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function_map__5 :: FunctionClass a => a -> String -> String -> Int -> M.Map String GenericType -> IO Function
-function_map__5 x = casadi__Function__map__5 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__map__6" c_casadi__Function__map__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
-
-casadi__Function__map__6
-  :: Function -> Int -> IO Function
-casadi__Function__map__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__map__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_map__6 :: FunctionClass a => a -> Int -> IO Function
-function_map__6 x = casadi__Function__map__6 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__map__7" c_casadi__Function__map__7
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__map__7
-  :: Function -> Int -> String -> IO Function
-casadi__Function__map__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__map__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_map__7 :: FunctionClass a => a -> Int -> String -> IO Function
-function_map__7 x = casadi__Function__map__7 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mapaccum__0" c_casadi__Function__mapaccum__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
-
-casadi__Function__mapaccum__0
-  :: Function -> String -> Int -> Vector String -> Vector String -> IO Function
-casadi__Function__mapaccum__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mapaccum__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function_mapaccum__0 :: FunctionClass a => a -> String -> Int -> Vector String -> Vector String -> IO Function
-function_mapaccum__0 x = casadi__Function__mapaccum__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mapaccum__1" c_casadi__Function__mapaccum__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__mapaccum__1
-  :: Function -> String -> Int -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-casadi__Function__mapaccum__1 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mapaccum__1 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ret
-
-
-
--- classy wrapper
-function_mapaccum__1 :: FunctionClass a => a -> String -> Int -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
-function_mapaccum__1 x = casadi__Function__mapaccum__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mapaccum__2" c_casadi__Function__mapaccum__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Function')
-
-casadi__Function__mapaccum__2
-  :: Function -> String -> Int -> Vector Int -> Vector Int -> IO Function
-casadi__Function__mapaccum__2 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mapaccum__2 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function_mapaccum__2 :: FunctionClass a => a -> String -> Int -> Vector Int -> Vector Int -> IO Function
-function_mapaccum__2 x = casadi__Function__mapaccum__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mapaccum__3" c_casadi__Function__mapaccum__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__mapaccum__3
-  :: Function -> String -> Int -> Vector Int -> Vector Int -> M.Map String GenericType -> IO Function
-casadi__Function__mapaccum__3 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mapaccum__3 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ret
-
-
-
--- classy wrapper
-function_mapaccum__3 :: FunctionClass a => a -> String -> Int -> Vector Int -> Vector Int -> M.Map String GenericType -> IO Function
-function_mapaccum__3 x = casadi__Function__mapaccum__3 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mapaccum__4" c_casadi__Function__mapaccum__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr Function')
-
-casadi__Function__mapaccum__4
-  :: Function -> String -> Int -> IO Function
-casadi__Function__mapaccum__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mapaccum__4 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_mapaccum__4 :: FunctionClass a => a -> String -> Int -> IO Function
-function_mapaccum__4 x = casadi__Function__mapaccum__4 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mapaccum__5" c_casadi__Function__mapaccum__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> IO (Ptr Function')
-
-casadi__Function__mapaccum__5
-  :: Function -> String -> Int -> Int -> IO Function
-casadi__Function__mapaccum__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mapaccum__5 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_mapaccum__5 :: FunctionClass a => a -> String -> Int -> Int -> IO Function
-function_mapaccum__5 x = casadi__Function__mapaccum__5 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mapaccum__6" c_casadi__Function__mapaccum__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__mapaccum__6
-  :: Function -> String -> Int -> Int -> M.Map String GenericType -> IO Function
-casadi__Function__mapaccum__6 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mapaccum__6 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function_mapaccum__6 :: FunctionClass a => a -> String -> Int -> Int -> M.Map String GenericType -> IO Function
-function_mapaccum__6 x = casadi__Function__mapaccum__6 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mapsum__0" c_casadi__Function__mapsum__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi__Function__mapsum__0
-  :: Function -> Vector MX -> IO (Vector MX)
-casadi__Function__mapsum__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mapsum__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_mapsum__0 :: FunctionClass a => a -> Vector MX -> IO (Vector MX)
-function_mapsum__0 x = casadi__Function__mapsum__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mapsum__1" c_casadi__Function__mapsum__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi__Function__mapsum__1
-  :: Function -> Vector MX -> String -> IO (Vector MX)
-casadi__Function__mapsum__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mapsum__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_mapsum__1 :: FunctionClass a => a -> Vector MX -> String -> IO (Vector MX)
-function_mapsum__1 x = casadi__Function__mapsum__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mx_in__0" c_casadi__Function__mx_in__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi__Function__mx_in__0
-  :: Function -> IO (Vector MX)
-casadi__Function__mx_in__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mx_in__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_mx_in__0 :: FunctionClass a => a -> IO (Vector MX)
-function_mx_in__0 x = casadi__Function__mx_in__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mx_in__1" c_casadi__Function__mx_in__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr MX')
-
-casadi__Function__mx_in__1
-  :: Function -> String -> IO MX
-casadi__Function__mx_in__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mx_in__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_mx_in__1 :: FunctionClass a => a -> String -> IO MX
-function_mx_in__1 x = casadi__Function__mx_in__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mx_in__2" c_casadi__Function__mx_in__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr MX')
-
-casadi__Function__mx_in__2
-  :: Function -> Int -> IO MX
-casadi__Function__mx_in__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mx_in__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_mx_in__2 :: FunctionClass a => a -> Int -> IO MX
-function_mx_in__2 x = casadi__Function__mx_in__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mx_out__0" c_casadi__Function__mx_out__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi__Function__mx_out__0
-  :: Function -> IO (Vector MX)
-casadi__Function__mx_out__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mx_out__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_mx_out__0 :: FunctionClass a => a -> IO (Vector MX)
-function_mx_out__0 x = casadi__Function__mx_out__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mx_out__1" c_casadi__Function__mx_out__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr MX')
-
-casadi__Function__mx_out__1
-  :: Function -> String -> IO MX
-casadi__Function__mx_out__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mx_out__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_mx_out__1 :: FunctionClass a => a -> String -> IO MX
-function_mx_out__1 x = casadi__Function__mx_out__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__mx_out__2" c_casadi__Function__mx_out__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr MX')
-
-casadi__Function__mx_out__2
-  :: Function -> Int -> IO MX
-casadi__Function__mx_out__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mx_out__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_mx_out__2 :: FunctionClass a => a -> Int -> IO MX
-function_mx_out__2 x = casadi__Function__mx_out__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__n_in" c_casadi__Function__n_in
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
-
-casadi__Function__n_in
-  :: Function -> IO Int
-casadi__Function__n_in x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__n_in errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_n_in :: FunctionClass a => a -> IO Int
-function_n_in x = casadi__Function__n_in (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__n_nodes" c_casadi__Function__n_nodes
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
-
-casadi__Function__n_nodes
-  :: Function -> IO Int
-casadi__Function__n_nodes x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__n_nodes errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_n_nodes :: FunctionClass a => a -> IO Int
-function_n_nodes x = casadi__Function__n_nodes (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__n_out" c_casadi__Function__n_out
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
-
-casadi__Function__n_out
-  :: Function -> IO Int
-casadi__Function__n_out x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__n_out errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_n_out :: FunctionClass a => a -> IO Int
-function_n_out x = casadi__Function__n_out (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__name" c_casadi__Function__name
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr StdString)
-
-casadi__Function__name
-  :: Function -> IO String
-casadi__Function__name x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__name errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_name :: FunctionClass a => a -> IO String
-function_name x = casadi__Function__name (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__name_in__0" c_casadi__Function__name_in__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr StdString)
-
-casadi__Function__name_in__0
-  :: Function -> Int -> IO String
-casadi__Function__name_in__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__name_in__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_name_in__0 :: FunctionClass a => a -> Int -> IO String
-function_name_in__0 x = casadi__Function__name_in__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__name_in__1" c_casadi__Function__name_in__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr StdString)))
-
-casadi__Function__name_in__1
-  :: Function -> IO (Vector String)
-casadi__Function__name_in__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__name_in__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_name_in__1 :: FunctionClass a => a -> IO (Vector String)
-function_name_in__1 x = casadi__Function__name_in__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__name_out__0" c_casadi__Function__name_out__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr StdString)
-
-casadi__Function__name_out__0
-  :: Function -> Int -> IO String
-casadi__Function__name_out__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__name_out__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_name_out__0 :: FunctionClass a => a -> Int -> IO String
-function_name_out__0 x = casadi__Function__name_out__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__name_out__1" c_casadi__Function__name_out__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr StdString)))
-
-casadi__Function__name_out__1
-  :: Function -> IO (Vector String)
-casadi__Function__name_out__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__name_out__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_name_out__1 :: FunctionClass a => a -> IO (Vector String)
-function_name_out__1 x = casadi__Function__name_out__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__nnz_in__0" c_casadi__Function__nnz_in__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CInt
-
-casadi__Function__nnz_in__0
-  :: Function -> String -> IO Int
-casadi__Function__nnz_in__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__nnz_in__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_nnz_in__0 :: FunctionClass a => a -> String -> IO Int
-function_nnz_in__0 x = casadi__Function__nnz_in__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__nnz_in__1" c_casadi__Function__nnz_in__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO CInt
-
-casadi__Function__nnz_in__1
-  :: Function -> Int -> IO Int
-casadi__Function__nnz_in__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__nnz_in__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_nnz_in__1 :: FunctionClass a => a -> Int -> IO Int
-function_nnz_in__1 x = casadi__Function__nnz_in__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__nnz_in__2" c_casadi__Function__nnz_in__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
-
-casadi__Function__nnz_in__2
-  :: Function -> IO Int
-casadi__Function__nnz_in__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__nnz_in__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_nnz_in__2 :: FunctionClass a => a -> IO Int
-function_nnz_in__2 x = casadi__Function__nnz_in__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__nnz_out__0" c_casadi__Function__nnz_out__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CInt
-
-casadi__Function__nnz_out__0
-  :: Function -> String -> IO Int
-casadi__Function__nnz_out__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__nnz_out__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_nnz_out__0 :: FunctionClass a => a -> String -> IO Int
-function_nnz_out__0 x = casadi__Function__nnz_out__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__nnz_out__1" c_casadi__Function__nnz_out__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO CInt
-
-casadi__Function__nnz_out__1
-  :: Function -> Int -> IO Int
-casadi__Function__nnz_out__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__nnz_out__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_nnz_out__1 :: FunctionClass a => a -> Int -> IO Int
-function_nnz_out__1 x = casadi__Function__nnz_out__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__nnz_out__2" c_casadi__Function__nnz_out__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
-
-casadi__Function__nnz_out__2
-  :: Function -> IO Int
-casadi__Function__nnz_out__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__nnz_out__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_nnz_out__2 :: FunctionClass a => a -> IO Int
-function_nnz_out__2 x = casadi__Function__nnz_out__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__numel_in__0" c_casadi__Function__numel_in__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CInt
-
-casadi__Function__numel_in__0
-  :: Function -> String -> IO Int
-casadi__Function__numel_in__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__numel_in__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_numel_in__0 :: FunctionClass a => a -> String -> IO Int
-function_numel_in__0 x = casadi__Function__numel_in__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__numel_in__1" c_casadi__Function__numel_in__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO CInt
-
-casadi__Function__numel_in__1
-  :: Function -> Int -> IO Int
-casadi__Function__numel_in__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__numel_in__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_numel_in__1 :: FunctionClass a => a -> Int -> IO Int
-function_numel_in__1 x = casadi__Function__numel_in__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__numel_in__2" c_casadi__Function__numel_in__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
-
-casadi__Function__numel_in__2
-  :: Function -> IO Int
-casadi__Function__numel_in__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__numel_in__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_numel_in__2 :: FunctionClass a => a -> IO Int
-function_numel_in__2 x = casadi__Function__numel_in__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__numel_out__0" c_casadi__Function__numel_out__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CInt
-
-casadi__Function__numel_out__0
-  :: Function -> String -> IO Int
-casadi__Function__numel_out__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__numel_out__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_numel_out__0 :: FunctionClass a => a -> String -> IO Int
-function_numel_out__0 x = casadi__Function__numel_out__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__numel_out__1" c_casadi__Function__numel_out__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO CInt
-
-casadi__Function__numel_out__1
-  :: Function -> Int -> IO Int
-casadi__Function__numel_out__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__numel_out__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_numel_out__1 :: FunctionClass a => a -> Int -> IO Int
-function_numel_out__1 x = casadi__Function__numel_out__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__numel_out__2" c_casadi__Function__numel_out__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
-
-casadi__Function__numel_out__2
-  :: Function -> IO Int
-casadi__Function__numel_out__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__numel_out__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_numel_out__2 :: FunctionClass a => a -> IO Int
-function_numel_out__2 x = casadi__Function__numel_out__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__oracle" c_casadi__Function__oracle
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-
-casadi__Function__oracle
-  :: Function -> IO Function
-casadi__Function__oracle x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__oracle errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_oracle :: FunctionClass a => a -> IO Function
-function_oracle x = casadi__Function__oracle (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__print_dimensions" c_casadi__Function__print_dimensions
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO ()
-
-casadi__Function__print_dimensions
-  :: Function -> IO ()
-casadi__Function__print_dimensions x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__print_dimensions errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-function_print_dimensions :: FunctionClass a => a -> IO ()
-function_print_dimensions x = casadi__Function__print_dimensions (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__print_free" c_casadi__Function__print_free
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO ()
-
-casadi__Function__print_free
-  :: Function -> IO ()
-casadi__Function__print_free x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__print_free errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-function_print_free :: FunctionClass a => a -> IO ()
-function_print_free x = casadi__Function__print_free (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__print_option" c_casadi__Function__print_option
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO ()
-
-casadi__Function__print_option
-  :: Function -> String -> IO ()
-casadi__Function__print_option x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__print_option errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-function_print_option :: FunctionClass a => a -> String -> IO ()
-function_print_option x = casadi__Function__print_option (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__print_options" c_casadi__Function__print_options
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO ()
-
-casadi__Function__print_options
-  :: Function -> IO ()
-casadi__Function__print_options x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__print_options errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-function_print_options :: FunctionClass a => a -> IO ()
-function_print_options x = casadi__Function__print_options (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__release" c_casadi__Function__release
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO ()
-
-casadi__Function__release
-  :: Function -> Int -> IO ()
-casadi__Function__release x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__release errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-function_release :: FunctionClass a => a -> Int -> IO ()
-function_release x = casadi__Function__release (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__reverse__0" c_casadi__Function__reverse__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
-
-casadi__Function__reverse__0
-  :: Function -> Int -> IO Function
-casadi__Function__reverse__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__reverse__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_reverse__0 :: FunctionClass a => a -> Int -> IO Function
-function_reverse__0 x = casadi__Function__reverse__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__reverse__1" c_casadi__Function__reverse__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr DM'))))) -> IO ()
-
-casadi__Function__reverse__1
-  :: Function -> Vector DM -> Vector DM -> Vector (Vector DM) -> IO (Vector (Vector DM))
-casadi__Function__reverse__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__reverse__1 errStrPtrP x0' x1' x2' x3' o4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__reverse__1/c_casadi__Function__reverse__1" else wrapReturn o4''
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_reverse__1 :: FunctionClass a => a -> Vector DM -> Vector DM -> Vector (Vector DM) -> IO (Vector (Vector DM))
-function_reverse__1 x = casadi__Function__reverse__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__reverse__2" c_casadi__Function__reverse__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr DM'))))) -> CInt -> IO ()
-
-casadi__Function__reverse__2
-  :: Function -> Vector DM -> Vector DM -> Vector (Vector DM) -> Bool -> IO (Vector (Vector DM))
-casadi__Function__reverse__2 x0 x1 x2 x3 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__reverse__2 errStrPtrP x0' x1' x2' x3' o4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__reverse__2/c_casadi__Function__reverse__2" else wrapReturn o4''
-  marshalFree x5 x5'
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_reverse__2 :: FunctionClass a => a -> Vector DM -> Vector DM -> Vector (Vector DM) -> Bool -> IO (Vector (Vector DM))
-function_reverse__2 x = casadi__Function__reverse__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__reverse__3" c_casadi__Function__reverse__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr DM'))))) -> CInt -> CInt -> IO ()
-
-casadi__Function__reverse__3
-  :: Function -> Vector DM -> Vector DM -> Vector (Vector DM) -> Bool -> Bool -> IO (Vector (Vector DM))
-casadi__Function__reverse__3 x0 x1 x2 x3 x5 x6 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  x6' <- marshal x6
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__reverse__3 errStrPtrP x0' x1' x2' x3' o4' x5' x6'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__reverse__3/c_casadi__Function__reverse__3" else wrapReturn o4''
-  marshalFree x5 x5'
-  marshalFree x6 x6'
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_reverse__3 :: FunctionClass a => a -> Vector DM -> Vector DM -> Vector (Vector DM) -> Bool -> Bool -> IO (Vector (Vector DM))
-function_reverse__3 x = casadi__Function__reverse__3 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__reverse__4" c_casadi__Function__reverse__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr SX'))))) -> IO ()
-
-casadi__Function__reverse__4
-  :: Function -> Vector SX -> Vector SX -> Vector (Vector SX) -> IO (Vector (Vector SX))
-casadi__Function__reverse__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__reverse__4 errStrPtrP x0' x1' x2' x3' o4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__reverse__4/c_casadi__Function__reverse__4" else wrapReturn o4''
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_reverse__4 :: FunctionClass a => a -> Vector SX -> Vector SX -> Vector (Vector SX) -> IO (Vector (Vector SX))
-function_reverse__4 x = casadi__Function__reverse__4 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__reverse__5" c_casadi__Function__reverse__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr SX'))))) -> CInt -> IO ()
-
-casadi__Function__reverse__5
-  :: Function -> Vector SX -> Vector SX -> Vector (Vector SX) -> Bool -> IO (Vector (Vector SX))
-casadi__Function__reverse__5 x0 x1 x2 x3 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__reverse__5 errStrPtrP x0' x1' x2' x3' o4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__reverse__5/c_casadi__Function__reverse__5" else wrapReturn o4''
-  marshalFree x5 x5'
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_reverse__5 :: FunctionClass a => a -> Vector SX -> Vector SX -> Vector (Vector SX) -> Bool -> IO (Vector (Vector SX))
-function_reverse__5 x = casadi__Function__reverse__5 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__reverse__6" c_casadi__Function__reverse__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr SX'))))) -> CInt -> CInt -> IO ()
-
-casadi__Function__reverse__6
-  :: Function -> Vector SX -> Vector SX -> Vector (Vector SX) -> Bool -> Bool -> IO (Vector (Vector SX))
-casadi__Function__reverse__6 x0 x1 x2 x3 x5 x6 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  x6' <- marshal x6
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__reverse__6 errStrPtrP x0' x1' x2' x3' o4' x5' x6'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__reverse__6/c_casadi__Function__reverse__6" else wrapReturn o4''
-  marshalFree x5 x5'
-  marshalFree x6 x6'
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_reverse__6 :: FunctionClass a => a -> Vector SX -> Vector SX -> Vector (Vector SX) -> Bool -> Bool -> IO (Vector (Vector SX))
-function_reverse__6 x = casadi__Function__reverse__6 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__reverse__7" c_casadi__Function__reverse__7
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr MX'))))) -> IO ()
-
-casadi__Function__reverse__7
-  :: Function -> Vector MX -> Vector MX -> Vector (Vector MX) -> IO (Vector (Vector MX))
-casadi__Function__reverse__7 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__reverse__7 errStrPtrP x0' x1' x2' x3' o4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__reverse__7/c_casadi__Function__reverse__7" else wrapReturn o4''
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_reverse__7 :: FunctionClass a => a -> Vector MX -> Vector MX -> Vector (Vector MX) -> IO (Vector (Vector MX))
-function_reverse__7 x = casadi__Function__reverse__7 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__reverse__8" c_casadi__Function__reverse__8
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr MX'))))) -> CInt -> IO ()
-
-casadi__Function__reverse__8
-  :: Function -> Vector MX -> Vector MX -> Vector (Vector MX) -> Bool -> IO (Vector (Vector MX))
-casadi__Function__reverse__8 x0 x1 x2 x3 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__reverse__8 errStrPtrP x0' x1' x2' x3' o4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__reverse__8/c_casadi__Function__reverse__8" else wrapReturn o4''
-  marshalFree x5 x5'
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_reverse__8 :: FunctionClass a => a -> Vector MX -> Vector MX -> Vector (Vector MX) -> Bool -> IO (Vector (Vector MX))
-function_reverse__8 x = casadi__Function__reverse__8 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__reverse__9" c_casadi__Function__reverse__9
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr MX'))))) -> CInt -> CInt -> IO ()
-
-casadi__Function__reverse__9
-  :: Function -> Vector MX -> Vector MX -> Vector (Vector MX) -> Bool -> Bool -> IO (Vector (Vector MX))
-casadi__Function__reverse__9 x0 x1 x2 x3 x5 x6 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  x6' <- marshal x6
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__reverse__9 errStrPtrP x0' x1' x2' x3' o4' x5' x6'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__reverse__9/c_casadi__Function__reverse__9" else wrapReturn o4''
-  marshalFree x5 x5'
-  marshalFree x6 x6'
-
-  return (o4''')
-
-
-
--- classy wrapper
-function_reverse__9 :: FunctionClass a => a -> Vector MX -> Vector MX -> Vector (Vector MX) -> Bool -> Bool -> IO (Vector (Vector MX))
-function_reverse__9 x = casadi__Function__reverse__9 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__reverse_new" c_casadi__Function__reverse_new
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
-
-casadi__Function__reverse_new
-  :: Function -> Int -> IO Function
-casadi__Function__reverse_new x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__reverse_new errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_reverse_new :: FunctionClass a => a -> Int -> IO Function
-function_reverse_new x = casadi__Function__reverse_new (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__rootfinder_fun" c_casadi__Function__rootfinder_fun
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-
-casadi__Function__rootfinder_fun
-  :: Function -> IO Function
-casadi__Function__rootfinder_fun x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__rootfinder_fun errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_rootfinder_fun :: FunctionClass a => a -> IO Function
-function_rootfinder_fun x = casadi__Function__rootfinder_fun (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__setFullJacobian" c_casadi__Function__setFullJacobian
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Function' -> IO ()
-
-casadi__Function__setFullJacobian
-  :: Function -> Function -> IO ()
-casadi__Function__setFullJacobian x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__setFullJacobian errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-function_setFullJacobian :: FunctionClass a => a -> Function -> IO ()
-function_setFullJacobian x = casadi__Function__setFullJacobian (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__setJacobian__0" c_casadi__Function__setJacobian__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Function' -> IO ()
-
-casadi__Function__setJacobian__0
-  :: Function -> Function -> IO ()
-casadi__Function__setJacobian__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__setJacobian__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-function_setJacobian__0 :: FunctionClass a => a -> Function -> IO ()
-function_setJacobian__0 x = casadi__Function__setJacobian__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__setJacobian__1" c_casadi__Function__setJacobian__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Function' -> CInt -> IO ()
-
-casadi__Function__setJacobian__1
-  :: Function -> Function -> Int -> IO ()
-casadi__Function__setJacobian__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__setJacobian__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-function_setJacobian__1 :: FunctionClass a => a -> Function -> Int -> IO ()
-function_setJacobian__1 x = casadi__Function__setJacobian__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__setJacobian__2" c_casadi__Function__setJacobian__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Function' -> CInt -> CInt -> IO ()
-
-casadi__Function__setJacobian__2
-  :: Function -> Function -> Int -> Int -> IO ()
-casadi__Function__setJacobian__2 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__setJacobian__2 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-function_setJacobian__2 :: FunctionClass a => a -> Function -> Int -> Int -> IO ()
-function_setJacobian__2 x = casadi__Function__setJacobian__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__setJacobian__3" c_casadi__Function__setJacobian__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Function' -> CInt -> CInt -> CInt -> IO ()
-
-casadi__Function__setJacobian__3
-  :: Function -> Function -> Int -> Int -> Bool -> IO ()
-casadi__Function__setJacobian__3 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__setJacobian__3 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-function_setJacobian__3 :: FunctionClass a => a -> Function -> Int -> Int -> Bool -> IO ()
-function_setJacobian__3 x = casadi__Function__setJacobian__3 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__set_jac_sparsity__0" c_casadi__Function__set_jac_sparsity__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Sparsity' -> Ptr StdString -> Ptr StdString -> IO ()
-
-casadi__Function__set_jac_sparsity__0
-  :: Function -> Sparsity -> String -> String -> IO ()
-casadi__Function__set_jac_sparsity__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__set_jac_sparsity__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-function_set_jac_sparsity__0 :: FunctionClass a => a -> Sparsity -> String -> String -> IO ()
-function_set_jac_sparsity__0 x = casadi__Function__set_jac_sparsity__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__set_jac_sparsity__1" c_casadi__Function__set_jac_sparsity__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Sparsity' -> Ptr StdString -> Ptr StdString -> CInt -> IO ()
-
-casadi__Function__set_jac_sparsity__1
-  :: Function -> Sparsity -> String -> String -> Bool -> IO ()
-casadi__Function__set_jac_sparsity__1 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__set_jac_sparsity__1 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-function_set_jac_sparsity__1 :: FunctionClass a => a -> Sparsity -> String -> String -> Bool -> IO ()
-function_set_jac_sparsity__1 x = casadi__Function__set_jac_sparsity__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__set_jac_sparsity__2" c_casadi__Function__set_jac_sparsity__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Sparsity' -> CInt -> Ptr StdString -> IO ()
-
-casadi__Function__set_jac_sparsity__2
-  :: Function -> Sparsity -> Int -> String -> IO ()
-casadi__Function__set_jac_sparsity__2 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__set_jac_sparsity__2 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-function_set_jac_sparsity__2 :: FunctionClass a => a -> Sparsity -> Int -> String -> IO ()
-function_set_jac_sparsity__2 x = casadi__Function__set_jac_sparsity__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__set_jac_sparsity__3" c_casadi__Function__set_jac_sparsity__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Sparsity' -> CInt -> Ptr StdString -> CInt -> IO ()
-
-casadi__Function__set_jac_sparsity__3
-  :: Function -> Sparsity -> Int -> String -> Bool -> IO ()
-casadi__Function__set_jac_sparsity__3 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__set_jac_sparsity__3 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-function_set_jac_sparsity__3 :: FunctionClass a => a -> Sparsity -> Int -> String -> Bool -> IO ()
-function_set_jac_sparsity__3 x = casadi__Function__set_jac_sparsity__3 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__set_jac_sparsity__4" c_casadi__Function__set_jac_sparsity__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Sparsity' -> Ptr StdString -> CInt -> IO ()
-
-casadi__Function__set_jac_sparsity__4
-  :: Function -> Sparsity -> String -> Int -> IO ()
-casadi__Function__set_jac_sparsity__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__set_jac_sparsity__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-function_set_jac_sparsity__4 :: FunctionClass a => a -> Sparsity -> String -> Int -> IO ()
-function_set_jac_sparsity__4 x = casadi__Function__set_jac_sparsity__4 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__set_jac_sparsity__5" c_casadi__Function__set_jac_sparsity__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Sparsity' -> Ptr StdString -> CInt -> CInt -> IO ()
-
-casadi__Function__set_jac_sparsity__5
-  :: Function -> Sparsity -> String -> Int -> Bool -> IO ()
-casadi__Function__set_jac_sparsity__5 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__set_jac_sparsity__5 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-function_set_jac_sparsity__5 :: FunctionClass a => a -> Sparsity -> String -> Int -> Bool -> IO ()
-function_set_jac_sparsity__5 x = casadi__Function__set_jac_sparsity__5 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__set_jac_sparsity__6" c_casadi__Function__set_jac_sparsity__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Sparsity' -> CInt -> CInt -> IO ()
-
-casadi__Function__set_jac_sparsity__6
-  :: Function -> Sparsity -> Int -> Int -> IO ()
-casadi__Function__set_jac_sparsity__6 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__set_jac_sparsity__6 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-function_set_jac_sparsity__6 :: FunctionClass a => a -> Sparsity -> Int -> Int -> IO ()
-function_set_jac_sparsity__6 x = casadi__Function__set_jac_sparsity__6 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__set_jac_sparsity__7" c_casadi__Function__set_jac_sparsity__7
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Sparsity' -> CInt -> CInt -> CInt -> IO ()
-
-casadi__Function__set_jac_sparsity__7
-  :: Function -> Sparsity -> Int -> Int -> Bool -> IO ()
-casadi__Function__set_jac_sparsity__7 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__set_jac_sparsity__7 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-function_set_jac_sparsity__7 :: FunctionClass a => a -> Sparsity -> Int -> Int -> Bool -> IO ()
-function_set_jac_sparsity__7 x = casadi__Function__set_jac_sparsity__7 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__size1_in__0" c_casadi__Function__size1_in__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CInt
-
-casadi__Function__size1_in__0
-  :: Function -> String -> IO Int
-casadi__Function__size1_in__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__size1_in__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_size1_in__0 :: FunctionClass a => a -> String -> IO Int
-function_size1_in__0 x = casadi__Function__size1_in__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__size1_in__1" c_casadi__Function__size1_in__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO CInt
-
-casadi__Function__size1_in__1
-  :: Function -> Int -> IO Int
-casadi__Function__size1_in__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__size1_in__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_size1_in__1 :: FunctionClass a => a -> Int -> IO Int
-function_size1_in__1 x = casadi__Function__size1_in__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__size1_out__0" c_casadi__Function__size1_out__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CInt
-
-casadi__Function__size1_out__0
-  :: Function -> String -> IO Int
-casadi__Function__size1_out__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__size1_out__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_size1_out__0 :: FunctionClass a => a -> String -> IO Int
-function_size1_out__0 x = casadi__Function__size1_out__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__size1_out__1" c_casadi__Function__size1_out__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO CInt
-
-casadi__Function__size1_out__1
-  :: Function -> Int -> IO Int
-casadi__Function__size1_out__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__size1_out__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_size1_out__1 :: FunctionClass a => a -> Int -> IO Int
-function_size1_out__1 x = casadi__Function__size1_out__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__size2_in__0" c_casadi__Function__size2_in__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CInt
-
-casadi__Function__size2_in__0
-  :: Function -> String -> IO Int
-casadi__Function__size2_in__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__size2_in__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_size2_in__0 :: FunctionClass a => a -> String -> IO Int
-function_size2_in__0 x = casadi__Function__size2_in__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__size2_in__1" c_casadi__Function__size2_in__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO CInt
-
-casadi__Function__size2_in__1
-  :: Function -> Int -> IO Int
-casadi__Function__size2_in__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__size2_in__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_size2_in__1 :: FunctionClass a => a -> Int -> IO Int
-function_size2_in__1 x = casadi__Function__size2_in__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__size2_out__0" c_casadi__Function__size2_out__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CInt
-
-casadi__Function__size2_out__0
-  :: Function -> String -> IO Int
-casadi__Function__size2_out__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__size2_out__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_size2_out__0 :: FunctionClass a => a -> String -> IO Int
-function_size2_out__0 x = casadi__Function__size2_out__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__size2_out__1" c_casadi__Function__size2_out__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO CInt
-
-casadi__Function__size2_out__1
-  :: Function -> Int -> IO Int
-casadi__Function__size2_out__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__size2_out__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_size2_out__1 :: FunctionClass a => a -> Int -> IO Int
-function_size2_out__1 x = casadi__Function__size2_out__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__size_in__0" c_casadi__Function__size_in__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr (StdPair CInt CInt))
-
-casadi__Function__size_in__0
-  :: Function -> String -> IO (Int, Int)
-casadi__Function__size_in__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__size_in__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_size_in__0 :: FunctionClass a => a -> String -> IO (Int, Int)
-function_size_in__0 x = casadi__Function__size_in__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__size_in__1" c_casadi__Function__size_in__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr (StdPair CInt CInt))
-
-casadi__Function__size_in__1
-  :: Function -> Int -> IO (Int, Int)
-casadi__Function__size_in__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__size_in__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_size_in__1 :: FunctionClass a => a -> Int -> IO (Int, Int)
-function_size_in__1 x = casadi__Function__size_in__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__size_out__0" c_casadi__Function__size_out__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr (StdPair CInt CInt))
-
-casadi__Function__size_out__0
-  :: Function -> String -> IO (Int, Int)
-casadi__Function__size_out__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__size_out__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_size_out__0 :: FunctionClass a => a -> String -> IO (Int, Int)
-function_size_out__0 x = casadi__Function__size_out__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__size_out__1" c_casadi__Function__size_out__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr (StdPair CInt CInt))
-
-casadi__Function__size_out__1
-  :: Function -> Int -> IO (Int, Int)
-casadi__Function__size_out__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__size_out__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_size_out__1 :: FunctionClass a => a -> Int -> IO (Int, Int)
-function_size_out__1 x = casadi__Function__size_out__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__slice__0" c_casadi__Function__slice__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Function')
-
-casadi__Function__slice__0
-  :: Function -> String -> Vector Int -> Vector Int -> IO Function
-casadi__Function__slice__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__slice__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_slice__0 :: FunctionClass a => a -> String -> Vector Int -> Vector Int -> IO Function
-function_slice__0 x = casadi__Function__slice__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__slice__1" c_casadi__Function__slice__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__slice__1
-  :: Function -> String -> Vector Int -> Vector Int -> M.Map String GenericType -> IO Function
-casadi__Function__slice__1 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__slice__1 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function_slice__1 :: FunctionClass a => a -> String -> Vector Int -> Vector Int -> M.Map String GenericType -> IO Function
-function_slice__1 x = casadi__Function__slice__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__spCanEvaluate" c_casadi__Function__spCanEvaluate
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO CInt
-
-casadi__Function__spCanEvaluate
-  :: Function -> Bool -> IO Bool
-casadi__Function__spCanEvaluate x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__spCanEvaluate errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_spCanEvaluate :: FunctionClass a => a -> Bool -> IO Bool
-function_spCanEvaluate x = casadi__Function__spCanEvaluate (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_in__0" c_casadi__Function__sparsity_in__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_in__0
-  :: Function -> String -> IO Sparsity
-casadi__Function__sparsity_in__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_in__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_in__0 :: FunctionClass a => a -> String -> IO Sparsity
-function_sparsity_in__0 x = casadi__Function__sparsity_in__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_in__1" c_casadi__Function__sparsity_in__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_in__1
-  :: Function -> Int -> IO Sparsity
-casadi__Function__sparsity_in__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_in__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_in__1 :: FunctionClass a => a -> Int -> IO Sparsity
-function_sparsity_in__1 x = casadi__Function__sparsity_in__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__0" c_casadi__Function__sparsity_jac__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__0
-  :: Function -> String -> String -> IO Sparsity
-casadi__Function__sparsity_jac__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__0 :: FunctionClass a => a -> String -> String -> IO Sparsity
-function_sparsity_jac__0 x = casadi__Function__sparsity_jac__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__1" c_casadi__Function__sparsity_jac__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__1
-  :: Function -> String -> String -> Bool -> IO Sparsity
-casadi__Function__sparsity_jac__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__1 :: FunctionClass a => a -> String -> String -> Bool -> IO Sparsity
-function_sparsity_jac__1 x = casadi__Function__sparsity_jac__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__2" c_casadi__Function__sparsity_jac__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__2
-  :: Function -> String -> String -> Bool -> Bool -> IO Sparsity
-casadi__Function__sparsity_jac__2 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__2 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__2 :: FunctionClass a => a -> String -> String -> Bool -> Bool -> IO Sparsity
-function_sparsity_jac__2 x = casadi__Function__sparsity_jac__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__3" c_casadi__Function__sparsity_jac__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__3
-  :: Function -> Int -> String -> IO Sparsity
-casadi__Function__sparsity_jac__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__3 :: FunctionClass a => a -> Int -> String -> IO Sparsity
-function_sparsity_jac__3 x = casadi__Function__sparsity_jac__3 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__4" c_casadi__Function__sparsity_jac__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__4
-  :: Function -> Int -> String -> Bool -> IO Sparsity
-casadi__Function__sparsity_jac__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__4 :: FunctionClass a => a -> Int -> String -> Bool -> IO Sparsity
-function_sparsity_jac__4 x = casadi__Function__sparsity_jac__4 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__5" c_casadi__Function__sparsity_jac__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__5
-  :: Function -> Int -> String -> Bool -> Bool -> IO Sparsity
-casadi__Function__sparsity_jac__5 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__5 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__5 :: FunctionClass a => a -> Int -> String -> Bool -> Bool -> IO Sparsity
-function_sparsity_jac__5 x = casadi__Function__sparsity_jac__5 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__6" c_casadi__Function__sparsity_jac__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__6
-  :: Function -> String -> IO Sparsity
-casadi__Function__sparsity_jac__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__6 :: FunctionClass a => a -> String -> IO Sparsity
-function_sparsity_jac__6 x = casadi__Function__sparsity_jac__6 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__7" c_casadi__Function__sparsity_jac__7
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__7
-  :: Function -> String -> Int -> IO Sparsity
-casadi__Function__sparsity_jac__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__7 :: FunctionClass a => a -> String -> Int -> IO Sparsity
-function_sparsity_jac__7 x = casadi__Function__sparsity_jac__7 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__8" c_casadi__Function__sparsity_jac__8
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__8
-  :: Function -> String -> Int -> Bool -> IO Sparsity
-casadi__Function__sparsity_jac__8 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__8 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__8 :: FunctionClass a => a -> String -> Int -> Bool -> IO Sparsity
-function_sparsity_jac__8 x = casadi__Function__sparsity_jac__8 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__9" c_casadi__Function__sparsity_jac__9
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__9
-  :: Function -> String -> Int -> Bool -> Bool -> IO Sparsity
-casadi__Function__sparsity_jac__9 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__9 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__9 :: FunctionClass a => a -> String -> Int -> Bool -> Bool -> IO Sparsity
-function_sparsity_jac__9 x = casadi__Function__sparsity_jac__9 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__10" c_casadi__Function__sparsity_jac__10
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__10
-  :: Function -> IO Sparsity
-casadi__Function__sparsity_jac__10 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__10 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__10 :: FunctionClass a => a -> IO Sparsity
-function_sparsity_jac__10 x = casadi__Function__sparsity_jac__10 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__11" c_casadi__Function__sparsity_jac__11
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__11
-  :: Function -> Int -> IO Sparsity
-casadi__Function__sparsity_jac__11 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__11 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__11 :: FunctionClass a => a -> Int -> IO Sparsity
-function_sparsity_jac__11 x = casadi__Function__sparsity_jac__11 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__12" c_casadi__Function__sparsity_jac__12
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__12
-  :: Function -> Int -> Int -> IO Sparsity
-casadi__Function__sparsity_jac__12 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__12 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__12 :: FunctionClass a => a -> Int -> Int -> IO Sparsity
-function_sparsity_jac__12 x = casadi__Function__sparsity_jac__12 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__13" c_casadi__Function__sparsity_jac__13
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__13
-  :: Function -> Int -> Int -> Bool -> IO Sparsity
-casadi__Function__sparsity_jac__13 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__13 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__13 :: FunctionClass a => a -> Int -> Int -> Bool -> IO Sparsity
-function_sparsity_jac__13 x = casadi__Function__sparsity_jac__13 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_jac__14" c_casadi__Function__sparsity_jac__14
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_jac__14
-  :: Function -> Int -> Int -> Bool -> Bool -> IO Sparsity
-casadi__Function__sparsity_jac__14 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_jac__14 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_jac__14 :: FunctionClass a => a -> Int -> Int -> Bool -> Bool -> IO Sparsity
-function_sparsity_jac__14 x = casadi__Function__sparsity_jac__14 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_out__0" c_casadi__Function__sparsity_out__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_out__0
-  :: Function -> String -> IO Sparsity
-casadi__Function__sparsity_out__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_out__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_out__0 :: FunctionClass a => a -> String -> IO Sparsity
-function_sparsity_out__0 x = casadi__Function__sparsity_out__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sparsity_out__1" c_casadi__Function__sparsity_out__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__sparsity_out__1
-  :: Function -> Int -> IO Sparsity
-casadi__Function__sparsity_out__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sparsity_out__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_sparsity_out__1 :: FunctionClass a => a -> Int -> IO Sparsity
-function_sparsity_out__1 x = casadi__Function__sparsity_out__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__stats__0" c_casadi__Function__stats__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdMap StdString (Ptr GenericType')))
-
-casadi__Function__stats__0
-  :: Function -> IO (M.Map String GenericType)
-casadi__Function__stats__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__stats__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_stats__0 :: FunctionClass a => a -> IO (M.Map String GenericType)
-function_stats__0 x = casadi__Function__stats__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__stats__1" c_casadi__Function__stats__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr (StdMap StdString (Ptr GenericType')))
-
-casadi__Function__stats__1
-  :: Function -> Int -> IO (M.Map String GenericType)
-casadi__Function__stats__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__stats__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_stats__1 :: FunctionClass a => a -> Int -> IO (M.Map String GenericType)
-function_stats__1 x = casadi__Function__stats__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sx_in__0" c_casadi__Function__sx_in__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi__Function__sx_in__0
-  :: Function -> IO (Vector SX)
-casadi__Function__sx_in__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sx_in__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_sx_in__0 :: FunctionClass a => a -> IO (Vector SX)
-function_sx_in__0 x = casadi__Function__sx_in__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sx_in__1" c_casadi__Function__sx_in__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr SX')
-
-casadi__Function__sx_in__1
-  :: Function -> String -> IO SX
-casadi__Function__sx_in__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sx_in__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_sx_in__1 :: FunctionClass a => a -> String -> IO SX
-function_sx_in__1 x = casadi__Function__sx_in__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sx_in__2" c_casadi__Function__sx_in__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr SX')
-
-casadi__Function__sx_in__2
-  :: Function -> Int -> IO SX
-casadi__Function__sx_in__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sx_in__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_sx_in__2 :: FunctionClass a => a -> Int -> IO SX
-function_sx_in__2 x = casadi__Function__sx_in__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sx_out__0" c_casadi__Function__sx_out__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi__Function__sx_out__0
-  :: Function -> IO (Vector SX)
-casadi__Function__sx_out__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sx_out__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_sx_out__0 :: FunctionClass a => a -> IO (Vector SX)
-function_sx_out__0 x = casadi__Function__sx_out__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sx_out__1" c_casadi__Function__sx_out__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr SX')
-
-casadi__Function__sx_out__1
-  :: Function -> String -> IO SX
-casadi__Function__sx_out__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sx_out__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_sx_out__1 :: FunctionClass a => a -> String -> IO SX
-function_sx_out__1 x = casadi__Function__sx_out__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sx_out__2" c_casadi__Function__sx_out__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr SX')
-
-casadi__Function__sx_out__2
-  :: Function -> Int -> IO SX
-casadi__Function__sx_out__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sx_out__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_sx_out__2 :: FunctionClass a => a -> Int -> IO SX
-function_sx_out__2 x = casadi__Function__sx_out__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sz_arg" c_casadi__Function__sz_arg
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CSize
-
-casadi__Function__sz_arg
-  :: Function -> IO CSize
-casadi__Function__sz_arg x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sz_arg errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_sz_arg :: FunctionClass a => a -> IO CSize
-function_sz_arg x = casadi__Function__sz_arg (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sz_iw" c_casadi__Function__sz_iw
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CSize
-
-casadi__Function__sz_iw
-  :: Function -> IO CSize
-casadi__Function__sz_iw x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sz_iw errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_sz_iw :: FunctionClass a => a -> IO CSize
-function_sz_iw x = casadi__Function__sz_iw (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sz_res" c_casadi__Function__sz_res
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CSize
-
-casadi__Function__sz_res
-  :: Function -> IO CSize
-casadi__Function__sz_res x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sz_res errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_sz_res :: FunctionClass a => a -> IO CSize
-function_sz_res x = casadi__Function__sz_res (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__sz_w" c_casadi__Function__sz_w
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CSize
-
-casadi__Function__sz_w
-  :: Function -> IO CSize
-casadi__Function__sz_w x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__sz_w errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_sz_w :: FunctionClass a => a -> IO CSize
-function_sz_w x = casadi__Function__sz_w (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__tangent__0" c_casadi__Function__tangent__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__tangent__0
-  :: Function -> String -> String -> IO Function
-casadi__Function__tangent__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__tangent__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_tangent__0 :: FunctionClass a => a -> String -> String -> IO Function
-function_tangent__0 x = casadi__Function__tangent__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__tangent__1" c_casadi__Function__tangent__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__tangent__1
-  :: Function -> Int -> String -> IO Function
-casadi__Function__tangent__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__tangent__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_tangent__1 :: FunctionClass a => a -> Int -> String -> IO Function
-function_tangent__1 x = casadi__Function__tangent__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__tangent__2" c_casadi__Function__tangent__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
-
-casadi__Function__tangent__2
-  :: Function -> String -> IO Function
-casadi__Function__tangent__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__tangent__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_tangent__2 :: FunctionClass a => a -> String -> IO Function
-function_tangent__2 x = casadi__Function__tangent__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__tangent__3" c_casadi__Function__tangent__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr Function')
-
-casadi__Function__tangent__3
-  :: Function -> String -> Int -> IO Function
-casadi__Function__tangent__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__tangent__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_tangent__3 :: FunctionClass a => a -> String -> Int -> IO Function
-function_tangent__3 x = casadi__Function__tangent__3 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__tangent__4" c_casadi__Function__tangent__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-
-casadi__Function__tangent__4
-  :: Function -> IO Function
-casadi__Function__tangent__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__tangent__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_tangent__4 :: FunctionClass a => a -> IO Function
-function_tangent__4 x = casadi__Function__tangent__4 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__tangent__5" c_casadi__Function__tangent__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
-
-casadi__Function__tangent__5
-  :: Function -> Int -> IO Function
-casadi__Function__tangent__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__tangent__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-function_tangent__5 :: FunctionClass a => a -> Int -> IO Function
-function_tangent__5 x = casadi__Function__tangent__5 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__tangent__6" c_casadi__Function__tangent__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
-
-casadi__Function__tangent__6
-  :: Function -> Int -> Int -> IO Function
-casadi__Function__tangent__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__tangent__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_tangent__6 :: FunctionClass a => a -> Int -> Int -> IO Function
-function_tangent__6 x = casadi__Function__tangent__6 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__type_name" c_casadi__Function__type_name
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr StdString)
-
-casadi__Function__type_name
-  :: Function -> IO String
-casadi__Function__type_name x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__type_name errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-function_type_name :: FunctionClass a => a -> IO String
-function_type_name x = casadi__Function__type_name (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__which_depends__0" c_casadi__Function__which_depends__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr (StdVec CInt))
-
-casadi__Function__which_depends__0
-  :: Function -> String -> Vector String -> IO (Vector Bool)
-casadi__Function__which_depends__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__which_depends__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-function_which_depends__0 :: FunctionClass a => a -> String -> Vector String -> IO (Vector Bool)
-function_which_depends__0 x = casadi__Function__which_depends__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__which_depends__1" c_casadi__Function__which_depends__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> CInt -> IO (Ptr (StdVec CInt))
-
-casadi__Function__which_depends__1
-  :: Function -> String -> Vector String -> Int -> IO (Vector Bool)
-casadi__Function__which_depends__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__which_depends__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-function_which_depends__1 :: FunctionClass a => a -> String -> Vector String -> Int -> IO (Vector Bool)
-function_which_depends__1 x = casadi__Function__which_depends__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__which_depends__2" c_casadi__Function__which_depends__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> CInt -> CInt -> IO (Ptr (StdVec CInt))
+         function_bspline__0,
+         function_bspline__1,
+         function_bspline__2,
+         function_bspline_dual__0,
+         function_bspline_dual__1,
+         function_bspline_dual__2,
+         function_bspline_dual__3,
+         function_call__0,
+         function_call__1,
+         function_call__10,
+         function_call__11,
+         function_call__12,
+         function_call__13,
+         function_call__14,
+         function_call__15,
+         function_call__16,
+         function_call__17,
+         function_call__2,
+         function_call__3,
+         function_call__4,
+         function_call__5,
+         function_call__6,
+         function_call__7,
+         function_call__8,
+         function_call__9,
+         function_check_name,
+         function_checkout,
+         function_conditional__0,
+         function_conditional__1,
+         function_default_in,
+         function_deserialize,
+         function_expand__0,
+         function_expand__1,
+         function_expand__2,
+         function_export_code__0,
+         function_export_code__1,
+         function_export_code__2,
+         function_export_code__3,
+         function_factory__0,
+         function_factory__1,
+         function_factory__2,
+         function_fix_name,
+         function_fold__0,
+         function_fold__1,
+         function_forward,
+         function_free_mx,
+         function_free_sx,
+         function_generate__0,
+         function_generate__1,
+         function_generate__2,
+         function_generate__3,
+         function_generate_dependencies__0,
+         function_generate_dependencies__1,
+         function_generate_lifted,
+         function_get_free,
+         function_get_function__0,
+         function_get_function__1,
+         function_has_free,
+         function_has_function,
+         function_has_spfwd,
+         function_has_sprev,
+         function_hessian_old,
+         function_if_else__0,
+         function_if_else__1,
+         function_index_in,
+         function_index_out,
+         function_info,
+         function_instruction_MX,
+         function_instruction_constant,
+         function_instruction_id,
+         function_instruction_input,
+         function_instruction_output,
+         function_is_a__0,
+         function_is_a__1,
+         function_jac,
+         function_jacobian,
+         function_jacobian_old,
+         function_jit__0,
+         function_jit__1,
+         function_jit__2,
+         function_jit__3,
+         function_map__0,
+         function_map__1,
+         function_map__2,
+         function_map__3,
+         function_map__4,
+         function_map__5,
+         function_map__6,
+         function_mapaccum__0,
+         function_mapaccum__1,
+         function_mapaccum__2,
+         function_mapaccum__3,
+         function_mapaccum__4,
+         function_mapaccum__5,
+         function_mapaccum__6,
+         function_mapaccum__7,
+         function_mapaccum__8,
+         function_mapaccum__9,
+         function_mapsum__0,
+         function_mapsum__1,
+         function_max_in,
+         function_min_in,
+         function_mx_in__0,
+         function_mx_in__1,
+         function_mx_in__2,
+         function_mx_out__0,
+         function_mx_out__1,
+         function_mx_out__2,
+         function_n_in,
+         function_n_instructions,
+         function_n_nodes,
+         function_n_out,
+         function_name,
+         function_name_in__0,
+         function_name_in__1,
+         function_name_out__0,
+         function_name_out__1,
+         function_nnz_in__0,
+         function_nnz_in__1,
+         function_nnz_in__2,
+         function_nnz_out__0,
+         function_nnz_out__1,
+         function_nnz_out__2,
+         function_numel_in__0,
+         function_numel_in__1,
+         function_numel_in__2,
+         function_numel_out__0,
+         function_numel_out__1,
+         function_numel_out__2,
+         function_oracle,
+         function_print_dimensions,
+         function_print_option,
+         function_print_options,
+         function_release,
+         function_reverse,
+         function_serialize,
+         function_size1_in__0,
+         function_size1_in__1,
+         function_size1_out__0,
+         function_size1_out__1,
+         function_size2_in__0,
+         function_size2_in__1,
+         function_size2_out__0,
+         function_size2_out__1,
+         function_size_in__0,
+         function_size_in__1,
+         function_size_out__0,
+         function_size_out__1,
+         function_slice__0,
+         function_slice__1,
+         function_sparsity_in__0,
+         function_sparsity_in__1,
+         function_sparsity_jac__0,
+         function_sparsity_jac__1,
+         function_sparsity_jac__10,
+         function_sparsity_jac__11,
+         function_sparsity_jac__12,
+         function_sparsity_jac__2,
+         function_sparsity_jac__3,
+         function_sparsity_jac__4,
+         function_sparsity_jac__5,
+         function_sparsity_jac__6,
+         function_sparsity_jac__7,
+         function_sparsity_jac__8,
+         function_sparsity_jac__9,
+         function_sparsity_out__0,
+         function_sparsity_out__1,
+         function_stats__0,
+         function_stats__1,
+         function_sx_in__0,
+         function_sx_in__1,
+         function_sx_in__2,
+         function_sx_out__0,
+         function_sx_out__1,
+         function_sx_out__2,
+         function_sz_arg,
+         function_sz_iw,
+         function_sz_res,
+         function_sz_w,
+         function_type_name,
+         function_uses_output,
+         function_which_depends__0,
+         function_which_depends__1,
+         function_which_depends__2,
+         function_wrap,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__0" c_casadi__Function__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
+
+casadi__Function__CONSTRUCTOR__0
+  :: String -> M.Map String MX -> Vector String -> Vector String -> IO Function
+casadi__Function__CONSTRUCTOR__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__CONSTRUCTOR__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function__0 :: String -> M.Map String MX -> Vector String -> Vector String -> IO Function
+function__0 = casadi__Function__CONSTRUCTOR__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__1" c_casadi__Function__CONSTRUCTOR__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__CONSTRUCTOR__1
+  :: String -> M.Map String MX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+casadi__Function__CONSTRUCTOR__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__CONSTRUCTOR__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function__1 :: String -> M.Map String MX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+function__1 = casadi__Function__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__2" c_casadi__Function__CONSTRUCTOR__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
+
+casadi__Function__CONSTRUCTOR__2
+  :: String -> Vector MX -> Vector MX -> Vector String -> Vector String -> IO Function
+casadi__Function__CONSTRUCTOR__2 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__CONSTRUCTOR__2 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function__2 :: String -> Vector MX -> Vector MX -> Vector String -> Vector String -> IO Function
+function__2 = casadi__Function__CONSTRUCTOR__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__3" c_casadi__Function__CONSTRUCTOR__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__CONSTRUCTOR__3
+  :: String -> Vector MX -> Vector MX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+casadi__Function__CONSTRUCTOR__3 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__CONSTRUCTOR__3 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+-- classy wrapper
+function__3 :: String -> Vector MX -> Vector MX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+function__3 = casadi__Function__CONSTRUCTOR__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__4" c_casadi__Function__CONSTRUCTOR__4
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr Function')
+
+casadi__Function__CONSTRUCTOR__4
+  :: String -> Vector MX -> Vector MX -> IO Function
+casadi__Function__CONSTRUCTOR__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__CONSTRUCTOR__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function__4 :: String -> Vector MX -> Vector MX -> IO Function
+function__4 = casadi__Function__CONSTRUCTOR__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__5" c_casadi__Function__CONSTRUCTOR__5
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__CONSTRUCTOR__5
+  :: String -> Vector MX -> Vector MX -> M.Map String GenericType -> IO Function
+casadi__Function__CONSTRUCTOR__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__CONSTRUCTOR__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function__5 :: String -> Vector MX -> Vector MX -> M.Map String GenericType -> IO Function
+function__5 = casadi__Function__CONSTRUCTOR__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__6" c_casadi__Function__CONSTRUCTOR__6
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
+
+casadi__Function__CONSTRUCTOR__6
+  :: String -> M.Map String SX -> Vector String -> Vector String -> IO Function
+casadi__Function__CONSTRUCTOR__6 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__CONSTRUCTOR__6 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function__6 :: String -> M.Map String SX -> Vector String -> Vector String -> IO Function
+function__6 = casadi__Function__CONSTRUCTOR__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__7" c_casadi__Function__CONSTRUCTOR__7
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__CONSTRUCTOR__7
+  :: String -> M.Map String SX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+casadi__Function__CONSTRUCTOR__7 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__CONSTRUCTOR__7 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function__7 :: String -> M.Map String SX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+function__7 = casadi__Function__CONSTRUCTOR__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__8" c_casadi__Function__CONSTRUCTOR__8
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
+
+casadi__Function__CONSTRUCTOR__8
+  :: String -> Vector SX -> Vector SX -> Vector String -> Vector String -> IO Function
+casadi__Function__CONSTRUCTOR__8 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__CONSTRUCTOR__8 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function__8 :: String -> Vector SX -> Vector SX -> Vector String -> Vector String -> IO Function
+function__8 = casadi__Function__CONSTRUCTOR__8
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__9" c_casadi__Function__CONSTRUCTOR__9
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__CONSTRUCTOR__9
+  :: String -> Vector SX -> Vector SX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+casadi__Function__CONSTRUCTOR__9 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__CONSTRUCTOR__9 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+-- classy wrapper
+function__9 :: String -> Vector SX -> Vector SX -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+function__9 = casadi__Function__CONSTRUCTOR__9
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__10" c_casadi__Function__CONSTRUCTOR__10
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr Function')
+
+casadi__Function__CONSTRUCTOR__10
+  :: String -> Vector SX -> Vector SX -> IO Function
+casadi__Function__CONSTRUCTOR__10 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__CONSTRUCTOR__10 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function__10 :: String -> Vector SX -> Vector SX -> IO Function
+function__10 = casadi__Function__CONSTRUCTOR__10
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__11" c_casadi__Function__CONSTRUCTOR__11
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__CONSTRUCTOR__11
+  :: String -> Vector SX -> Vector SX -> M.Map String GenericType -> IO Function
+casadi__Function__CONSTRUCTOR__11 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__CONSTRUCTOR__11 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function__11 :: String -> Vector SX -> Vector SX -> M.Map String GenericType -> IO Function
+function__11 = casadi__Function__CONSTRUCTOR__11
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__12" c_casadi__Function__CONSTRUCTOR__12
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr Function')
+
+casadi__Function__CONSTRUCTOR__12
+  :: String -> IO Function
+casadi__Function__CONSTRUCTOR__12 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__CONSTRUCTOR__12 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function__12 :: String -> IO Function
+function__12 = casadi__Function__CONSTRUCTOR__12
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__CONSTRUCTOR__13" c_casadi__Function__CONSTRUCTOR__13
+  :: Ptr (Ptr StdString) -> IO (Ptr Function')
+
+casadi__Function__CONSTRUCTOR__13
+  :: IO Function
+casadi__Function__CONSTRUCTOR__13  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__CONSTRUCTOR__13 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+function__13 :: IO Function
+function__13 = casadi__Function__CONSTRUCTOR__13
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__assert_size_in" c_casadi__Function__assert_size_in
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> CLLong -> CLLong -> IO ()
+
+casadi__Function__assert_size_in
+  :: Function -> Int -> Int -> Int -> IO ()
+casadi__Function__assert_size_in x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__assert_size_in errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+function_assert_size_in :: FunctionClass a => a -> Int -> Int -> Int -> IO ()
+function_assert_size_in x = casadi__Function__assert_size_in (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__assert_size_out" c_casadi__Function__assert_size_out
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> CLLong -> CLLong -> IO ()
+
+casadi__Function__assert_size_out
+  :: Function -> Int -> Int -> Int -> IO ()
+casadi__Function__assert_size_out x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__assert_size_out errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+function_assert_size_out :: FunctionClass a => a -> Int -> Int -> Int -> IO ()
+function_assert_size_out x = casadi__Function__assert_size_out (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__bspline__0" c_casadi__Function__bspline__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr (StdVec CDouble))) -> Ptr (StdVec CDouble) -> Ptr (StdVec CLLong) -> IO (Ptr Function')
+
+casadi__Function__bspline__0
+  :: String -> Vector (Vector Double) -> Vector Double -> Vector Int -> IO Function
+casadi__Function__bspline__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__bspline__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_bspline__0 :: String -> Vector (Vector Double) -> Vector Double -> Vector Int -> IO Function
+function_bspline__0 = casadi__Function__bspline__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__bspline__1" c_casadi__Function__bspline__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr (StdVec CDouble))) -> Ptr (StdVec CDouble) -> Ptr (StdVec CLLong) -> CLLong -> IO (Ptr Function')
+
+casadi__Function__bspline__1
+  :: String -> Vector (Vector Double) -> Vector Double -> Vector Int -> Int -> IO Function
+casadi__Function__bspline__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__bspline__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function_bspline__1 :: String -> Vector (Vector Double) -> Vector Double -> Vector Int -> Int -> IO Function
+function_bspline__1 = casadi__Function__bspline__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__bspline__2" c_casadi__Function__bspline__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr (StdVec CDouble))) -> Ptr (StdVec CDouble) -> Ptr (StdVec CLLong) -> CLLong -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__bspline__2
+  :: String -> Vector (Vector Double) -> Vector Double -> Vector Int -> Int -> M.Map String GenericType -> IO Function
+casadi__Function__bspline__2 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__bspline__2 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+-- classy wrapper
+function_bspline__2 :: String -> Vector (Vector Double) -> Vector Double -> Vector Int -> Int -> M.Map String GenericType -> IO Function
+function_bspline__2 = casadi__Function__bspline__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__bspline_dual__0" c_casadi__Function__bspline_dual__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr (StdVec CDouble))) -> Ptr (StdVec CDouble) -> Ptr (StdVec CLLong) -> IO (Ptr Function')
+
+casadi__Function__bspline_dual__0
+  :: String -> Vector (Vector Double) -> Vector Double -> Vector Int -> IO Function
+casadi__Function__bspline_dual__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__bspline_dual__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_bspline_dual__0 :: String -> Vector (Vector Double) -> Vector Double -> Vector Int -> IO Function
+function_bspline_dual__0 = casadi__Function__bspline_dual__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__bspline_dual__1" c_casadi__Function__bspline_dual__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr (StdVec CDouble))) -> Ptr (StdVec CDouble) -> Ptr (StdVec CLLong) -> CLLong -> IO (Ptr Function')
+
+casadi__Function__bspline_dual__1
+  :: String -> Vector (Vector Double) -> Vector Double -> Vector Int -> Int -> IO Function
+casadi__Function__bspline_dual__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__bspline_dual__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function_bspline_dual__1 :: String -> Vector (Vector Double) -> Vector Double -> Vector Int -> Int -> IO Function
+function_bspline_dual__1 = casadi__Function__bspline_dual__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__bspline_dual__2" c_casadi__Function__bspline_dual__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr (StdVec CDouble))) -> Ptr (StdVec CDouble) -> Ptr (StdVec CLLong) -> CLLong -> CInt -> IO (Ptr Function')
+
+casadi__Function__bspline_dual__2
+  :: String -> Vector (Vector Double) -> Vector Double -> Vector Int -> Int -> Bool -> IO Function
+casadi__Function__bspline_dual__2 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__bspline_dual__2 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+-- classy wrapper
+function_bspline_dual__2 :: String -> Vector (Vector Double) -> Vector Double -> Vector Int -> Int -> Bool -> IO Function
+function_bspline_dual__2 = casadi__Function__bspline_dual__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__bspline_dual__3" c_casadi__Function__bspline_dual__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr (StdVec CDouble))) -> Ptr (StdVec CDouble) -> Ptr (StdVec CLLong) -> CLLong -> CInt -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__bspline_dual__3
+  :: String -> Vector (Vector Double) -> Vector Double -> Vector Int -> Int -> Bool -> M.Map String GenericType -> IO Function
+casadi__Function__bspline_dual__3 x0 x1 x2 x3 x4 x5 x6 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__bspline_dual__3 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+
+  return ret
+
+
+
+-- classy wrapper
+function_bspline_dual__3 :: String -> Vector (Vector Double) -> Vector Double -> Vector Int -> Int -> Bool -> M.Map String GenericType -> IO Function
+function_bspline_dual__3 = casadi__Function__bspline_dual__3
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__0" c_casadi__Function__call__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (Ptr (StdMap StdString (Ptr MX'))) -> IO ()
+
+casadi__Function__call__0
+  :: Function -> M.Map String MX -> IO (M.Map String MX)
+casadi__Function__call__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__0 errStrPtrP x0' x1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__0/c_casadi__Function__call__0" else wrapReturn o2''
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__0 :: FunctionClass a => a -> M.Map String MX -> IO (M.Map String MX)
+function_call__0 x = casadi__Function__call__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__1" c_casadi__Function__call__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (Ptr (StdMap StdString (Ptr MX'))) -> CInt -> IO ()
+
+casadi__Function__call__1
+  :: Function -> M.Map String MX -> Bool -> IO (M.Map String MX)
+casadi__Function__call__1 x0 x1 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__1 errStrPtrP x0' x1' o2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__1/c_casadi__Function__call__1" else wrapReturn o2''
+  marshalFree x3 x3'
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__1 :: FunctionClass a => a -> M.Map String MX -> Bool -> IO (M.Map String MX)
+function_call__1 x = casadi__Function__call__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__2" c_casadi__Function__call__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (Ptr (StdMap StdString (Ptr MX'))) -> CInt -> CInt -> IO ()
+
+casadi__Function__call__2
+  :: Function -> M.Map String MX -> Bool -> Bool -> IO (M.Map String MX)
+casadi__Function__call__2 x0 x1 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__2 errStrPtrP x0' x1' o2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__2/c_casadi__Function__call__2" else wrapReturn o2''
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__2 :: FunctionClass a => a -> M.Map String MX -> Bool -> Bool -> IO (M.Map String MX)
+function_call__2 x = casadi__Function__call__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__3" c_casadi__Function__call__3
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (Ptr (StdMap StdString (Ptr SX'))) -> IO ()
+
+casadi__Function__call__3
+  :: Function -> M.Map String SX -> IO (M.Map String SX)
+casadi__Function__call__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__3 errStrPtrP x0' x1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__3/c_casadi__Function__call__3" else wrapReturn o2''
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__3 :: FunctionClass a => a -> M.Map String SX -> IO (M.Map String SX)
+function_call__3 x = casadi__Function__call__3 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__4" c_casadi__Function__call__4
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (Ptr (StdMap StdString (Ptr SX'))) -> CInt -> IO ()
+
+casadi__Function__call__4
+  :: Function -> M.Map String SX -> Bool -> IO (M.Map String SX)
+casadi__Function__call__4 x0 x1 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__4 errStrPtrP x0' x1' o2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__4/c_casadi__Function__call__4" else wrapReturn o2''
+  marshalFree x3 x3'
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__4 :: FunctionClass a => a -> M.Map String SX -> Bool -> IO (M.Map String SX)
+function_call__4 x = casadi__Function__call__4 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__5" c_casadi__Function__call__5
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (Ptr (StdMap StdString (Ptr SX'))) -> CInt -> CInt -> IO ()
+
+casadi__Function__call__5
+  :: Function -> M.Map String SX -> Bool -> Bool -> IO (M.Map String SX)
+casadi__Function__call__5 x0 x1 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__5 errStrPtrP x0' x1' o2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__5/c_casadi__Function__call__5" else wrapReturn o2''
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__5 :: FunctionClass a => a -> M.Map String SX -> Bool -> Bool -> IO (M.Map String SX)
+function_call__5 x = casadi__Function__call__5 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__6" c_casadi__Function__call__6
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr DM')) -> Ptr (Ptr (StdMap StdString (Ptr DM'))) -> IO ()
+
+casadi__Function__call__6
+  :: Function -> M.Map String DM -> IO (M.Map String DM)
+casadi__Function__call__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__6 errStrPtrP x0' x1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__6/c_casadi__Function__call__6" else wrapReturn o2''
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__6 :: FunctionClass a => a -> M.Map String DM -> IO (M.Map String DM)
+function_call__6 x = casadi__Function__call__6 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__7" c_casadi__Function__call__7
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr DM')) -> Ptr (Ptr (StdMap StdString (Ptr DM'))) -> CInt -> IO ()
+
+casadi__Function__call__7
+  :: Function -> M.Map String DM -> Bool -> IO (M.Map String DM)
+casadi__Function__call__7 x0 x1 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__7 errStrPtrP x0' x1' o2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__7/c_casadi__Function__call__7" else wrapReturn o2''
+  marshalFree x3 x3'
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__7 :: FunctionClass a => a -> M.Map String DM -> Bool -> IO (M.Map String DM)
+function_call__7 x = casadi__Function__call__7 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__8" c_casadi__Function__call__8
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr DM')) -> Ptr (Ptr (StdMap StdString (Ptr DM'))) -> CInt -> CInt -> IO ()
+
+casadi__Function__call__8
+  :: Function -> M.Map String DM -> Bool -> Bool -> IO (M.Map String DM)
+casadi__Function__call__8 x0 x1 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__8 errStrPtrP x0' x1' o2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__8/c_casadi__Function__call__8" else wrapReturn o2''
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__8 :: FunctionClass a => a -> M.Map String DM -> Bool -> Bool -> IO (M.Map String DM)
+function_call__8 x = casadi__Function__call__8 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__9" c_casadi__Function__call__9
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (Ptr (StdVec (Ptr MX'))) -> IO ()
+
+casadi__Function__call__9
+  :: Function -> Vector MX -> IO (Vector MX)
+casadi__Function__call__9 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__9 errStrPtrP x0' x1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__9/c_casadi__Function__call__9" else wrapReturn o2''
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__9 :: FunctionClass a => a -> Vector MX -> IO (Vector MX)
+function_call__9 x = casadi__Function__call__9 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__10" c_casadi__Function__call__10
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (Ptr (StdVec (Ptr MX'))) -> CInt -> IO ()
+
+casadi__Function__call__10
+  :: Function -> Vector MX -> Bool -> IO (Vector MX)
+casadi__Function__call__10 x0 x1 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__10 errStrPtrP x0' x1' o2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__10/c_casadi__Function__call__10" else wrapReturn o2''
+  marshalFree x3 x3'
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__10 :: FunctionClass a => a -> Vector MX -> Bool -> IO (Vector MX)
+function_call__10 x = casadi__Function__call__10 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__11" c_casadi__Function__call__11
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (Ptr (StdVec (Ptr MX'))) -> CInt -> CInt -> IO ()
+
+casadi__Function__call__11
+  :: Function -> Vector MX -> Bool -> Bool -> IO (Vector MX)
+casadi__Function__call__11 x0 x1 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__11 errStrPtrP x0' x1' o2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__11/c_casadi__Function__call__11" else wrapReturn o2''
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__11 :: FunctionClass a => a -> Vector MX -> Bool -> Bool -> IO (Vector MX)
+function_call__11 x = casadi__Function__call__11 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__12" c_casadi__Function__call__12
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (Ptr (StdVec (Ptr SX'))) -> IO ()
+
+casadi__Function__call__12
+  :: Function -> Vector SX -> IO (Vector SX)
+casadi__Function__call__12 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__12 errStrPtrP x0' x1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__12/c_casadi__Function__call__12" else wrapReturn o2''
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__12 :: FunctionClass a => a -> Vector SX -> IO (Vector SX)
+function_call__12 x = casadi__Function__call__12 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__13" c_casadi__Function__call__13
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (Ptr (StdVec (Ptr SX'))) -> CInt -> IO ()
+
+casadi__Function__call__13
+  :: Function -> Vector SX -> Bool -> IO (Vector SX)
+casadi__Function__call__13 x0 x1 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__13 errStrPtrP x0' x1' o2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__13/c_casadi__Function__call__13" else wrapReturn o2''
+  marshalFree x3 x3'
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__13 :: FunctionClass a => a -> Vector SX -> Bool -> IO (Vector SX)
+function_call__13 x = casadi__Function__call__13 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__14" c_casadi__Function__call__14
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (Ptr (StdVec (Ptr SX'))) -> CInt -> CInt -> IO ()
+
+casadi__Function__call__14
+  :: Function -> Vector SX -> Bool -> Bool -> IO (Vector SX)
+casadi__Function__call__14 x0 x1 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__14 errStrPtrP x0' x1' o2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__14/c_casadi__Function__call__14" else wrapReturn o2''
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__14 :: FunctionClass a => a -> Vector SX -> Bool -> Bool -> IO (Vector SX)
+function_call__14 x = casadi__Function__call__14 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__15" c_casadi__Function__call__15
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (Ptr (StdVec (Ptr DM'))) -> IO ()
+
+casadi__Function__call__15
+  :: Function -> Vector DM -> IO (Vector DM)
+casadi__Function__call__15 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__15 errStrPtrP x0' x1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__15/c_casadi__Function__call__15" else wrapReturn o2''
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__15 :: FunctionClass a => a -> Vector DM -> IO (Vector DM)
+function_call__15 x = casadi__Function__call__15 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__16" c_casadi__Function__call__16
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (Ptr (StdVec (Ptr DM'))) -> CInt -> IO ()
+
+casadi__Function__call__16
+  :: Function -> Vector DM -> Bool -> IO (Vector DM)
+casadi__Function__call__16 x0 x1 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__16 errStrPtrP x0' x1' o2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__16/c_casadi__Function__call__16" else wrapReturn o2''
+  marshalFree x3 x3'
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__16 :: FunctionClass a => a -> Vector DM -> Bool -> IO (Vector DM)
+function_call__16 x = casadi__Function__call__16 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__call__17" c_casadi__Function__call__17
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (Ptr (StdVec (Ptr DM'))) -> CInt -> CInt -> IO ()
+
+casadi__Function__call__17
+  :: Function -> Vector DM -> Bool -> Bool -> IO (Vector DM)
+casadi__Function__call__17 x0 x1 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  o2' <- new nullPtr
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__call__17 errStrPtrP x0' x1' o2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__call__17/c_casadi__Function__call__17" else wrapReturn o2''
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o2''')
+
+
+
+-- classy wrapper
+function_call__17 :: FunctionClass a => a -> Vector DM -> Bool -> Bool -> IO (Vector DM)
+function_call__17 x = casadi__Function__call__17 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__check_name" c_casadi__Function__check_name
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+
+casadi__Function__check_name
+  :: String -> IO Bool
+casadi__Function__check_name x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__check_name errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_check_name :: String -> IO Bool
+function_check_name = casadi__Function__check_name
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__checkout" c_casadi__Function__checkout
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CLLong
+
+casadi__Function__checkout
+  :: Function -> IO Int
+casadi__Function__checkout x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__checkout errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_checkout :: FunctionClass a => a -> IO Int
+function_checkout x = casadi__Function__checkout (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__conditional__0" c_casadi__Function__conditional__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr Function')) -> Ptr Function' -> IO (Ptr Function')
+
+casadi__Function__conditional__0
+  :: String -> Vector Function -> Function -> IO Function
+casadi__Function__conditional__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__conditional__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_conditional__0 :: String -> Vector Function -> Function -> IO Function
+function_conditional__0 = casadi__Function__conditional__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__conditional__1" c_casadi__Function__conditional__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr Function')) -> Ptr Function' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__conditional__1
+  :: String -> Vector Function -> Function -> M.Map String GenericType -> IO Function
+casadi__Function__conditional__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__conditional__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_conditional__1 :: String -> Vector Function -> Function -> M.Map String GenericType -> IO Function
+function_conditional__1 = casadi__Function__conditional__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__default_in" c_casadi__Function__default_in
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO CDouble
+
+casadi__Function__default_in
+  :: Function -> Int -> IO Double
+casadi__Function__default_in x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__default_in errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_default_in :: FunctionClass a => a -> Int -> IO Double
+function_default_in x = casadi__Function__default_in (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__deserialize" c_casadi__Function__deserialize
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr Function')
+
+casadi__Function__deserialize
+  :: String -> IO Function
+casadi__Function__deserialize x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__deserialize errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_deserialize :: String -> IO Function
+function_deserialize = casadi__Function__deserialize
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__expand__0" c_casadi__Function__expand__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
+
+casadi__Function__expand__0
+  :: Function -> String -> IO Function
+casadi__Function__expand__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__expand__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_expand__0 :: FunctionClass a => a -> String -> IO Function
+function_expand__0 x = casadi__Function__expand__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__expand__1" c_casadi__Function__expand__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__expand__1
+  :: Function -> String -> M.Map String GenericType -> IO Function
+casadi__Function__expand__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__expand__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_expand__1 :: FunctionClass a => a -> String -> M.Map String GenericType -> IO Function
+function_expand__1 x = casadi__Function__expand__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__expand__2" c_casadi__Function__expand__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
+
+casadi__Function__expand__2
+  :: Function -> IO Function
+casadi__Function__expand__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__expand__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_expand__2 :: FunctionClass a => a -> IO Function
+function_expand__2 x = casadi__Function__expand__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__export_code__0" c_casadi__Function__export_code__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr StdString)
+
+casadi__Function__export_code__0
+  :: Function -> String -> IO String
+casadi__Function__export_code__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__export_code__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_export_code__0 :: FunctionClass a => a -> String -> IO String
+function_export_code__0 x = casadi__Function__export_code__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__export_code__1" c_casadi__Function__export_code__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr StdString)
+
+casadi__Function__export_code__1
+  :: Function -> String -> M.Map String GenericType -> IO String
+casadi__Function__export_code__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__export_code__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_export_code__1 :: FunctionClass a => a -> String -> M.Map String GenericType -> IO String
+function_export_code__1 x = casadi__Function__export_code__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__export_code__2" c_casadi__Function__export_code__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO ()
+
+casadi__Function__export_code__2
+  :: Function -> String -> String -> IO ()
+casadi__Function__export_code__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__export_code__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+function_export_code__2 :: FunctionClass a => a -> String -> String -> IO ()
+function_export_code__2 x = casadi__Function__export_code__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__export_code__3" c_casadi__Function__export_code__3
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO ()
+
+casadi__Function__export_code__3
+  :: Function -> String -> String -> M.Map String GenericType -> IO ()
+casadi__Function__export_code__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__export_code__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+function_export_code__3 :: FunctionClass a => a -> String -> String -> M.Map String GenericType -> IO ()
+function_export_code__3 x = casadi__Function__export_code__3 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__factory__0" c_casadi__Function__factory__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
+
+casadi__Function__factory__0
+  :: Function -> String -> Vector String -> Vector String -> IO Function
+casadi__Function__factory__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__factory__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_factory__0 :: FunctionClass a => a -> String -> Vector String -> Vector String -> IO Function
+function_factory__0 x = casadi__Function__factory__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__factory__1" c_casadi__Function__factory__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr (StdVec (Ptr StdString)))) -> IO (Ptr Function')
+
+casadi__Function__factory__1
+  :: Function -> String -> Vector String -> Vector String -> M.Map String (Vector String) -> IO Function
+casadi__Function__factory__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__factory__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function_factory__1 :: FunctionClass a => a -> String -> Vector String -> Vector String -> M.Map String (Vector String) -> IO Function
+function_factory__1 x = casadi__Function__factory__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__factory__2" c_casadi__Function__factory__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr (StdVec (Ptr StdString)))) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__factory__2
+  :: Function -> String -> Vector String -> Vector String -> M.Map String (Vector String) -> M.Map String GenericType -> IO Function
+casadi__Function__factory__2 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__factory__2 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+-- classy wrapper
+function_factory__2 :: FunctionClass a => a -> String -> Vector String -> Vector String -> M.Map String (Vector String) -> M.Map String GenericType -> IO Function
+function_factory__2 x = casadi__Function__factory__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__fix_name" c_casadi__Function__fix_name
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
+
+casadi__Function__fix_name
+  :: String -> IO String
+casadi__Function__fix_name x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__fix_name errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_fix_name :: String -> IO String
+function_fix_name = casadi__Function__fix_name
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__fold__0" c_casadi__Function__fold__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr Function')
+
+casadi__Function__fold__0
+  :: Function -> Int -> IO Function
+casadi__Function__fold__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__fold__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_fold__0 :: FunctionClass a => a -> Int -> IO Function
+function_fold__0 x = casadi__Function__fold__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__fold__1" c_casadi__Function__fold__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__fold__1
+  :: Function -> Int -> M.Map String GenericType -> IO Function
+casadi__Function__fold__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__fold__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_fold__1 :: FunctionClass a => a -> Int -> M.Map String GenericType -> IO Function
+function_fold__1 x = casadi__Function__fold__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__forward" c_casadi__Function__forward
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr Function')
+
+casadi__Function__forward
+  :: Function -> Int -> IO Function
+casadi__Function__forward x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__forward errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_forward :: FunctionClass a => a -> Int -> IO Function
+function_forward x = casadi__Function__forward (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__free_mx" c_casadi__Function__free_mx
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__Function__free_mx
+  :: Function -> IO (Vector MX)
+casadi__Function__free_mx x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__free_mx errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_free_mx :: FunctionClass a => a -> IO (Vector MX)
+function_free_mx x = casadi__Function__free_mx (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__free_sx" c_casadi__Function__free_sx
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi__Function__free_sx
+  :: Function -> IO (Vector SX)
+casadi__Function__free_sx x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__free_sx errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_free_sx :: FunctionClass a => a -> IO (Vector SX)
+function_free_sx x = casadi__Function__free_sx (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__generate__0" c_casadi__Function__generate__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr StdString)
+
+casadi__Function__generate__0
+  :: Function -> IO String
+casadi__Function__generate__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__generate__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_generate__0 :: FunctionClass a => a -> IO String
+function_generate__0 x = casadi__Function__generate__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__generate__1" c_casadi__Function__generate__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr StdString)
+
+casadi__Function__generate__1
+  :: Function -> M.Map String GenericType -> IO String
+casadi__Function__generate__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__generate__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_generate__1 :: FunctionClass a => a -> M.Map String GenericType -> IO String
+function_generate__1 x = casadi__Function__generate__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__generate__2" c_casadi__Function__generate__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr StdString)
+
+casadi__Function__generate__2
+  :: Function -> String -> IO String
+casadi__Function__generate__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__generate__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_generate__2 :: FunctionClass a => a -> String -> IO String
+function_generate__2 x = casadi__Function__generate__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__generate__3" c_casadi__Function__generate__3
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr StdString)
+
+casadi__Function__generate__3
+  :: Function -> String -> M.Map String GenericType -> IO String
+casadi__Function__generate__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__generate__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_generate__3 :: FunctionClass a => a -> String -> M.Map String GenericType -> IO String
+function_generate__3 x = casadi__Function__generate__3 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__generate_dependencies__0" c_casadi__Function__generate_dependencies__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr StdString)
+
+casadi__Function__generate_dependencies__0
+  :: Function -> String -> IO String
+casadi__Function__generate_dependencies__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__generate_dependencies__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_generate_dependencies__0 :: FunctionClass a => a -> String -> IO String
+function_generate_dependencies__0 x = casadi__Function__generate_dependencies__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__generate_dependencies__1" c_casadi__Function__generate_dependencies__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr StdString)
+
+casadi__Function__generate_dependencies__1
+  :: Function -> String -> M.Map String GenericType -> IO String
+casadi__Function__generate_dependencies__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__generate_dependencies__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_generate_dependencies__1 :: FunctionClass a => a -> String -> M.Map String GenericType -> IO String
+function_generate_dependencies__1 x = casadi__Function__generate_dependencies__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__generate_lifted" c_casadi__Function__generate_lifted
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (Ptr Function') -> Ptr (Ptr Function') -> IO ()
+
+casadi__Function__generate_lifted
+  :: Function -> IO (Function, Function)
+casadi__Function__generate_lifted x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__generate_lifted errStrPtrP x0' o1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Function__generate_lifted/c_casadi__Function__generate_lifted" else wrapReturn o1''
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Function__generate_lifted/c_casadi__Function__generate_lifted" else wrapReturn o2''
+
+  return (o1''', o2''')
+
+
+
+-- classy wrapper
+function_generate_lifted :: FunctionClass a => a -> IO (Function, Function)
+function_generate_lifted x = casadi__Function__generate_lifted (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__get_free" c_casadi__Function__get_free
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr StdString)))
+
+casadi__Function__get_free
+  :: Function -> IO (Vector String)
+casadi__Function__get_free x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__get_free errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_get_free :: FunctionClass a => a -> IO (Vector String)
+function_get_free x = casadi__Function__get_free (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__get_function__0" c_casadi__Function__get_function__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
+
+casadi__Function__get_function__0
+  :: Function -> String -> IO Function
+casadi__Function__get_function__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__get_function__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_get_function__0 :: FunctionClass a => a -> String -> IO Function
+function_get_function__0 x = casadi__Function__get_function__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__get_function__1" c_casadi__Function__get_function__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr StdString)))
+
+casadi__Function__get_function__1
+  :: Function -> IO (Vector String)
+casadi__Function__get_function__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__get_function__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_get_function__1 :: FunctionClass a => a -> IO (Vector String)
+function_get_function__1 x = casadi__Function__get_function__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__has_free" c_casadi__Function__has_free
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
+
+casadi__Function__has_free
+  :: Function -> IO Bool
+casadi__Function__has_free x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__has_free errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_has_free :: FunctionClass a => a -> IO Bool
+function_has_free x = casadi__Function__has_free (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__has_function" c_casadi__Function__has_function
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CInt
+
+casadi__Function__has_function
+  :: Function -> String -> IO Bool
+casadi__Function__has_function x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__has_function errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_has_function :: FunctionClass a => a -> String -> IO Bool
+function_has_function x = casadi__Function__has_function (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__has_spfwd" c_casadi__Function__has_spfwd
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
+
+casadi__Function__has_spfwd
+  :: Function -> IO Bool
+casadi__Function__has_spfwd x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__has_spfwd errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_has_spfwd :: FunctionClass a => a -> IO Bool
+function_has_spfwd x = casadi__Function__has_spfwd (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__has_sprev" c_casadi__Function__has_sprev
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
+
+casadi__Function__has_sprev
+  :: Function -> IO Bool
+casadi__Function__has_sprev x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__has_sprev errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_has_sprev :: FunctionClass a => a -> IO Bool
+function_has_sprev x = casadi__Function__has_sprev (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__hessian_old" c_casadi__Function__hessian_old
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> CLLong -> IO (Ptr Function')
+
+casadi__Function__hessian_old
+  :: Function -> Int -> Int -> IO Function
+casadi__Function__hessian_old x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__hessian_old errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_hessian_old :: FunctionClass a => a -> Int -> Int -> IO Function
+function_hessian_old x = casadi__Function__hessian_old (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__if_else__0" c_casadi__Function__if_else__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Function' -> Ptr Function' -> IO (Ptr Function')
+
+casadi__Function__if_else__0
+  :: String -> Function -> Function -> IO Function
+casadi__Function__if_else__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__if_else__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_if_else__0 :: String -> Function -> Function -> IO Function
+function_if_else__0 = casadi__Function__if_else__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__if_else__1" c_casadi__Function__if_else__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Function' -> Ptr Function' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__if_else__1
+  :: String -> Function -> Function -> M.Map String GenericType -> IO Function
+casadi__Function__if_else__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__if_else__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_if_else__1 :: String -> Function -> Function -> M.Map String GenericType -> IO Function
+function_if_else__1 = casadi__Function__if_else__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__index_in" c_casadi__Function__index_in
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CLLong
+
+casadi__Function__index_in
+  :: Function -> String -> IO Int
+casadi__Function__index_in x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__index_in errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_index_in :: FunctionClass a => a -> String -> IO Int
+function_index_in x = casadi__Function__index_in (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__index_out" c_casadi__Function__index_out
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CLLong
+
+casadi__Function__index_out
+  :: Function -> String -> IO Int
+casadi__Function__index_out x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__index_out errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_index_out :: FunctionClass a => a -> String -> IO Int
+function_index_out x = casadi__Function__index_out (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__info" c_casadi__Function__info
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdMap StdString (Ptr GenericType')))
+
+casadi__Function__info
+  :: Function -> IO (M.Map String GenericType)
+casadi__Function__info x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__info errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_info :: FunctionClass a => a -> IO (M.Map String GenericType)
+function_info x = casadi__Function__info (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__instruction_MX" c_casadi__Function__instruction_MX
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr MX')
+
+casadi__Function__instruction_MX
+  :: Function -> Int -> IO MX
+casadi__Function__instruction_MX x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__instruction_MX errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_instruction_MX :: FunctionClass a => a -> Int -> IO MX
+function_instruction_MX x = casadi__Function__instruction_MX (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__instruction_constant" c_casadi__Function__instruction_constant
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO CDouble
+
+casadi__Function__instruction_constant
+  :: Function -> Int -> IO Double
+casadi__Function__instruction_constant x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__instruction_constant errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_instruction_constant :: FunctionClass a => a -> Int -> IO Double
+function_instruction_constant x = casadi__Function__instruction_constant (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__instruction_id" c_casadi__Function__instruction_id
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO CLLong
+
+casadi__Function__instruction_id
+  :: Function -> Int -> IO Int
+casadi__Function__instruction_id x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__instruction_id errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_instruction_id :: FunctionClass a => a -> Int -> IO Int
+function_instruction_id x = casadi__Function__instruction_id (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__instruction_input" c_casadi__Function__instruction_input
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr (StdVec CLLong))
+
+casadi__Function__instruction_input
+  :: Function -> Int -> IO (Vector Int)
+casadi__Function__instruction_input x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__instruction_input errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_instruction_input :: FunctionClass a => a -> Int -> IO (Vector Int)
+function_instruction_input x = casadi__Function__instruction_input (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__instruction_output" c_casadi__Function__instruction_output
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr (StdVec CLLong))
+
+casadi__Function__instruction_output
+  :: Function -> Int -> IO (Vector Int)
+casadi__Function__instruction_output x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__instruction_output errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_instruction_output :: FunctionClass a => a -> Int -> IO (Vector Int)
+function_instruction_output x = casadi__Function__instruction_output (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__is_a__0" c_casadi__Function__is_a__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CInt
+
+casadi__Function__is_a__0
+  :: Function -> String -> IO Bool
+casadi__Function__is_a__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__is_a__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_is_a__0 :: FunctionClass a => a -> String -> IO Bool
+function_is_a__0 x = casadi__Function__is_a__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__is_a__1" c_casadi__Function__is_a__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO CInt
+
+casadi__Function__is_a__1
+  :: Function -> String -> Bool -> IO Bool
+casadi__Function__is_a__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__is_a__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_is_a__1 :: FunctionClass a => a -> String -> Bool -> IO Bool
+function_is_a__1 x = casadi__Function__is_a__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__jac" c_casadi__Function__jac
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
+
+casadi__Function__jac
+  :: Function -> IO Function
+casadi__Function__jac x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__jac errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_jac :: FunctionClass a => a -> IO Function
+function_jac x = casadi__Function__jac (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__jacobian" c_casadi__Function__jacobian
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
+
+casadi__Function__jacobian
+  :: Function -> IO Function
+casadi__Function__jacobian x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__jacobian errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_jacobian :: FunctionClass a => a -> IO Function
+function_jacobian x = casadi__Function__jacobian (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall safe "casadi__Function__jacobian_old" c_casadi__Function__jacobian_old
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> CLLong -> IO (Ptr Function')
+
+casadi__Function__jacobian_old
+  :: Function -> Int -> Int -> IO Function
+casadi__Function__jacobian_old x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__jacobian_old errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_jacobian_old :: FunctionClass a => a -> Int -> Int -> IO Function
+function_jacobian_old x = casadi__Function__jacobian_old (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__jit__0" c_casadi__Function__jit__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Function')
+
+casadi__Function__jit__0
+  :: String -> String -> Vector String -> Vector String -> Vector Sparsity -> Vector Sparsity -> IO Function
+casadi__Function__jit__0 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__jit__0 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+-- classy wrapper
+function_jit__0 :: String -> String -> Vector String -> Vector String -> Vector Sparsity -> Vector Sparsity -> IO Function
+function_jit__0 = casadi__Function__jit__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__jit__1" c_casadi__Function__jit__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__jit__1
+  :: String -> String -> Vector String -> Vector String -> Vector Sparsity -> Vector Sparsity -> M.Map String GenericType -> IO Function
+casadi__Function__jit__1 x0 x1 x2 x3 x4 x5 x6 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__jit__1 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+
+  return ret
+
+
+
+-- classy wrapper
+function_jit__1 :: String -> String -> Vector String -> Vector String -> Vector Sparsity -> Vector Sparsity -> M.Map String GenericType -> IO Function
+function_jit__1 = casadi__Function__jit__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__jit__2" c_casadi__Function__jit__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
+
+casadi__Function__jit__2
+  :: String -> String -> Vector String -> Vector String -> IO Function
+casadi__Function__jit__2 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__jit__2 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_jit__2 :: String -> String -> Vector String -> Vector String -> IO Function
+function_jit__2 = casadi__Function__jit__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__jit__3" c_casadi__Function__jit__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__jit__3
+  :: String -> String -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+casadi__Function__jit__3 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__jit__3 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function_jit__3 :: String -> String -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+function_jit__3 = casadi__Function__jit__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__map__0" c_casadi__Function__map__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CLLong -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
+
+casadi__Function__map__0
+  :: Function -> String -> String -> Int -> Vector String -> Vector String -> IO Function
+casadi__Function__map__0 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__map__0 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+-- classy wrapper
+function_map__0 :: FunctionClass a => a -> String -> String -> Int -> Vector String -> Vector String -> IO Function
+function_map__0 x = casadi__Function__map__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__map__1" c_casadi__Function__map__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CLLong -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__map__1
+  :: Function -> String -> String -> Int -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+casadi__Function__map__1 x0 x1 x2 x3 x4 x5 x6 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__map__1 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+
+  return ret
+
+
+
+-- classy wrapper
+function_map__1 :: FunctionClass a => a -> String -> String -> Int -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+function_map__1 x = casadi__Function__map__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__map__2" c_casadi__Function__map__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr Function')
+
+casadi__Function__map__2
+  :: Function -> String -> String -> Int -> Vector Int -> Vector Int -> IO Function
+casadi__Function__map__2 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__map__2 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+-- classy wrapper
+function_map__2 :: FunctionClass a => a -> String -> String -> Int -> Vector Int -> Vector Int -> IO Function
+function_map__2 x = casadi__Function__map__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__map__3" c_casadi__Function__map__3
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__map__3
+  :: Function -> String -> String -> Int -> Vector Int -> Vector Int -> M.Map String GenericType -> IO Function
+casadi__Function__map__3 x0 x1 x2 x3 x4 x5 x6 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__map__3 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+
+  return ret
+
+
+
+-- classy wrapper
+function_map__3 :: FunctionClass a => a -> String -> String -> Int -> Vector Int -> Vector Int -> M.Map String GenericType -> IO Function
+function_map__3 x = casadi__Function__map__3 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__map__4" c_casadi__Function__map__4
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> Ptr StdString -> CLLong -> IO (Ptr Function')
+
+casadi__Function__map__4
+  :: Function -> Int -> String -> Int -> IO Function
+casadi__Function__map__4 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__map__4 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_map__4 :: FunctionClass a => a -> Int -> String -> Int -> IO Function
+function_map__4 x = casadi__Function__map__4 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__map__5" c_casadi__Function__map__5
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr Function')
+
+casadi__Function__map__5
+  :: Function -> Int -> IO Function
+casadi__Function__map__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__map__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_map__5 :: FunctionClass a => a -> Int -> IO Function
+function_map__5 x = casadi__Function__map__5 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__map__6" c_casadi__Function__map__6
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> Ptr StdString -> IO (Ptr Function')
+
+casadi__Function__map__6
+  :: Function -> Int -> String -> IO Function
+casadi__Function__map__6 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__map__6 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_map__6 :: FunctionClass a => a -> Int -> String -> IO Function
+function_map__6 x = casadi__Function__map__6 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mapaccum__0" c_casadi__Function__mapaccum__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr Function')
+
+casadi__Function__mapaccum__0
+  :: Function -> Int -> IO Function
+casadi__Function__mapaccum__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mapaccum__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mapaccum__0 :: FunctionClass a => a -> Int -> IO Function
+function_mapaccum__0 x = casadi__Function__mapaccum__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mapaccum__1" c_casadi__Function__mapaccum__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__mapaccum__1
+  :: Function -> Int -> M.Map String GenericType -> IO Function
+casadi__Function__mapaccum__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mapaccum__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mapaccum__1 :: FunctionClass a => a -> Int -> M.Map String GenericType -> IO Function
+function_mapaccum__1 x = casadi__Function__mapaccum__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mapaccum__2" c_casadi__Function__mapaccum__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CLLong -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr Function')
+
+casadi__Function__mapaccum__2
+  :: Function -> String -> Int -> Vector String -> Vector String -> IO Function
+casadi__Function__mapaccum__2 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mapaccum__2 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mapaccum__2 :: FunctionClass a => a -> String -> Int -> Vector String -> Vector String -> IO Function
+function_mapaccum__2 x = casadi__Function__mapaccum__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mapaccum__3" c_casadi__Function__mapaccum__3
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CLLong -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr StdString)) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__mapaccum__3
+  :: Function -> String -> Int -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+casadi__Function__mapaccum__3 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mapaccum__3 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mapaccum__3 :: FunctionClass a => a -> String -> Int -> Vector String -> Vector String -> M.Map String GenericType -> IO Function
+function_mapaccum__3 x = casadi__Function__mapaccum__3 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mapaccum__4" c_casadi__Function__mapaccum__4
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr Function')
+
+casadi__Function__mapaccum__4
+  :: Function -> String -> Int -> Vector Int -> Vector Int -> IO Function
+casadi__Function__mapaccum__4 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mapaccum__4 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mapaccum__4 :: FunctionClass a => a -> String -> Int -> Vector Int -> Vector Int -> IO Function
+function_mapaccum__4 x = casadi__Function__mapaccum__4 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mapaccum__5" c_casadi__Function__mapaccum__5
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__mapaccum__5
+  :: Function -> String -> Int -> Vector Int -> Vector Int -> M.Map String GenericType -> IO Function
+casadi__Function__mapaccum__5 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mapaccum__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mapaccum__5 :: FunctionClass a => a -> String -> Int -> Vector Int -> Vector Int -> M.Map String GenericType -> IO Function
+function_mapaccum__5 x = casadi__Function__mapaccum__5 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mapaccum__6" c_casadi__Function__mapaccum__6
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CLLong -> CLLong -> IO (Ptr Function')
+
+casadi__Function__mapaccum__6
+  :: Function -> String -> Int -> Int -> IO Function
+casadi__Function__mapaccum__6 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mapaccum__6 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mapaccum__6 :: FunctionClass a => a -> String -> Int -> Int -> IO Function
+function_mapaccum__6 x = casadi__Function__mapaccum__6 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mapaccum__7" c_casadi__Function__mapaccum__7
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CLLong -> CLLong -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__mapaccum__7
+  :: Function -> String -> Int -> Int -> M.Map String GenericType -> IO Function
+casadi__Function__mapaccum__7 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mapaccum__7 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mapaccum__7 :: FunctionClass a => a -> String -> Int -> Int -> M.Map String GenericType -> IO Function
+function_mapaccum__7 x = casadi__Function__mapaccum__7 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mapaccum__8" c_casadi__Function__mapaccum__8
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CLLong -> IO (Ptr Function')
+
+casadi__Function__mapaccum__8
+  :: Function -> String -> Int -> IO Function
+casadi__Function__mapaccum__8 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mapaccum__8 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mapaccum__8 :: FunctionClass a => a -> String -> Int -> IO Function
+function_mapaccum__8 x = casadi__Function__mapaccum__8 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mapaccum__9" c_casadi__Function__mapaccum__9
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CLLong -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__mapaccum__9
+  :: Function -> String -> Int -> M.Map String GenericType -> IO Function
+casadi__Function__mapaccum__9 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mapaccum__9 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mapaccum__9 :: FunctionClass a => a -> String -> Int -> M.Map String GenericType -> IO Function
+function_mapaccum__9 x = casadi__Function__mapaccum__9 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mapsum__0" c_casadi__Function__mapsum__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__Function__mapsum__0
+  :: Function -> Vector MX -> IO (Vector MX)
+casadi__Function__mapsum__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mapsum__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mapsum__0 :: FunctionClass a => a -> Vector MX -> IO (Vector MX)
+function_mapsum__0 x = casadi__Function__mapsum__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mapsum__1" c_casadi__Function__mapsum__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__Function__mapsum__1
+  :: Function -> Vector MX -> String -> IO (Vector MX)
+casadi__Function__mapsum__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mapsum__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mapsum__1 :: FunctionClass a => a -> Vector MX -> String -> IO (Vector MX)
+function_mapsum__1 x = casadi__Function__mapsum__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__max_in" c_casadi__Function__max_in
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO CDouble
+
+casadi__Function__max_in
+  :: Function -> Int -> IO Double
+casadi__Function__max_in x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__max_in errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_max_in :: FunctionClass a => a -> Int -> IO Double
+function_max_in x = casadi__Function__max_in (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__min_in" c_casadi__Function__min_in
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO CDouble
+
+casadi__Function__min_in
+  :: Function -> Int -> IO Double
+casadi__Function__min_in x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__min_in errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_min_in :: FunctionClass a => a -> Int -> IO Double
+function_min_in x = casadi__Function__min_in (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mx_in__0" c_casadi__Function__mx_in__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__Function__mx_in__0
+  :: Function -> IO (Vector MX)
+casadi__Function__mx_in__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mx_in__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mx_in__0 :: FunctionClass a => a -> IO (Vector MX)
+function_mx_in__0 x = casadi__Function__mx_in__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mx_in__1" c_casadi__Function__mx_in__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr MX')
+
+casadi__Function__mx_in__1
+  :: Function -> String -> IO MX
+casadi__Function__mx_in__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mx_in__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mx_in__1 :: FunctionClass a => a -> String -> IO MX
+function_mx_in__1 x = casadi__Function__mx_in__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mx_in__2" c_casadi__Function__mx_in__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr MX')
+
+casadi__Function__mx_in__2
+  :: Function -> Int -> IO MX
+casadi__Function__mx_in__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mx_in__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mx_in__2 :: FunctionClass a => a -> Int -> IO MX
+function_mx_in__2 x = casadi__Function__mx_in__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mx_out__0" c_casadi__Function__mx_out__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__Function__mx_out__0
+  :: Function -> IO (Vector MX)
+casadi__Function__mx_out__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mx_out__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mx_out__0 :: FunctionClass a => a -> IO (Vector MX)
+function_mx_out__0 x = casadi__Function__mx_out__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mx_out__1" c_casadi__Function__mx_out__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr MX')
+
+casadi__Function__mx_out__1
+  :: Function -> String -> IO MX
+casadi__Function__mx_out__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mx_out__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mx_out__1 :: FunctionClass a => a -> String -> IO MX
+function_mx_out__1 x = casadi__Function__mx_out__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__mx_out__2" c_casadi__Function__mx_out__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr MX')
+
+casadi__Function__mx_out__2
+  :: Function -> Int -> IO MX
+casadi__Function__mx_out__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__mx_out__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_mx_out__2 :: FunctionClass a => a -> Int -> IO MX
+function_mx_out__2 x = casadi__Function__mx_out__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__n_in" c_casadi__Function__n_in
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CLLong
+
+casadi__Function__n_in
+  :: Function -> IO Int
+casadi__Function__n_in x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__n_in errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_n_in :: FunctionClass a => a -> IO Int
+function_n_in x = casadi__Function__n_in (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__n_instructions" c_casadi__Function__n_instructions
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CLLong
+
+casadi__Function__n_instructions
+  :: Function -> IO Int
+casadi__Function__n_instructions x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__n_instructions errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_n_instructions :: FunctionClass a => a -> IO Int
+function_n_instructions x = casadi__Function__n_instructions (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__n_nodes" c_casadi__Function__n_nodes
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CLLong
+
+casadi__Function__n_nodes
+  :: Function -> IO Int
+casadi__Function__n_nodes x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__n_nodes errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_n_nodes :: FunctionClass a => a -> IO Int
+function_n_nodes x = casadi__Function__n_nodes (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__n_out" c_casadi__Function__n_out
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CLLong
+
+casadi__Function__n_out
+  :: Function -> IO Int
+casadi__Function__n_out x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__n_out errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_n_out :: FunctionClass a => a -> IO Int
+function_n_out x = casadi__Function__n_out (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__name" c_casadi__Function__name
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr StdString)
+
+casadi__Function__name
+  :: Function -> IO String
+casadi__Function__name x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__name errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_name :: FunctionClass a => a -> IO String
+function_name x = casadi__Function__name (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__name_in__0" c_casadi__Function__name_in__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr StdString)
+
+casadi__Function__name_in__0
+  :: Function -> Int -> IO String
+casadi__Function__name_in__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__name_in__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_name_in__0 :: FunctionClass a => a -> Int -> IO String
+function_name_in__0 x = casadi__Function__name_in__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__name_in__1" c_casadi__Function__name_in__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr StdString)))
+
+casadi__Function__name_in__1
+  :: Function -> IO (Vector String)
+casadi__Function__name_in__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__name_in__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_name_in__1 :: FunctionClass a => a -> IO (Vector String)
+function_name_in__1 x = casadi__Function__name_in__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__name_out__0" c_casadi__Function__name_out__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr StdString)
+
+casadi__Function__name_out__0
+  :: Function -> Int -> IO String
+casadi__Function__name_out__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__name_out__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_name_out__0 :: FunctionClass a => a -> Int -> IO String
+function_name_out__0 x = casadi__Function__name_out__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__name_out__1" c_casadi__Function__name_out__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr StdString)))
+
+casadi__Function__name_out__1
+  :: Function -> IO (Vector String)
+casadi__Function__name_out__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__name_out__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_name_out__1 :: FunctionClass a => a -> IO (Vector String)
+function_name_out__1 x = casadi__Function__name_out__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__nnz_in__0" c_casadi__Function__nnz_in__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CLLong
+
+casadi__Function__nnz_in__0
+  :: Function -> String -> IO Int
+casadi__Function__nnz_in__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__nnz_in__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_nnz_in__0 :: FunctionClass a => a -> String -> IO Int
+function_nnz_in__0 x = casadi__Function__nnz_in__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__nnz_in__1" c_casadi__Function__nnz_in__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO CLLong
+
+casadi__Function__nnz_in__1
+  :: Function -> Int -> IO Int
+casadi__Function__nnz_in__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__nnz_in__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_nnz_in__1 :: FunctionClass a => a -> Int -> IO Int
+function_nnz_in__1 x = casadi__Function__nnz_in__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__nnz_in__2" c_casadi__Function__nnz_in__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CLLong
+
+casadi__Function__nnz_in__2
+  :: Function -> IO Int
+casadi__Function__nnz_in__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__nnz_in__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_nnz_in__2 :: FunctionClass a => a -> IO Int
+function_nnz_in__2 x = casadi__Function__nnz_in__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__nnz_out__0" c_casadi__Function__nnz_out__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CLLong
+
+casadi__Function__nnz_out__0
+  :: Function -> String -> IO Int
+casadi__Function__nnz_out__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__nnz_out__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_nnz_out__0 :: FunctionClass a => a -> String -> IO Int
+function_nnz_out__0 x = casadi__Function__nnz_out__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__nnz_out__1" c_casadi__Function__nnz_out__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO CLLong
+
+casadi__Function__nnz_out__1
+  :: Function -> Int -> IO Int
+casadi__Function__nnz_out__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__nnz_out__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_nnz_out__1 :: FunctionClass a => a -> Int -> IO Int
+function_nnz_out__1 x = casadi__Function__nnz_out__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__nnz_out__2" c_casadi__Function__nnz_out__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CLLong
+
+casadi__Function__nnz_out__2
+  :: Function -> IO Int
+casadi__Function__nnz_out__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__nnz_out__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_nnz_out__2 :: FunctionClass a => a -> IO Int
+function_nnz_out__2 x = casadi__Function__nnz_out__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__numel_in__0" c_casadi__Function__numel_in__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CLLong
+
+casadi__Function__numel_in__0
+  :: Function -> String -> IO Int
+casadi__Function__numel_in__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__numel_in__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_numel_in__0 :: FunctionClass a => a -> String -> IO Int
+function_numel_in__0 x = casadi__Function__numel_in__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__numel_in__1" c_casadi__Function__numel_in__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO CLLong
+
+casadi__Function__numel_in__1
+  :: Function -> Int -> IO Int
+casadi__Function__numel_in__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__numel_in__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_numel_in__1 :: FunctionClass a => a -> Int -> IO Int
+function_numel_in__1 x = casadi__Function__numel_in__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__numel_in__2" c_casadi__Function__numel_in__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CLLong
+
+casadi__Function__numel_in__2
+  :: Function -> IO Int
+casadi__Function__numel_in__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__numel_in__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_numel_in__2 :: FunctionClass a => a -> IO Int
+function_numel_in__2 x = casadi__Function__numel_in__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__numel_out__0" c_casadi__Function__numel_out__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CLLong
+
+casadi__Function__numel_out__0
+  :: Function -> String -> IO Int
+casadi__Function__numel_out__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__numel_out__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_numel_out__0 :: FunctionClass a => a -> String -> IO Int
+function_numel_out__0 x = casadi__Function__numel_out__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__numel_out__1" c_casadi__Function__numel_out__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO CLLong
+
+casadi__Function__numel_out__1
+  :: Function -> Int -> IO Int
+casadi__Function__numel_out__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__numel_out__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_numel_out__1 :: FunctionClass a => a -> Int -> IO Int
+function_numel_out__1 x = casadi__Function__numel_out__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__numel_out__2" c_casadi__Function__numel_out__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CLLong
+
+casadi__Function__numel_out__2
+  :: Function -> IO Int
+casadi__Function__numel_out__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__numel_out__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_numel_out__2 :: FunctionClass a => a -> IO Int
+function_numel_out__2 x = casadi__Function__numel_out__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__oracle" c_casadi__Function__oracle
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
+
+casadi__Function__oracle
+  :: Function -> IO Function
+casadi__Function__oracle x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__oracle errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_oracle :: FunctionClass a => a -> IO Function
+function_oracle x = casadi__Function__oracle (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__print_dimensions" c_casadi__Function__print_dimensions
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO ()
+
+casadi__Function__print_dimensions
+  :: Function -> IO ()
+casadi__Function__print_dimensions x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__print_dimensions errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+function_print_dimensions :: FunctionClass a => a -> IO ()
+function_print_dimensions x = casadi__Function__print_dimensions (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__print_option" c_casadi__Function__print_option
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO ()
+
+casadi__Function__print_option
+  :: Function -> String -> IO ()
+casadi__Function__print_option x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__print_option errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+function_print_option :: FunctionClass a => a -> String -> IO ()
+function_print_option x = casadi__Function__print_option (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__print_options" c_casadi__Function__print_options
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO ()
+
+casadi__Function__print_options
+  :: Function -> IO ()
+casadi__Function__print_options x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__print_options errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+function_print_options :: FunctionClass a => a -> IO ()
+function_print_options x = casadi__Function__print_options (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__release" c_casadi__Function__release
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO ()
+
+casadi__Function__release
+  :: Function -> Int -> IO ()
+casadi__Function__release x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__release errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+function_release :: FunctionClass a => a -> Int -> IO ()
+function_release x = casadi__Function__release (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__reverse" c_casadi__Function__reverse
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr Function')
+
+casadi__Function__reverse
+  :: Function -> Int -> IO Function
+casadi__Function__reverse x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__reverse errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_reverse :: FunctionClass a => a -> Int -> IO Function
+function_reverse x = casadi__Function__reverse (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__serialize" c_casadi__Function__serialize
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr StdString)
+
+casadi__Function__serialize
+  :: Function -> IO String
+casadi__Function__serialize x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__serialize errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_serialize :: FunctionClass a => a -> IO String
+function_serialize x = casadi__Function__serialize (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__size1_in__0" c_casadi__Function__size1_in__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CLLong
+
+casadi__Function__size1_in__0
+  :: Function -> String -> IO Int
+casadi__Function__size1_in__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__size1_in__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_size1_in__0 :: FunctionClass a => a -> String -> IO Int
+function_size1_in__0 x = casadi__Function__size1_in__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__size1_in__1" c_casadi__Function__size1_in__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO CLLong
+
+casadi__Function__size1_in__1
+  :: Function -> Int -> IO Int
+casadi__Function__size1_in__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__size1_in__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_size1_in__1 :: FunctionClass a => a -> Int -> IO Int
+function_size1_in__1 x = casadi__Function__size1_in__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__size1_out__0" c_casadi__Function__size1_out__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CLLong
+
+casadi__Function__size1_out__0
+  :: Function -> String -> IO Int
+casadi__Function__size1_out__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__size1_out__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_size1_out__0 :: FunctionClass a => a -> String -> IO Int
+function_size1_out__0 x = casadi__Function__size1_out__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__size1_out__1" c_casadi__Function__size1_out__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO CLLong
+
+casadi__Function__size1_out__1
+  :: Function -> Int -> IO Int
+casadi__Function__size1_out__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__size1_out__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_size1_out__1 :: FunctionClass a => a -> Int -> IO Int
+function_size1_out__1 x = casadi__Function__size1_out__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__size2_in__0" c_casadi__Function__size2_in__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CLLong
+
+casadi__Function__size2_in__0
+  :: Function -> String -> IO Int
+casadi__Function__size2_in__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__size2_in__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_size2_in__0 :: FunctionClass a => a -> String -> IO Int
+function_size2_in__0 x = casadi__Function__size2_in__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__size2_in__1" c_casadi__Function__size2_in__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO CLLong
+
+casadi__Function__size2_in__1
+  :: Function -> Int -> IO Int
+casadi__Function__size2_in__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__size2_in__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_size2_in__1 :: FunctionClass a => a -> Int -> IO Int
+function_size2_in__1 x = casadi__Function__size2_in__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__size2_out__0" c_casadi__Function__size2_out__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO CLLong
+
+casadi__Function__size2_out__0
+  :: Function -> String -> IO Int
+casadi__Function__size2_out__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__size2_out__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_size2_out__0 :: FunctionClass a => a -> String -> IO Int
+function_size2_out__0 x = casadi__Function__size2_out__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__size2_out__1" c_casadi__Function__size2_out__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO CLLong
+
+casadi__Function__size2_out__1
+  :: Function -> Int -> IO Int
+casadi__Function__size2_out__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__size2_out__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_size2_out__1 :: FunctionClass a => a -> Int -> IO Int
+function_size2_out__1 x = casadi__Function__size2_out__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__size_in__0" c_casadi__Function__size_in__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr (StdPair CLLong CLLong))
+
+casadi__Function__size_in__0
+  :: Function -> String -> IO (Int, Int)
+casadi__Function__size_in__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__size_in__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_size_in__0 :: FunctionClass a => a -> String -> IO (Int, Int)
+function_size_in__0 x = casadi__Function__size_in__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__size_in__1" c_casadi__Function__size_in__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr (StdPair CLLong CLLong))
+
+casadi__Function__size_in__1
+  :: Function -> Int -> IO (Int, Int)
+casadi__Function__size_in__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__size_in__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_size_in__1 :: FunctionClass a => a -> Int -> IO (Int, Int)
+function_size_in__1 x = casadi__Function__size_in__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__size_out__0" c_casadi__Function__size_out__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr (StdPair CLLong CLLong))
+
+casadi__Function__size_out__0
+  :: Function -> String -> IO (Int, Int)
+casadi__Function__size_out__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__size_out__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_size_out__0 :: FunctionClass a => a -> String -> IO (Int, Int)
+function_size_out__0 x = casadi__Function__size_out__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__size_out__1" c_casadi__Function__size_out__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr (StdPair CLLong CLLong))
+
+casadi__Function__size_out__1
+  :: Function -> Int -> IO (Int, Int)
+casadi__Function__size_out__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__size_out__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_size_out__1 :: FunctionClass a => a -> Int -> IO (Int, Int)
+function_size_out__1 x = casadi__Function__size_out__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__slice__0" c_casadi__Function__slice__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr Function')
+
+casadi__Function__slice__0
+  :: Function -> String -> Vector Int -> Vector Int -> IO Function
+casadi__Function__slice__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__slice__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_slice__0 :: FunctionClass a => a -> String -> Vector Int -> Vector Int -> IO Function
+function_slice__0 x = casadi__Function__slice__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__slice__1" c_casadi__Function__slice__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+casadi__Function__slice__1
+  :: Function -> String -> Vector Int -> Vector Int -> M.Map String GenericType -> IO Function
+casadi__Function__slice__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__slice__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function_slice__1 :: FunctionClass a => a -> String -> Vector Int -> Vector Int -> M.Map String GenericType -> IO Function
+function_slice__1 x = casadi__Function__slice__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_in__0" c_casadi__Function__sparsity_in__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_in__0
+  :: Function -> String -> IO Sparsity
+casadi__Function__sparsity_in__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_in__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_in__0 :: FunctionClass a => a -> String -> IO Sparsity
+function_sparsity_in__0 x = casadi__Function__sparsity_in__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_in__1" c_casadi__Function__sparsity_in__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_in__1
+  :: Function -> Int -> IO Sparsity
+casadi__Function__sparsity_in__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_in__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_in__1 :: FunctionClass a => a -> Int -> IO Sparsity
+function_sparsity_in__1 x = casadi__Function__sparsity_in__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_jac__0" c_casadi__Function__sparsity_jac__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_jac__0
+  :: Function -> String -> String -> IO Sparsity
+casadi__Function__sparsity_jac__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_jac__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_jac__0 :: FunctionClass a => a -> String -> String -> IO Sparsity
+function_sparsity_jac__0 x = casadi__Function__sparsity_jac__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_jac__1" c_casadi__Function__sparsity_jac__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_jac__1
+  :: Function -> String -> String -> Bool -> IO Sparsity
+casadi__Function__sparsity_jac__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_jac__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_jac__1 :: FunctionClass a => a -> String -> String -> Bool -> IO Sparsity
+function_sparsity_jac__1 x = casadi__Function__sparsity_jac__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_jac__2" c_casadi__Function__sparsity_jac__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> CInt -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_jac__2
+  :: Function -> String -> String -> Bool -> Bool -> IO Sparsity
+casadi__Function__sparsity_jac__2 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_jac__2 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_jac__2 :: FunctionClass a => a -> String -> String -> Bool -> Bool -> IO Sparsity
+function_sparsity_jac__2 x = casadi__Function__sparsity_jac__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_jac__3" c_casadi__Function__sparsity_jac__3
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> Ptr StdString -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_jac__3
+  :: Function -> Int -> String -> IO Sparsity
+casadi__Function__sparsity_jac__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_jac__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_jac__3 :: FunctionClass a => a -> Int -> String -> IO Sparsity
+function_sparsity_jac__3 x = casadi__Function__sparsity_jac__3 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_jac__4" c_casadi__Function__sparsity_jac__4
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> Ptr StdString -> CInt -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_jac__4
+  :: Function -> Int -> String -> Bool -> IO Sparsity
+casadi__Function__sparsity_jac__4 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_jac__4 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_jac__4 :: FunctionClass a => a -> Int -> String -> Bool -> IO Sparsity
+function_sparsity_jac__4 x = casadi__Function__sparsity_jac__4 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_jac__5" c_casadi__Function__sparsity_jac__5
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> Ptr StdString -> CInt -> CInt -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_jac__5
+  :: Function -> Int -> String -> Bool -> Bool -> IO Sparsity
+casadi__Function__sparsity_jac__5 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_jac__5 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_jac__5 :: FunctionClass a => a -> Int -> String -> Bool -> Bool -> IO Sparsity
+function_sparsity_jac__5 x = casadi__Function__sparsity_jac__5 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_jac__6" c_casadi__Function__sparsity_jac__6
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_jac__6
+  :: Function -> String -> IO Sparsity
+casadi__Function__sparsity_jac__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_jac__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_jac__6 :: FunctionClass a => a -> String -> IO Sparsity
+function_sparsity_jac__6 x = casadi__Function__sparsity_jac__6 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_jac__7" c_casadi__Function__sparsity_jac__7
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_jac__7
+  :: Function -> String -> Int -> IO Sparsity
+casadi__Function__sparsity_jac__7 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_jac__7 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_jac__7 :: FunctionClass a => a -> String -> Int -> IO Sparsity
+function_sparsity_jac__7 x = casadi__Function__sparsity_jac__7 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_jac__8" c_casadi__Function__sparsity_jac__8
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CLLong -> CInt -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_jac__8
+  :: Function -> String -> Int -> Bool -> IO Sparsity
+casadi__Function__sparsity_jac__8 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_jac__8 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_jac__8 :: FunctionClass a => a -> String -> Int -> Bool -> IO Sparsity
+function_sparsity_jac__8 x = casadi__Function__sparsity_jac__8 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_jac__9" c_casadi__Function__sparsity_jac__9
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CLLong -> CInt -> CInt -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_jac__9
+  :: Function -> String -> Int -> Bool -> Bool -> IO Sparsity
+casadi__Function__sparsity_jac__9 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_jac__9 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_jac__9 :: FunctionClass a => a -> String -> Int -> Bool -> Bool -> IO Sparsity
+function_sparsity_jac__9 x = casadi__Function__sparsity_jac__9 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_jac__10" c_casadi__Function__sparsity_jac__10
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_jac__10
+  :: Function -> Int -> Int -> IO Sparsity
+casadi__Function__sparsity_jac__10 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_jac__10 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_jac__10 :: FunctionClass a => a -> Int -> Int -> IO Sparsity
+function_sparsity_jac__10 x = casadi__Function__sparsity_jac__10 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_jac__11" c_casadi__Function__sparsity_jac__11
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> CLLong -> CInt -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_jac__11
+  :: Function -> Int -> Int -> Bool -> IO Sparsity
+casadi__Function__sparsity_jac__11 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_jac__11 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_jac__11 :: FunctionClass a => a -> Int -> Int -> Bool -> IO Sparsity
+function_sparsity_jac__11 x = casadi__Function__sparsity_jac__11 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_jac__12" c_casadi__Function__sparsity_jac__12
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> CLLong -> CInt -> CInt -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_jac__12
+  :: Function -> Int -> Int -> Bool -> Bool -> IO Sparsity
+casadi__Function__sparsity_jac__12 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_jac__12 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_jac__12 :: FunctionClass a => a -> Int -> Int -> Bool -> Bool -> IO Sparsity
+function_sparsity_jac__12 x = casadi__Function__sparsity_jac__12 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_out__0" c_casadi__Function__sparsity_out__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_out__0
+  :: Function -> String -> IO Sparsity
+casadi__Function__sparsity_out__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_out__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_out__0 :: FunctionClass a => a -> String -> IO Sparsity
+function_sparsity_out__0 x = casadi__Function__sparsity_out__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sparsity_out__1" c_casadi__Function__sparsity_out__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Function__sparsity_out__1
+  :: Function -> Int -> IO Sparsity
+casadi__Function__sparsity_out__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sparsity_out__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sparsity_out__1 :: FunctionClass a => a -> Int -> IO Sparsity
+function_sparsity_out__1 x = casadi__Function__sparsity_out__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__stats__0" c_casadi__Function__stats__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdMap StdString (Ptr GenericType')))
+
+casadi__Function__stats__0
+  :: Function -> IO (M.Map String GenericType)
+casadi__Function__stats__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__stats__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_stats__0 :: FunctionClass a => a -> IO (M.Map String GenericType)
+function_stats__0 x = casadi__Function__stats__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__stats__1" c_casadi__Function__stats__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr (StdMap StdString (Ptr GenericType')))
+
+casadi__Function__stats__1
+  :: Function -> Int -> IO (M.Map String GenericType)
+casadi__Function__stats__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__stats__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_stats__1 :: FunctionClass a => a -> Int -> IO (M.Map String GenericType)
+function_stats__1 x = casadi__Function__stats__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sx_in__0" c_casadi__Function__sx_in__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi__Function__sx_in__0
+  :: Function -> IO (Vector SX)
+casadi__Function__sx_in__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sx_in__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sx_in__0 :: FunctionClass a => a -> IO (Vector SX)
+function_sx_in__0 x = casadi__Function__sx_in__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sx_in__1" c_casadi__Function__sx_in__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr SX')
+
+casadi__Function__sx_in__1
+  :: Function -> String -> IO SX
+casadi__Function__sx_in__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sx_in__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sx_in__1 :: FunctionClass a => a -> String -> IO SX
+function_sx_in__1 x = casadi__Function__sx_in__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sx_in__2" c_casadi__Function__sx_in__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr SX')
+
+casadi__Function__sx_in__2
+  :: Function -> Int -> IO SX
+casadi__Function__sx_in__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sx_in__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sx_in__2 :: FunctionClass a => a -> Int -> IO SX
+function_sx_in__2 x = casadi__Function__sx_in__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sx_out__0" c_casadi__Function__sx_out__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi__Function__sx_out__0
+  :: Function -> IO (Vector SX)
+casadi__Function__sx_out__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sx_out__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sx_out__0 :: FunctionClass a => a -> IO (Vector SX)
+function_sx_out__0 x = casadi__Function__sx_out__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sx_out__1" c_casadi__Function__sx_out__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr SX')
+
+casadi__Function__sx_out__1
+  :: Function -> String -> IO SX
+casadi__Function__sx_out__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sx_out__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sx_out__1 :: FunctionClass a => a -> String -> IO SX
+function_sx_out__1 x = casadi__Function__sx_out__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sx_out__2" c_casadi__Function__sx_out__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr SX')
+
+casadi__Function__sx_out__2
+  :: Function -> Int -> IO SX
+casadi__Function__sx_out__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sx_out__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sx_out__2 :: FunctionClass a => a -> Int -> IO SX
+function_sx_out__2 x = casadi__Function__sx_out__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sz_arg" c_casadi__Function__sz_arg
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CSize
+
+casadi__Function__sz_arg
+  :: Function -> IO CSize
+casadi__Function__sz_arg x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sz_arg errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sz_arg :: FunctionClass a => a -> IO CSize
+function_sz_arg x = casadi__Function__sz_arg (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sz_iw" c_casadi__Function__sz_iw
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CSize
+
+casadi__Function__sz_iw
+  :: Function -> IO CSize
+casadi__Function__sz_iw x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sz_iw errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sz_iw :: FunctionClass a => a -> IO CSize
+function_sz_iw x = casadi__Function__sz_iw (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sz_res" c_casadi__Function__sz_res
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CSize
+
+casadi__Function__sz_res
+  :: Function -> IO CSize
+casadi__Function__sz_res x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sz_res errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sz_res :: FunctionClass a => a -> IO CSize
+function_sz_res x = casadi__Function__sz_res (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__sz_w" c_casadi__Function__sz_w
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CSize
+
+casadi__Function__sz_w
+  :: Function -> IO CSize
+casadi__Function__sz_w x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__sz_w errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_sz_w :: FunctionClass a => a -> IO CSize
+function_sz_w x = casadi__Function__sz_w (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__type_name" c_casadi__Function__type_name
+  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
+
+casadi__Function__type_name
+  :: IO String
+casadi__Function__type_name  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__type_name errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+function_type_name :: IO String
+function_type_name = casadi__Function__type_name
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__uses_output" c_casadi__Function__uses_output
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO CInt
+
+casadi__Function__uses_output
+  :: Function -> IO Bool
+casadi__Function__uses_output x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__uses_output errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+function_uses_output :: FunctionClass a => a -> IO Bool
+function_uses_output x = casadi__Function__uses_output (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__which_depends__0" c_casadi__Function__which_depends__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr (StdVec CInt))
+
+casadi__Function__which_depends__0
+  :: Function -> String -> Vector String -> IO (Vector Bool)
+casadi__Function__which_depends__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__which_depends__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+function_which_depends__0 :: FunctionClass a => a -> String -> Vector String -> IO (Vector Bool)
+function_which_depends__0 x = casadi__Function__which_depends__0 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__which_depends__1" c_casadi__Function__which_depends__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> CLLong -> IO (Ptr (StdVec CInt))
+
+casadi__Function__which_depends__1
+  :: Function -> String -> Vector String -> Int -> IO (Vector Bool)
+casadi__Function__which_depends__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__which_depends__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+function_which_depends__1 :: FunctionClass a => a -> String -> Vector String -> Int -> IO (Vector Bool)
+function_which_depends__1 x = casadi__Function__which_depends__1 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__which_depends__2" c_casadi__Function__which_depends__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdVec (Ptr StdString)) -> CLLong -> CInt -> IO (Ptr (StdVec CInt))
 
 casadi__Function__which_depends__2
   :: Function -> String -> Vector String -> Int -> Bool -> IO (Vector Bool)
diff --git a/Casadi/Core/Classes/GenericType.hs b/Casadi/Core/Classes/GenericType.hs
--- a/Casadi/Core/Classes/GenericType.hs
+++ b/Casadi/Core/Classes/GenericType.hs
@@ -13,6 +13,10 @@
          genericType__1,
          genericType__10,
          genericType__11,
+         genericType__12,
+         genericType__13,
+         genericType__14,
+         genericType__15,
          genericType__2,
          genericType__3,
          genericType__4,
@@ -26,7 +30,9 @@
          genericType_as_dict,
          genericType_as_double,
          genericType_as_double_vector,
+         genericType_as_double_vector_vector,
          genericType_as_function,
+         genericType_as_function_vector,
          genericType_as_int,
          genericType_as_int_vector,
          genericType_as_int_vector_vector,
@@ -40,8 +46,10 @@
          genericType_is_dict,
          genericType_is_double,
          genericType_is_double_vector,
+         genericType_is_double_vector_vector,
          genericType_is_empty_vector,
          genericType_is_function,
+         genericType_is_function_vector,
          genericType_is_int,
          genericType_is_int_vector,
          genericType_is_int_vector_vector,
@@ -55,13 +63,17 @@
          genericType_to_dict,
          genericType_to_double,
          genericType_to_double_vector,
+         genericType_to_double_vector_vector,
          genericType_to_function,
+         genericType_to_function_vector,
          genericType_to_int,
+         genericType_to_int_type_vector,
          genericType_to_int_vector,
          genericType_to_int_vector_vector,
          genericType_to_string,
          genericType_to_string_vector,
          genericType_to_void_pointer,
+         genericType_type_name,
        ) where
 
 
@@ -111,10 +123,10 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__1" c_casadi__GenericType__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Function')) -> IO (Ptr GenericType')
 
 casadi__GenericType__CONSTRUCTOR__1
-  :: Function -> IO GenericType
+  :: Vector Function -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__1 x0 = do
   x0' <- marshal x0
 
@@ -132,16 +144,16 @@
 
 
 -- classy wrapper
-genericType__1 :: Function -> IO GenericType
+genericType__1 :: Vector Function -> IO GenericType
 genericType__1 = casadi__GenericType__CONSTRUCTOR__1
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__2" c_casadi__GenericType__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr GenericType')
 
 casadi__GenericType__CONSTRUCTOR__2
-  :: Vector String -> IO GenericType
+  :: Function -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__2 x0 = do
   x0' <- marshal x0
 
@@ -159,16 +171,16 @@
 
 
 -- classy wrapper
-genericType__2 :: Vector String -> IO GenericType
+genericType__2 :: Function -> IO GenericType
 genericType__2 = casadi__GenericType__CONSTRUCTOR__2
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__3" c_casadi__GenericType__CONSTRUCTOR__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr GenericType')
 
 casadi__GenericType__CONSTRUCTOR__3
-  :: Vector Double -> IO GenericType
+  :: Vector String -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__3 x0 = do
   x0' <- marshal x0
 
@@ -186,16 +198,16 @@
 
 
 -- classy wrapper
-genericType__3 :: Vector Double -> IO GenericType
+genericType__3 :: Vector String -> IO GenericType
 genericType__3 = casadi__GenericType__CONSTRUCTOR__3
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__4" c_casadi__GenericType__CONSTRUCTOR__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec CInt))) -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec CDouble))) -> IO (Ptr GenericType')
 
 casadi__GenericType__CONSTRUCTOR__4
-  :: Vector (Vector Int) -> IO GenericType
+  :: Vector (Vector Double) -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__4 x0 = do
   x0' <- marshal x0
 
@@ -213,16 +225,16 @@
 
 
 -- classy wrapper
-genericType__4 :: Vector (Vector Int) -> IO GenericType
+genericType__4 :: Vector (Vector Double) -> IO GenericType
 genericType__4 = casadi__GenericType__CONSTRUCTOR__4
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__5" c_casadi__GenericType__CONSTRUCTOR__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr GenericType')
 
 casadi__GenericType__CONSTRUCTOR__5
-  :: Vector Int -> IO GenericType
+  :: Vector Double -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__5 x0 = do
   x0' <- marshal x0
 
@@ -240,16 +252,16 @@
 
 
 -- classy wrapper
-genericType__5 :: Vector Int -> IO GenericType
+genericType__5 :: Vector Double -> IO GenericType
 genericType__5 = casadi__GenericType__CONSTRUCTOR__5
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__6" c_casadi__GenericType__CONSTRUCTOR__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec CLLong))) -> IO (Ptr GenericType')
 
 casadi__GenericType__CONSTRUCTOR__6
-  :: Vector Bool -> IO GenericType
+  :: Vector (Vector Int) -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__6 x0 = do
   x0' <- marshal x0
 
@@ -267,16 +279,16 @@
 
 
 -- classy wrapper
-genericType__6 :: Vector Bool -> IO GenericType
+genericType__6 :: Vector (Vector Int) -> IO GenericType
 genericType__6 = casadi__GenericType__CONSTRUCTOR__6
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__7" c_casadi__GenericType__CONSTRUCTOR__7
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr GenericType')
 
 casadi__GenericType__CONSTRUCTOR__7
-  :: String -> IO GenericType
+  :: Vector Int -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__7 x0 = do
   x0' <- marshal x0
 
@@ -294,16 +306,16 @@
 
 
 -- classy wrapper
-genericType__7 :: String -> IO GenericType
+genericType__7 :: Vector Int -> IO GenericType
 genericType__7 = casadi__GenericType__CONSTRUCTOR__7
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__8" c_casadi__GenericType__CONSTRUCTOR__8
-  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> IO (Ptr GenericType')
 
 casadi__GenericType__CONSTRUCTOR__8
-  :: Double -> IO GenericType
+  :: Vector Int -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__8 x0 = do
   x0' <- marshal x0
 
@@ -321,16 +333,16 @@
 
 
 -- classy wrapper
-genericType__8 :: Double -> IO GenericType
+genericType__8 :: Vector Int -> IO GenericType
 genericType__8 = casadi__GenericType__CONSTRUCTOR__8
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__9" c_casadi__GenericType__CONSTRUCTOR__9
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr GenericType')
 
 casadi__GenericType__CONSTRUCTOR__9
-  :: Int -> IO GenericType
+  :: Vector Bool -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__9 x0 = do
   x0' <- marshal x0
 
@@ -348,16 +360,16 @@
 
 
 -- classy wrapper
-genericType__9 :: Int -> IO GenericType
+genericType__9 :: Vector Bool -> IO GenericType
 genericType__9 = casadi__GenericType__CONSTRUCTOR__9
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__10" c_casadi__GenericType__CONSTRUCTOR__10
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr GenericType')
 
 casadi__GenericType__CONSTRUCTOR__10
-  :: Bool -> IO GenericType
+  :: String -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__10 x0 = do
   x0' <- marshal x0
 
@@ -375,21 +387,129 @@
 
 
 -- classy wrapper
-genericType__10 :: Bool -> IO GenericType
+genericType__10 :: String -> IO GenericType
 genericType__10 = casadi__GenericType__CONSTRUCTOR__10
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__11" c_casadi__GenericType__CONSTRUCTOR__11
-  :: Ptr (Ptr StdString) -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr GenericType')
 
 casadi__GenericType__CONSTRUCTOR__11
+  :: Double -> IO GenericType
+casadi__GenericType__CONSTRUCTOR__11 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GenericType__CONSTRUCTOR__11 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+genericType__11 :: Double -> IO GenericType
+genericType__11 = casadi__GenericType__CONSTRUCTOR__11
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__12" c_casadi__GenericType__CONSTRUCTOR__12
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr GenericType')
+
+casadi__GenericType__CONSTRUCTOR__12
+  :: Int -> IO GenericType
+casadi__GenericType__CONSTRUCTOR__12 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GenericType__CONSTRUCTOR__12 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+genericType__12 :: Int -> IO GenericType
+genericType__12 = casadi__GenericType__CONSTRUCTOR__12
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__13" c_casadi__GenericType__CONSTRUCTOR__13
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr GenericType')
+
+casadi__GenericType__CONSTRUCTOR__13
+  :: Int -> IO GenericType
+casadi__GenericType__CONSTRUCTOR__13 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GenericType__CONSTRUCTOR__13 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+genericType__13 :: Int -> IO GenericType
+genericType__13 = casadi__GenericType__CONSTRUCTOR__13
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__14" c_casadi__GenericType__CONSTRUCTOR__14
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr GenericType')
+
+casadi__GenericType__CONSTRUCTOR__14
+  :: Bool -> IO GenericType
+casadi__GenericType__CONSTRUCTOR__14 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GenericType__CONSTRUCTOR__14 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+genericType__14 :: Bool -> IO GenericType
+genericType__14 = casadi__GenericType__CONSTRUCTOR__14
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__15" c_casadi__GenericType__CONSTRUCTOR__15
+  :: Ptr (Ptr StdString) -> IO (Ptr GenericType')
+
+casadi__GenericType__CONSTRUCTOR__15
   :: IO GenericType
-casadi__GenericType__CONSTRUCTOR__11  = do
+casadi__GenericType__CONSTRUCTOR__15  = do
 
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__GenericType__CONSTRUCTOR__11 errStrPtrP 
+  ret0 <- c_casadi__GenericType__CONSTRUCTOR__15 errStrPtrP 
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -402,8 +522,8 @@
 
 
 -- classy wrapper
-genericType__11 :: IO GenericType
-genericType__11 = casadi__GenericType__CONSTRUCTOR__11
+genericType__15 :: IO GenericType
+genericType__15 = casadi__GenericType__CONSTRUCTOR__15
 
 
 -- direct wrapper
@@ -435,7 +555,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__as_bool_vector" c_casadi__GenericType__as_bool_vector
-  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec CInt))
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec CLLong))
 
 casadi__GenericType__as_bool_vector
   :: GenericType -> IO (Vector Int)
@@ -542,6 +662,33 @@
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__as_double_vector_vector" c_casadi__GenericType__as_double_vector_vector
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec (Ptr (StdVec CDouble))))
+
+casadi__GenericType__as_double_vector_vector
+  :: GenericType -> IO (Vector (Vector Double))
+casadi__GenericType__as_double_vector_vector x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GenericType__as_double_vector_vector errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+genericType_as_double_vector_vector :: GenericTypeClass a => a -> IO (Vector (Vector Double))
+genericType_as_double_vector_vector x = casadi__GenericType__as_double_vector_vector (castGenericType x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__as_function" c_casadi__GenericType__as_function
   :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr Function')
 
@@ -569,8 +716,35 @@
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__as_function_vector" c_casadi__GenericType__as_function_vector
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec (Ptr Function')))
+
+casadi__GenericType__as_function_vector
+  :: GenericType -> IO (Vector Function)
+casadi__GenericType__as_function_vector x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GenericType__as_function_vector errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+genericType_as_function_vector :: GenericTypeClass a => a -> IO (Vector Function)
+genericType_as_function_vector x = casadi__GenericType__as_function_vector (castGenericType x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__as_int" c_casadi__GenericType__as_int
-  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO CInt
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO CLLong
 
 casadi__GenericType__as_int
   :: GenericType -> IO Int
@@ -597,7 +771,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__as_int_vector" c_casadi__GenericType__as_int_vector
-  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec CInt))
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec CLLong))
 
 casadi__GenericType__as_int_vector
   :: GenericType -> IO (Vector Int)
@@ -624,7 +798,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__as_int_vector_vector" c_casadi__GenericType__as_int_vector_vector
-  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec (Ptr (StdVec CInt))))
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec (Ptr (StdVec CLLong))))
 
 casadi__GenericType__as_int_vector_vector
   :: GenericType -> IO (Vector (Vector Int))
@@ -920,6 +1094,33 @@
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__is_double_vector_vector" c_casadi__GenericType__is_double_vector_vector
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO CInt
+
+casadi__GenericType__is_double_vector_vector
+  :: GenericType -> IO Bool
+casadi__GenericType__is_double_vector_vector x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GenericType__is_double_vector_vector errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+genericType_is_double_vector_vector :: GenericTypeClass a => a -> IO Bool
+genericType_is_double_vector_vector x = casadi__GenericType__is_double_vector_vector (castGenericType x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__is_empty_vector" c_casadi__GenericType__is_empty_vector
   :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO CInt
 
@@ -974,6 +1175,33 @@
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__is_function_vector" c_casadi__GenericType__is_function_vector
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO CInt
+
+casadi__GenericType__is_function_vector
+  :: GenericType -> IO Bool
+casadi__GenericType__is_function_vector x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GenericType__is_function_vector errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+genericType_is_function_vector :: GenericTypeClass a => a -> IO Bool
+genericType_is_function_vector x = casadi__GenericType__is_function_vector (castGenericType x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__is_int" c_casadi__GenericType__is_int
   :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO CInt
 
@@ -1329,6 +1557,33 @@
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__to_double_vector_vector" c_casadi__GenericType__to_double_vector_vector
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec (Ptr (StdVec CDouble))))
+
+casadi__GenericType__to_double_vector_vector
+  :: GenericType -> IO (Vector (Vector Double))
+casadi__GenericType__to_double_vector_vector x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GenericType__to_double_vector_vector errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+genericType_to_double_vector_vector :: GenericTypeClass a => a -> IO (Vector (Vector Double))
+genericType_to_double_vector_vector x = casadi__GenericType__to_double_vector_vector (castGenericType x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__to_function" c_casadi__GenericType__to_function
   :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr Function')
 
@@ -1356,8 +1611,35 @@
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__to_function_vector" c_casadi__GenericType__to_function_vector
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec (Ptr Function')))
+
+casadi__GenericType__to_function_vector
+  :: GenericType -> IO (Vector Function)
+casadi__GenericType__to_function_vector x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GenericType__to_function_vector errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+genericType_to_function_vector :: GenericTypeClass a => a -> IO (Vector Function)
+genericType_to_function_vector x = casadi__GenericType__to_function_vector (castGenericType x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__to_int" c_casadi__GenericType__to_int
-  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO CInt
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO CLLong
 
 casadi__GenericType__to_int
   :: GenericType -> IO Int
@@ -1383,9 +1665,36 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__GenericType__to_int_vector" c_casadi__GenericType__to_int_vector
+foreign import ccall unsafe "casadi__GenericType__to_int_type_vector" c_casadi__GenericType__to_int_type_vector
   :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec CInt))
 
+casadi__GenericType__to_int_type_vector
+  :: GenericType -> IO (Vector Int)
+casadi__GenericType__to_int_type_vector x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GenericType__to_int_type_vector errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+genericType_to_int_type_vector :: GenericTypeClass a => a -> IO (Vector Int)
+genericType_to_int_type_vector x = casadi__GenericType__to_int_type_vector (castGenericType x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__to_int_vector" c_casadi__GenericType__to_int_vector
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec CLLong))
+
 casadi__GenericType__to_int_vector
   :: GenericType -> IO (Vector Int)
 casadi__GenericType__to_int_vector x0 = do
@@ -1411,7 +1720,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__to_int_vector_vector" c_casadi__GenericType__to_int_vector_vector
-  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec (Ptr (StdVec CInt))))
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec (Ptr (StdVec CLLong))))
 
 casadi__GenericType__to_int_vector_vector
   :: GenericType -> IO (Vector (Vector Int))
@@ -1515,4 +1824,31 @@
 -- classy wrapper
 genericType_to_void_pointer :: GenericTypeClass a => a -> IO ()
 genericType_to_void_pointer x = casadi__GenericType__to_void_pointer (castGenericType x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__type_name" c_casadi__GenericType__type_name
+  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
+
+casadi__GenericType__type_name
+  :: IO String
+casadi__GenericType__type_name  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GenericType__type_name errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+genericType_type_name :: IO String
+genericType_type_name = casadi__GenericType__type_name
 
diff --git a/Casadi/Core/Classes/GlobalOptions.hs b/Casadi/Core/Classes/GlobalOptions.hs
--- a/Casadi/Core/Classes/GlobalOptions.hs
+++ b/Casadi/Core/Classes/GlobalOptions.hs
@@ -11,9 +11,11 @@
          GlobalOptionsClass(..),
          globalOptions_getCasadiPath,
          globalOptions_getHierarchicalSparsity,
+         globalOptions_getMaxNumDir,
          globalOptions_getSimplificationOnTheFly,
          globalOptions_setCasadiPath,
          globalOptions_setHierarchicalSparsity,
+         globalOptions_setMaxNumDir,
          globalOptions_setSimplificationOnTheFly,
        ) where
 
@@ -90,6 +92,33 @@
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__GlobalOptions__getMaxNumDir" c_casadi__GlobalOptions__getMaxNumDir
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+casadi__GlobalOptions__getMaxNumDir
+  :: IO Int
+casadi__GlobalOptions__getMaxNumDir  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GlobalOptions__getMaxNumDir errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+globalOptions_getMaxNumDir :: IO Int
+globalOptions_getMaxNumDir = casadi__GlobalOptions__getMaxNumDir
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__GlobalOptions__getSimplificationOnTheFly" c_casadi__GlobalOptions__getSimplificationOnTheFly
   :: Ptr (Ptr StdString) -> IO CInt
 
@@ -168,6 +197,33 @@
 -- classy wrapper
 globalOptions_setHierarchicalSparsity :: Bool -> IO ()
 globalOptions_setHierarchicalSparsity = casadi__GlobalOptions__setHierarchicalSparsity
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__GlobalOptions__setMaxNumDir" c_casadi__GlobalOptions__setMaxNumDir
+  :: Ptr (Ptr StdString) -> CLLong -> IO ()
+
+casadi__GlobalOptions__setMaxNumDir
+  :: Int -> IO ()
+casadi__GlobalOptions__setMaxNumDir x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GlobalOptions__setMaxNumDir errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+globalOptions_setMaxNumDir :: Int -> IO ()
+globalOptions_setMaxNumDir = casadi__GlobalOptions__setMaxNumDir
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/IM.hs b/Casadi/Core/Classes/IM.hs
--- a/Casadi/Core/Classes/IM.hs
+++ b/Casadi/Core/Classes/IM.hs
@@ -25,5736 +25,4884 @@
          im_binary,
          im_clear,
          im_colind,
-         im_dep__0,
-         im_dep__1,
-         im_dim,
-         im_element_hash,
-         im_enlarge__0,
-         im_enlarge__1,
-         im_erase__0,
-         im_erase__1,
-         im_erase__2,
-         im_erase__3,
-         im_eye,
-         im_getDescription,
-         im_getEqualityCheckingDepth,
-         im_getRepresentation,
-         im_get__0,
-         im_get__1,
-         im_get__2,
-         im_get__3,
-         im_get__4,
-         im_get__5,
-         im_get__6,
-         im_get_colind,
-         im_get_free,
-         im_get_input,
-         im_get_nonzeros,
-         im_get_nz__0,
-         im_get_nz__1,
-         im_get_row,
-         im_get_sparsity,
-         im_grad__0,
-         im_grad__1,
-         im_grad__2,
-         im_grad__3,
-         im_grad__4,
-         im_grad__5,
-         im_grad__6,
-         im_has_duplicates,
-         im_has_nz,
-         im_has_zeros,
-         im_hess__0,
-         im_hess__1,
-         im_hess__2,
-         im_hess__3,
-         im_hess__4,
-         im_hess__5,
-         im_hess__6,
-         im_inf__0,
-         im_inf__1,
-         im_inf__2,
-         im_inf__3,
-         im_inf__4,
-         im_is_column,
-         im_is_commutative,
-         im_is_constant,
-         im_is_dense,
-         im_is_empty__0,
-         im_is_empty__1,
-         im_is_identity,
-         im_is_integer,
-         im_is_leaf,
-         im_is_minus_one,
-         im_is_one,
-         im_is_regular,
-         im_is_row,
-         im_is_scalar__0,
-         im_is_scalar__1,
-         im_is_smooth,
-         im_is_square,
-         im_is_symbolic,
-         im_is_tril,
-         im_is_triu,
-         im_is_valid_input,
-         im_is_vector,
-         im_is_zero,
-         im_jac__0,
-         im_jac__1,
-         im_jac__10,
-         im_jac__11,
-         im_jac__12,
-         im_jac__13,
-         im_jac__14,
-         im_jac__2,
-         im_jac__3,
-         im_jac__4,
-         im_jac__5,
-         im_jac__6,
-         im_jac__7,
-         im_jac__8,
-         im_jac__9,
-         im_matrix_matrix,
-         im_matrix_scalar,
-         im_n_dep,
-         im_name,
-         im_nan__0,
-         im_nan__1,
-         im_nan__2,
-         im_nan__3,
-         im_nan__4,
-         im_nnz,
-         im_nnz_diag,
-         im_nnz_lower,
-         im_nnz_upper,
-         im_numel__0,
-         im_numel__1,
-         im_ones__0,
-         im_ones__1,
-         im_ones__2,
-         im_ones__3,
-         im_ones__4,
-         im_operator__minus,
-         im_operator__plus,
-         im_operator_double,
-         im_operator_int,
-         im_print_dense,
-         im_print_scalar,
-         im_print_sparse,
-         im_print_split,
-         im_print_vector,
-         im_printme,
-         im_remove,
-         im_reserve__0,
-         im_reserve__1,
-         im_resetInput,
-         im_resize,
-         im_row,
-         im_sanity_check__0,
-         im_sanity_check__1,
-         im_scalar_matrix,
-         im_setEqualityCheckingDepth__0,
-         im_setEqualityCheckingDepth__1,
-         im_setPrecision,
-         im_setScientific,
-         im_setWidth,
-         im_set__0,
-         im_set__1,
-         im_set__2,
-         im_set__3,
-         im_set__4,
-         im_set__5,
-         im_set__6,
-         im_set_nz__0,
-         im_set_nz__1,
-         im_size1,
-         im_size2,
-         im_size__0,
-         im_size__1,
-         im_sparsity,
-         im_sym__0,
-         im_sym__1,
-         im_sym__2,
-         im_sym__3,
-         im_sym__4,
-         im_sym__5,
-         im_sym__6,
-         im_sym__7,
-         im_sym__8,
-         im_tang__0,
-         im_tang__1,
-         im_tang__2,
-         im_tang__3,
-         im_tang__4,
-         im_tang__5,
-         im_tang__6,
-         im_triplet__0,
-         im_triplet__1,
-         im_triplet__2,
-         im_type_name,
-         im_unary,
-         im_zeros__0,
-         im_zeros__1,
-         im_zeros__2,
-         im_zeros__3,
-         im_zeros__4,
-       ) where
-
-
-import Prelude hiding ( Functor )
-
-import Data.Vector ( Vector )
-import qualified Data.Map as M
-import Foreign.C.Types
-import Foreign.Marshal ( new, free )
-import Foreign.Storable ( peek )
-import Foreign.Ptr ( Ptr, nullPtr )
-import Foreign.ForeignPtr ( newForeignPtr )
-import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
-
-import Casadi.Internal.FormatException ( formatException )
-import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
-import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
-import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-import Casadi.Core.Data
-import Casadi.Core.Enums
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__0" c_casadi__IM__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr IM')
-
-casadi__IM__CONSTRUCTOR__0
-  :: SX -> IO IM
-casadi__IM__CONSTRUCTOR__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__CONSTRUCTOR__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im__0 :: SX -> IO IM
-im__0 = casadi__IM__CONSTRUCTOR__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__1" c_casadi__IM__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElem')) -> IO (Ptr IM')
-
-casadi__IM__CONSTRUCTOR__1
-  :: Vector SXElem -> IO IM
-casadi__IM__CONSTRUCTOR__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__CONSTRUCTOR__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im__1 :: Vector SXElem -> IO IM
-im__1 = casadi__IM__CONSTRUCTOR__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__2" c_casadi__IM__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr IM')
-
-casadi__IM__CONSTRUCTOR__2
-  :: DM -> IO IM
-casadi__IM__CONSTRUCTOR__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__CONSTRUCTOR__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im__2 :: DM -> IO IM
-im__2 = casadi__IM__CONSTRUCTOR__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__3" c_casadi__IM__CONSTRUCTOR__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr IM')
-
-casadi__IM__CONSTRUCTOR__3
-  :: Vector Double -> IO IM
-casadi__IM__CONSTRUCTOR__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__CONSTRUCTOR__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im__3 :: Vector Double -> IO IM
-im__3 = casadi__IM__CONSTRUCTOR__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__4" c_casadi__IM__CONSTRUCTOR__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec CDouble))) -> IO (Ptr IM')
-
-casadi__IM__CONSTRUCTOR__4
-  :: Vector (Vector Double) -> IO IM
-casadi__IM__CONSTRUCTOR__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__CONSTRUCTOR__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im__4 :: Vector (Vector Double) -> IO IM
-im__4 = casadi__IM__CONSTRUCTOR__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__5" c_casadi__IM__CONSTRUCTOR__5
-  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr IM')
-
-casadi__IM__CONSTRUCTOR__5
-  :: Double -> IO IM
-casadi__IM__CONSTRUCTOR__5 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__CONSTRUCTOR__5 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im__5 :: Double -> IO IM
-im__5 = casadi__IM__CONSTRUCTOR__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__6" c_casadi__IM__CONSTRUCTOR__6
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr IM' -> IO (Ptr IM')
-
-casadi__IM__CONSTRUCTOR__6
-  :: Sparsity -> IM -> IO IM
-casadi__IM__CONSTRUCTOR__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__CONSTRUCTOR__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im__6 :: Sparsity -> IM -> IO IM
-im__6 = casadi__IM__CONSTRUCTOR__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__7" c_casadi__IM__CONSTRUCTOR__7
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IM')
-
-casadi__IM__CONSTRUCTOR__7
-  :: Sparsity -> IO IM
-casadi__IM__CONSTRUCTOR__7 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__CONSTRUCTOR__7 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im__7 :: Sparsity -> IO IM
-im__7 = casadi__IM__CONSTRUCTOR__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__8" c_casadi__IM__CONSTRUCTOR__8
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__CONSTRUCTOR__8
-  :: Int -> Int -> IO IM
-casadi__IM__CONSTRUCTOR__8 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__CONSTRUCTOR__8 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im__8 :: Int -> Int -> IO IM
-im__8 = casadi__IM__CONSTRUCTOR__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__9" c_casadi__IM__CONSTRUCTOR__9
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi__IM__CONSTRUCTOR__9
-  :: IM -> IO IM
-casadi__IM__CONSTRUCTOR__9 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__CONSTRUCTOR__9 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im__9 :: IM -> IO IM
-im__9 = casadi__IM__CONSTRUCTOR__9
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__10" c_casadi__IM__CONSTRUCTOR__10
-  :: Ptr (Ptr StdString) -> IO (Ptr IM')
-
-casadi__IM__CONSTRUCTOR__10
-  :: IO IM
-casadi__IM__CONSTRUCTOR__10  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__CONSTRUCTOR__10 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-im__10 :: IO IM
-im__10 = casadi__IM__CONSTRUCTOR__10
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__T" c_casadi__IM__T
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi__IM__T
-  :: IM -> IO IM
-casadi__IM__T x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__T errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_T :: IMClass a => a -> IO IM
-im_T x = casadi__IM__T (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM____nonzero__" c_casadi__IM____nonzero__
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM____nonzero__
-  :: IM -> IO Bool
-casadi__IM____nonzero__ x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM____nonzero__ errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im___nonzero__ :: IMClass a => a -> IO Bool
-im___nonzero__ x = casadi__IM____nonzero__ (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__binary" c_casadi__IM__binary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi__IM__binary
-  :: Int -> IM -> IM -> IO IM
-casadi__IM__binary x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__binary errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_binary :: Int -> IM -> IM -> IO IM
-im_binary = casadi__IM__binary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__clear" c_casadi__IM__clear
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO ()
-
-casadi__IM__clear
-  :: IM -> IO ()
-casadi__IM__clear x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__clear errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-im_clear :: IMClass a => a -> IO ()
-im_clear x = casadi__IM__clear (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__colind" c_casadi__IM__colind
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO CInt
-
-casadi__IM__colind
-  :: IM -> Int -> IO Int
-casadi__IM__colind x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__colind errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_colind :: IMClass a => a -> Int -> IO Int
-im_colind x = casadi__IM__colind (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__dep__0" c_casadi__IM__dep__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi__IM__dep__0
-  :: IM -> IO IM
-casadi__IM__dep__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__dep__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_dep__0 :: IMClass a => a -> IO IM
-im_dep__0 x = casadi__IM__dep__0 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__dep__1" c_casadi__IM__dep__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr IM')
-
-casadi__IM__dep__1
-  :: IM -> Int -> IO IM
-casadi__IM__dep__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__dep__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_dep__1 :: IMClass a => a -> Int -> IO IM
-im_dep__1 x = casadi__IM__dep__1 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__dim" c_casadi__IM__dim
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr StdString)
-
-casadi__IM__dim
-  :: IM -> IO String
-casadi__IM__dim x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__dim errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_dim :: IMClass a => a -> IO String
-im_dim x = casadi__IM__dim (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__element_hash" c_casadi__IM__element_hash
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CSize
-
-casadi__IM__element_hash
-  :: IM -> IO CSize
-casadi__IM__element_hash x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__element_hash errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_element_hash :: IMClass a => a -> IO CSize
-im_element_hash x = casadi__IM__element_hash (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__enlarge__0" c_casadi__IM__enlarge__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-
-casadi__IM__enlarge__0
-  :: IM -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casadi__IM__enlarge__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-im_enlarge__0 :: IMClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-im_enlarge__0 x = casadi__IM__enlarge__0 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__enlarge__1" c_casadi__IM__enlarge__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__IM__enlarge__1
-  :: IM -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
-casadi__IM__enlarge__1 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ()
-
-
-
--- classy wrapper
-im_enlarge__1 :: IMClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
-im_enlarge__1 x = casadi__IM__enlarge__1 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__erase__0" c_casadi__IM__erase__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CInt) -> IO ()
-
-casadi__IM__erase__0
-  :: IM -> Vector Int -> IO ()
-casadi__IM__erase__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__erase__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-im_erase__0 :: IMClass a => a -> Vector Int -> IO ()
-im_erase__0 x = casadi__IM__erase__0 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__erase__1" c_casadi__IM__erase__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__IM__erase__1
-  :: IM -> Vector Int -> Bool -> IO ()
-casadi__IM__erase__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__erase__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-im_erase__1 :: IMClass a => a -> Vector Int -> Bool -> IO ()
-im_erase__1 x = casadi__IM__erase__1 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__erase__2" c_casadi__IM__erase__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-
-casadi__IM__erase__2
-  :: IM -> Vector Int -> Vector Int -> IO ()
-casadi__IM__erase__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__erase__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-im_erase__2 :: IMClass a => a -> Vector Int -> Vector Int -> IO ()
-im_erase__2 x = casadi__IM__erase__2 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__erase__3" c_casadi__IM__erase__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__IM__erase__3
-  :: IM -> Vector Int -> Vector Int -> Bool -> IO ()
-casadi__IM__erase__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__erase__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-im_erase__3 :: IMClass a => a -> Vector Int -> Vector Int -> Bool -> IO ()
-im_erase__3 x = casadi__IM__erase__3 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__eye" c_casadi__IM__eye
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IM')
-
-casadi__IM__eye
-  :: Int -> IO IM
-casadi__IM__eye x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__eye errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_eye :: Int -> IO IM
-im_eye = casadi__IM__eye
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get__0" c_casadi__IM__get__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
-
-casadi__IM__get__0
-  :: IM -> Bool -> IM -> IM -> IO (IM)
-casadi__IM__get__0 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get__0 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get__0/c_casadi__IM__get__0" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-im_get__0 :: IMClass a => a -> Bool -> IM -> IM -> IO (IM)
-im_get__0 x = casadi__IM__get__0 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get__1" c_casadi__IM__get__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
-
-casadi__IM__get__1
-  :: IM -> Bool -> IM -> Slice -> IO (IM)
-casadi__IM__get__1 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get__1 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get__1/c_casadi__IM__get__1" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-im_get__1 :: IMClass a => a -> Bool -> IM -> Slice -> IO (IM)
-im_get__1 x = casadi__IM__get__1 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get__2" c_casadi__IM__get__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
-
-casadi__IM__get__2
-  :: IM -> Bool -> Slice -> IM -> IO (IM)
-casadi__IM__get__2 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get__2 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get__2/c_casadi__IM__get__2" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-im_get__2 :: IMClass a => a -> Bool -> Slice -> IM -> IO (IM)
-im_get__2 x = casadi__IM__get__2 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get__3" c_casadi__IM__get__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
-
-casadi__IM__get__3
-  :: IM -> Bool -> Slice -> Slice -> IO (IM)
-casadi__IM__get__3 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get__3 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get__3/c_casadi__IM__get__3" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-im_get__3 :: IMClass a => a -> Bool -> Slice -> Slice -> IO (IM)
-im_get__3 x = casadi__IM__get__3 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get__4" c_casadi__IM__get__4
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr Sparsity' -> IO ()
-
-casadi__IM__get__4
-  :: IM -> Bool -> Sparsity -> IO (IM)
-casadi__IM__get__4 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get__4 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get__4/c_casadi__IM__get__4" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-im_get__4 :: IMClass a => a -> Bool -> Sparsity -> IO (IM)
-im_get__4 x = casadi__IM__get__4 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get__5" c_casadi__IM__get__5
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr IM' -> IO ()
-
-casadi__IM__get__5
-  :: IM -> Bool -> IM -> IO (IM)
-casadi__IM__get__5 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get__5 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get__5/c_casadi__IM__get__5" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-im_get__5 :: IMClass a => a -> Bool -> IM -> IO (IM)
-im_get__5 x = casadi__IM__get__5 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get__6" c_casadi__IM__get__6
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr Slice' -> IO ()
-
-casadi__IM__get__6
-  :: IM -> Bool -> Slice -> IO (IM)
-casadi__IM__get__6 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get__6 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get__6/c_casadi__IM__get__6" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-im_get__6 :: IMClass a => a -> Bool -> Slice -> IO (IM)
-im_get__6 x = casadi__IM__get__6 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__getEqualityCheckingDepth" c_casadi__IM__getEqualityCheckingDepth
-  :: Ptr (Ptr StdString) -> IO CInt
-
-casadi__IM__getEqualityCheckingDepth
-  :: IO Int
-casadi__IM__getEqualityCheckingDepth  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__getEqualityCheckingDepth errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-im_getEqualityCheckingDepth :: IO Int
-im_getEqualityCheckingDepth = casadi__IM__getEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get_colind" c_casadi__IM__get_colind
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec CInt))
-
-casadi__IM__get_colind
-  :: IM -> IO (Vector Int)
-casadi__IM__get_colind x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get_colind errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_get_colind :: IMClass a => a -> IO (Vector Int)
-im_get_colind x = casadi__IM__get_colind (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get_free" c_casadi__IM__get_free
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi__IM__get_free
-  :: Function -> IO (Vector IM)
-casadi__IM__get_free x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get_free errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_get_free :: Function -> IO (Vector IM)
-im_get_free = casadi__IM__get_free
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get_input" c_casadi__IM__get_input
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi__IM__get_input
-  :: Function -> IO (Vector IM)
-casadi__IM__get_input x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get_input errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_get_input :: Function -> IO (Vector IM)
-im_get_input = casadi__IM__get_input
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get_nonzeros" c_casadi__IM__get_nonzeros
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec CInt))
-
-casadi__IM__get_nonzeros
-  :: IM -> IO (Vector Int)
-casadi__IM__get_nonzeros x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get_nonzeros errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_get_nonzeros :: IMClass a => a -> IO (Vector Int)
-im_get_nonzeros x = casadi__IM__get_nonzeros (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get_nz__0" c_casadi__IM__get_nz__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr IM' -> IO ()
-
-casadi__IM__get_nz__0
-  :: IM -> Bool -> IM -> IO (IM)
-casadi__IM__get_nz__0 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get_nz__0 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get_nz__0/c_casadi__IM__get_nz__0" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-im_get_nz__0 :: IMClass a => a -> Bool -> IM -> IO (IM)
-im_get_nz__0 x = casadi__IM__get_nz__0 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get_nz__1" c_casadi__IM__get_nz__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr Slice' -> IO ()
-
-casadi__IM__get_nz__1
-  :: IM -> Bool -> Slice -> IO (IM)
-casadi__IM__get_nz__1 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get_nz__1 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get_nz__1/c_casadi__IM__get_nz__1" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-im_get_nz__1 :: IMClass a => a -> Bool -> Slice -> IO (IM)
-im_get_nz__1 x = casadi__IM__get_nz__1 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get_row" c_casadi__IM__get_row
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec CInt))
-
-casadi__IM__get_row
-  :: IM -> IO (Vector Int)
-casadi__IM__get_row x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get_row errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_get_row :: IMClass a => a -> IO (Vector Int)
-im_get_row x = casadi__IM__get_row (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__get_sparsity" c_casadi__IM__get_sparsity
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr Sparsity')
-
-casadi__IM__get_sparsity
-  :: IM -> IO Sparsity
-casadi__IM__get_sparsity x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__get_sparsity errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_get_sparsity :: IMClass a => a -> IO Sparsity
-im_get_sparsity x = casadi__IM__get_sparsity (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__grad__0" c_casadi__IM__grad__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr IM')
-
-casadi__IM__grad__0
-  :: Function -> String -> String -> IO IM
-casadi__IM__grad__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__grad__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_grad__0 :: Function -> String -> String -> IO IM
-im_grad__0 = casadi__IM__grad__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__grad__1" c_casadi__IM__grad__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr IM')
-
-casadi__IM__grad__1
-  :: Function -> Int -> String -> IO IM
-casadi__IM__grad__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__grad__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_grad__1 :: Function -> Int -> String -> IO IM
-im_grad__1 = casadi__IM__grad__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__grad__2" c_casadi__IM__grad__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr IM')
-
-casadi__IM__grad__2
-  :: Function -> String -> IO IM
-casadi__IM__grad__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__grad__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_grad__2 :: Function -> String -> IO IM
-im_grad__2 = casadi__IM__grad__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__grad__3" c_casadi__IM__grad__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr IM')
-
-casadi__IM__grad__3
-  :: Function -> String -> Int -> IO IM
-casadi__IM__grad__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__grad__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_grad__3 :: Function -> String -> Int -> IO IM
-im_grad__3 = casadi__IM__grad__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__grad__4" c_casadi__IM__grad__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr IM')
-
-casadi__IM__grad__4
-  :: Function -> IO IM
-casadi__IM__grad__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__grad__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_grad__4 :: Function -> IO IM
-im_grad__4 = casadi__IM__grad__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__grad__5" c_casadi__IM__grad__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr IM')
-
-casadi__IM__grad__5
-  :: Function -> Int -> IO IM
-casadi__IM__grad__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__grad__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_grad__5 :: Function -> Int -> IO IM
-im_grad__5 = casadi__IM__grad__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__grad__6" c_casadi__IM__grad__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__grad__6
-  :: Function -> Int -> Int -> IO IM
-casadi__IM__grad__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__grad__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_grad__6 :: Function -> Int -> Int -> IO IM
-im_grad__6 = casadi__IM__grad__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__has_duplicates" c_casadi__IM__has_duplicates
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__has_duplicates
-  :: IM -> IO Bool
-casadi__IM__has_duplicates x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__has_duplicates errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_has_duplicates :: IMClass a => a -> IO Bool
-im_has_duplicates x = casadi__IM__has_duplicates (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__has_nz" c_casadi__IM__has_nz
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> CInt -> IO CInt
-
-casadi__IM__has_nz
-  :: IM -> Int -> Int -> IO Bool
-casadi__IM__has_nz x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__has_nz errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_has_nz :: IMClass a => a -> Int -> Int -> IO Bool
-im_has_nz x = casadi__IM__has_nz (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__has_zeros" c_casadi__IM__has_zeros
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__has_zeros
-  :: IM -> IO Bool
-casadi__IM__has_zeros x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__has_zeros errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_has_zeros :: IMClass a => a -> IO Bool
-im_has_zeros x = casadi__IM__has_zeros (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__hess__0" c_casadi__IM__hess__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr IM')
-
-casadi__IM__hess__0
-  :: Function -> String -> String -> IO IM
-casadi__IM__hess__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__hess__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_hess__0 :: Function -> String -> String -> IO IM
-im_hess__0 = casadi__IM__hess__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__hess__1" c_casadi__IM__hess__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr IM')
-
-casadi__IM__hess__1
-  :: Function -> Int -> String -> IO IM
-casadi__IM__hess__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__hess__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_hess__1 :: Function -> Int -> String -> IO IM
-im_hess__1 = casadi__IM__hess__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__hess__2" c_casadi__IM__hess__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr IM')
-
-casadi__IM__hess__2
-  :: Function -> String -> IO IM
-casadi__IM__hess__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__hess__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_hess__2 :: Function -> String -> IO IM
-im_hess__2 = casadi__IM__hess__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__hess__3" c_casadi__IM__hess__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr IM')
-
-casadi__IM__hess__3
-  :: Function -> String -> Int -> IO IM
-casadi__IM__hess__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__hess__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_hess__3 :: Function -> String -> Int -> IO IM
-im_hess__3 = casadi__IM__hess__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__hess__4" c_casadi__IM__hess__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr IM')
-
-casadi__IM__hess__4
-  :: Function -> IO IM
-casadi__IM__hess__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__hess__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_hess__4 :: Function -> IO IM
-im_hess__4 = casadi__IM__hess__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__hess__5" c_casadi__IM__hess__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr IM')
-
-casadi__IM__hess__5
-  :: Function -> Int -> IO IM
-casadi__IM__hess__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__hess__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_hess__5 :: Function -> Int -> IO IM
-im_hess__5 = casadi__IM__hess__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__hess__6" c_casadi__IM__hess__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__hess__6
-  :: Function -> Int -> Int -> IO IM
-casadi__IM__hess__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__hess__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_hess__6 :: Function -> Int -> Int -> IO IM
-im_hess__6 = casadi__IM__hess__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__inf__0" c_casadi__IM__inf__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr IM')
-
-casadi__IM__inf__0
-  :: (Int, Int) -> IO IM
-casadi__IM__inf__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__inf__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_inf__0 :: (Int, Int) -> IO IM
-im_inf__0 = casadi__IM__inf__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__inf__1" c_casadi__IM__inf__1
-  :: Ptr (Ptr StdString) -> IO (Ptr IM')
-
-casadi__IM__inf__1
-  :: IO IM
-casadi__IM__inf__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__inf__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-im_inf__1 :: IO IM
-im_inf__1 = casadi__IM__inf__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__inf__2" c_casadi__IM__inf__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IM')
-
-casadi__IM__inf__2
-  :: Int -> IO IM
-casadi__IM__inf__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__inf__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_inf__2 :: Int -> IO IM
-im_inf__2 = casadi__IM__inf__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__inf__3" c_casadi__IM__inf__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__inf__3
-  :: Int -> Int -> IO IM
-casadi__IM__inf__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__inf__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_inf__3 :: Int -> Int -> IO IM
-im_inf__3 = casadi__IM__inf__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__inf__4" c_casadi__IM__inf__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IM')
-
-casadi__IM__inf__4
-  :: Sparsity -> IO IM
-casadi__IM__inf__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__inf__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_inf__4 :: Sparsity -> IO IM
-im_inf__4 = casadi__IM__inf__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_column" c_casadi__IM__is_column
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_column
-  :: IM -> IO Bool
-casadi__IM__is_column x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_column errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_column :: IMClass a => a -> IO Bool
-im_is_column x = casadi__IM__is_column (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_commutative" c_casadi__IM__is_commutative
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_commutative
-  :: IM -> IO Bool
-casadi__IM__is_commutative x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_commutative errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_commutative :: IMClass a => a -> IO Bool
-im_is_commutative x = casadi__IM__is_commutative (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_constant" c_casadi__IM__is_constant
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_constant
-  :: IM -> IO Bool
-casadi__IM__is_constant x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_constant errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_constant :: IMClass a => a -> IO Bool
-im_is_constant x = casadi__IM__is_constant (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_dense" c_casadi__IM__is_dense
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_dense
-  :: IM -> IO Bool
-casadi__IM__is_dense x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_dense errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_dense :: IMClass a => a -> IO Bool
-im_is_dense x = casadi__IM__is_dense (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_empty__0" c_casadi__IM__is_empty__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_empty__0
-  :: IM -> IO Bool
-casadi__IM__is_empty__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_empty__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_empty__0 :: IMClass a => a -> IO Bool
-im_is_empty__0 x = casadi__IM__is_empty__0 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_empty__1" c_casadi__IM__is_empty__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO CInt
-
-casadi__IM__is_empty__1
-  :: IM -> Bool -> IO Bool
-casadi__IM__is_empty__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_empty__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_empty__1 :: IMClass a => a -> Bool -> IO Bool
-im_is_empty__1 x = casadi__IM__is_empty__1 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_identity" c_casadi__IM__is_identity
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_identity
-  :: IM -> IO Bool
-casadi__IM__is_identity x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_identity errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_identity :: IMClass a => a -> IO Bool
-im_is_identity x = casadi__IM__is_identity (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_integer" c_casadi__IM__is_integer
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_integer
-  :: IM -> IO Bool
-casadi__IM__is_integer x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_integer errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_integer :: IMClass a => a -> IO Bool
-im_is_integer x = casadi__IM__is_integer (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_leaf" c_casadi__IM__is_leaf
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_leaf
-  :: IM -> IO Bool
-casadi__IM__is_leaf x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_leaf errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_leaf :: IMClass a => a -> IO Bool
-im_is_leaf x = casadi__IM__is_leaf (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_minus_one" c_casadi__IM__is_minus_one
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_minus_one
-  :: IM -> IO Bool
-casadi__IM__is_minus_one x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_minus_one errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_minus_one :: IMClass a => a -> IO Bool
-im_is_minus_one x = casadi__IM__is_minus_one (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_one" c_casadi__IM__is_one
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_one
-  :: IM -> IO Bool
-casadi__IM__is_one x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_one errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_one :: IMClass a => a -> IO Bool
-im_is_one x = casadi__IM__is_one (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_regular" c_casadi__IM__is_regular
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_regular
-  :: IM -> IO Bool
-casadi__IM__is_regular x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_regular errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_regular :: IMClass a => a -> IO Bool
-im_is_regular x = casadi__IM__is_regular (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_row" c_casadi__IM__is_row
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_row
-  :: IM -> IO Bool
-casadi__IM__is_row x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_row errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_row :: IMClass a => a -> IO Bool
-im_is_row x = casadi__IM__is_row (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_scalar__0" c_casadi__IM__is_scalar__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_scalar__0
-  :: IM -> IO Bool
-casadi__IM__is_scalar__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_scalar__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_scalar__0 :: IMClass a => a -> IO Bool
-im_is_scalar__0 x = casadi__IM__is_scalar__0 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_scalar__1" c_casadi__IM__is_scalar__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO CInt
-
-casadi__IM__is_scalar__1
-  :: IM -> Bool -> IO Bool
-casadi__IM__is_scalar__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_scalar__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_scalar__1 :: IMClass a => a -> Bool -> IO Bool
-im_is_scalar__1 x = casadi__IM__is_scalar__1 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_smooth" c_casadi__IM__is_smooth
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_smooth
-  :: IM -> IO Bool
-casadi__IM__is_smooth x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_smooth errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_smooth :: IMClass a => a -> IO Bool
-im_is_smooth x = casadi__IM__is_smooth (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_square" c_casadi__IM__is_square
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_square
-  :: IM -> IO Bool
-casadi__IM__is_square x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_square errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_square :: IMClass a => a -> IO Bool
-im_is_square x = casadi__IM__is_square (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_symbolic" c_casadi__IM__is_symbolic
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_symbolic
-  :: IM -> IO Bool
-casadi__IM__is_symbolic x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_symbolic errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_symbolic :: IMClass a => a -> IO Bool
-im_is_symbolic x = casadi__IM__is_symbolic (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_tril" c_casadi__IM__is_tril
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_tril
-  :: IM -> IO Bool
-casadi__IM__is_tril x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_tril errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_tril :: IMClass a => a -> IO Bool
-im_is_tril x = casadi__IM__is_tril (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_triu" c_casadi__IM__is_triu
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_triu
-  :: IM -> IO Bool
-casadi__IM__is_triu x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_triu errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_triu :: IMClass a => a -> IO Bool
-im_is_triu x = casadi__IM__is_triu (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_valid_input" c_casadi__IM__is_valid_input
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_valid_input
-  :: IM -> IO Bool
-casadi__IM__is_valid_input x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_valid_input errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_valid_input :: IMClass a => a -> IO Bool
-im_is_valid_input x = casadi__IM__is_valid_input (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_vector" c_casadi__IM__is_vector
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_vector
-  :: IM -> IO Bool
-casadi__IM__is_vector x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_vector errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_vector :: IMClass a => a -> IO Bool
-im_is_vector x = casadi__IM__is_vector (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__is_zero" c_casadi__IM__is_zero
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__is_zero
-  :: IM -> IO Bool
-casadi__IM__is_zero x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__is_zero errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_is_zero :: IMClass a => a -> IO Bool
-im_is_zero x = casadi__IM__is_zero (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__0" c_casadi__IM__jac__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr IM')
-
-casadi__IM__jac__0
-  :: Function -> String -> String -> IO IM
-casadi__IM__jac__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__0 :: Function -> String -> String -> IO IM
-im_jac__0 = casadi__IM__jac__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__1" c_casadi__IM__jac__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> IO (Ptr IM')
-
-casadi__IM__jac__1
-  :: Function -> String -> String -> Bool -> IO IM
-casadi__IM__jac__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__1 :: Function -> String -> String -> Bool -> IO IM
-im_jac__1 = casadi__IM__jac__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__2" c_casadi__IM__jac__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__jac__2
-  :: Function -> String -> String -> Bool -> Bool -> IO IM
-casadi__IM__jac__2 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__2 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__2 :: Function -> String -> String -> Bool -> Bool -> IO IM
-im_jac__2 = casadi__IM__jac__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__3" c_casadi__IM__jac__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr IM')
-
-casadi__IM__jac__3
-  :: Function -> Int -> String -> IO IM
-casadi__IM__jac__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__3 :: Function -> Int -> String -> IO IM
-im_jac__3 = casadi__IM__jac__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__4" c_casadi__IM__jac__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> CInt -> IO (Ptr IM')
-
-casadi__IM__jac__4
-  :: Function -> Int -> String -> Bool -> IO IM
-casadi__IM__jac__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__4 :: Function -> Int -> String -> Bool -> IO IM
-im_jac__4 = casadi__IM__jac__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__5" c_casadi__IM__jac__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__jac__5
-  :: Function -> Int -> String -> Bool -> Bool -> IO IM
-casadi__IM__jac__5 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__5 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__5 :: Function -> Int -> String -> Bool -> Bool -> IO IM
-im_jac__5 = casadi__IM__jac__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__6" c_casadi__IM__jac__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr IM')
-
-casadi__IM__jac__6
-  :: Function -> String -> IO IM
-casadi__IM__jac__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__6 :: Function -> String -> IO IM
-im_jac__6 = casadi__IM__jac__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__7" c_casadi__IM__jac__7
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr IM')
-
-casadi__IM__jac__7
-  :: Function -> String -> Int -> IO IM
-casadi__IM__jac__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__7 :: Function -> String -> Int -> IO IM
-im_jac__7 = casadi__IM__jac__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__8" c_casadi__IM__jac__8
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__jac__8
-  :: Function -> String -> Int -> Bool -> IO IM
-casadi__IM__jac__8 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__8 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__8 :: Function -> String -> Int -> Bool -> IO IM
-im_jac__8 = casadi__IM__jac__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__9" c_casadi__IM__jac__9
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__jac__9
-  :: Function -> String -> Int -> Bool -> Bool -> IO IM
-casadi__IM__jac__9 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__9 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__9 :: Function -> String -> Int -> Bool -> Bool -> IO IM
-im_jac__9 = casadi__IM__jac__9
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__10" c_casadi__IM__jac__10
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr IM')
-
-casadi__IM__jac__10
-  :: Function -> IO IM
-casadi__IM__jac__10 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__10 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__10 :: Function -> IO IM
-im_jac__10 = casadi__IM__jac__10
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__11" c_casadi__IM__jac__11
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr IM')
-
-casadi__IM__jac__11
-  :: Function -> Int -> IO IM
-casadi__IM__jac__11 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__11 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__11 :: Function -> Int -> IO IM
-im_jac__11 = casadi__IM__jac__11
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__12" c_casadi__IM__jac__12
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__jac__12
-  :: Function -> Int -> Int -> IO IM
-casadi__IM__jac__12 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__12 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__12 :: Function -> Int -> Int -> IO IM
-im_jac__12 = casadi__IM__jac__12
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__13" c_casadi__IM__jac__13
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__jac__13
-  :: Function -> Int -> Int -> Bool -> IO IM
-casadi__IM__jac__13 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__13 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__13 :: Function -> Int -> Int -> Bool -> IO IM
-im_jac__13 = casadi__IM__jac__13
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__jac__14" c_casadi__IM__jac__14
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__jac__14
-  :: Function -> Int -> Int -> Bool -> Bool -> IO IM
-casadi__IM__jac__14 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__jac__14 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-im_jac__14 :: Function -> Int -> Int -> Bool -> Bool -> IO IM
-im_jac__14 = casadi__IM__jac__14
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__matrix_matrix" c_casadi__IM__matrix_matrix
-  :: Ptr (Ptr StdString) -> CInt -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi__IM__matrix_matrix
-  :: Int -> IM -> IM -> IO IM
-casadi__IM__matrix_matrix x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__matrix_matrix errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_matrix_matrix :: Int -> IM -> IM -> IO IM
-im_matrix_matrix = casadi__IM__matrix_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__matrix_scalar" c_casadi__IM__matrix_scalar
-  :: Ptr (Ptr StdString) -> CInt -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi__IM__matrix_scalar
-  :: Int -> IM -> IM -> IO IM
-casadi__IM__matrix_scalar x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__matrix_scalar errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_matrix_scalar :: Int -> IM -> IM -> IO IM
-im_matrix_scalar = casadi__IM__matrix_scalar
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__n_dep" c_casadi__IM__n_dep
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__n_dep
-  :: IM -> IO Int
-casadi__IM__n_dep x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__n_dep errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_n_dep :: IMClass a => a -> IO Int
-im_n_dep x = casadi__IM__n_dep (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__name" c_casadi__IM__name
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr StdString)
-
-casadi__IM__name
-  :: IM -> IO String
-casadi__IM__name x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__name errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_name :: IMClass a => a -> IO String
-im_name x = casadi__IM__name (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__nan__0" c_casadi__IM__nan__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr IM')
-
-casadi__IM__nan__0
-  :: (Int, Int) -> IO IM
-casadi__IM__nan__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__nan__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_nan__0 :: (Int, Int) -> IO IM
-im_nan__0 = casadi__IM__nan__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__nan__1" c_casadi__IM__nan__1
-  :: Ptr (Ptr StdString) -> IO (Ptr IM')
-
-casadi__IM__nan__1
-  :: IO IM
-casadi__IM__nan__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__nan__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-im_nan__1 :: IO IM
-im_nan__1 = casadi__IM__nan__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__nan__2" c_casadi__IM__nan__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IM')
-
-casadi__IM__nan__2
-  :: Int -> IO IM
-casadi__IM__nan__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__nan__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_nan__2 :: Int -> IO IM
-im_nan__2 = casadi__IM__nan__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__nan__3" c_casadi__IM__nan__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__nan__3
-  :: Int -> Int -> IO IM
-casadi__IM__nan__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__nan__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_nan__3 :: Int -> Int -> IO IM
-im_nan__3 = casadi__IM__nan__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__nan__4" c_casadi__IM__nan__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IM')
-
-casadi__IM__nan__4
-  :: Sparsity -> IO IM
-casadi__IM__nan__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__nan__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_nan__4 :: Sparsity -> IO IM
-im_nan__4 = casadi__IM__nan__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__nnz" c_casadi__IM__nnz
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__nnz
-  :: IM -> IO Int
-casadi__IM__nnz x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__nnz errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_nnz :: IMClass a => a -> IO Int
-im_nnz x = casadi__IM__nnz (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__nnz_diag" c_casadi__IM__nnz_diag
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__nnz_diag
-  :: IM -> IO Int
-casadi__IM__nnz_diag x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__nnz_diag errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_nnz_diag :: IMClass a => a -> IO Int
-im_nnz_diag x = casadi__IM__nnz_diag (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__nnz_lower" c_casadi__IM__nnz_lower
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__nnz_lower
-  :: IM -> IO Int
-casadi__IM__nnz_lower x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__nnz_lower errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_nnz_lower :: IMClass a => a -> IO Int
-im_nnz_lower x = casadi__IM__nnz_lower (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__nnz_upper" c_casadi__IM__nnz_upper
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__nnz_upper
-  :: IM -> IO Int
-casadi__IM__nnz_upper x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__nnz_upper errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_nnz_upper :: IMClass a => a -> IO Int
-im_nnz_upper x = casadi__IM__nnz_upper (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__numel__0" c_casadi__IM__numel__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO CInt
-
-casadi__IM__numel__0
-  :: IM -> Int -> IO Int
-casadi__IM__numel__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__numel__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_numel__0 :: IMClass a => a -> Int -> IO Int
-im_numel__0 x = casadi__IM__numel__0 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__numel__1" c_casadi__IM__numel__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__numel__1
-  :: IM -> IO Int
-casadi__IM__numel__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__numel__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_numel__1 :: IMClass a => a -> IO Int
-im_numel__1 x = casadi__IM__numel__1 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__ones__0" c_casadi__IM__ones__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr IM')
-
-casadi__IM__ones__0
-  :: (Int, Int) -> IO IM
-casadi__IM__ones__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__ones__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_ones__0 :: (Int, Int) -> IO IM
-im_ones__0 = casadi__IM__ones__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__ones__1" c_casadi__IM__ones__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IM')
-
-casadi__IM__ones__1
-  :: Sparsity -> IO IM
-casadi__IM__ones__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__ones__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_ones__1 :: Sparsity -> IO IM
-im_ones__1 = casadi__IM__ones__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__ones__2" c_casadi__IM__ones__2
-  :: Ptr (Ptr StdString) -> IO (Ptr IM')
-
-casadi__IM__ones__2
-  :: IO IM
-casadi__IM__ones__2  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__ones__2 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-im_ones__2 :: IO IM
-im_ones__2 = casadi__IM__ones__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__ones__3" c_casadi__IM__ones__3
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IM')
-
-casadi__IM__ones__3
-  :: Int -> IO IM
-casadi__IM__ones__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__ones__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_ones__3 :: Int -> IO IM
-im_ones__3 = casadi__IM__ones__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__ones__4" c_casadi__IM__ones__4
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__ones__4
-  :: Int -> Int -> IO IM
-casadi__IM__ones__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__ones__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_ones__4 :: Int -> Int -> IO IM
-im_ones__4 = casadi__IM__ones__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__operator__plus" c_casadi__IM__operator__plus
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi__IM__operator__plus
-  :: IM -> IO IM
-casadi__IM__operator__plus x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__operator__plus errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_operator__plus :: IMClass a => a -> IO IM
-im_operator__plus x = casadi__IM__operator__plus (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__operator__minus" c_casadi__IM__operator__minus
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi__IM__operator__minus
-  :: IM -> IO IM
-casadi__IM__operator__minus x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__operator__minus errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_operator__minus :: IMClass a => a -> IO IM
-im_operator__minus x = casadi__IM__operator__minus (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__operator_double" c_casadi__IM__operator_double
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CDouble
-
-casadi__IM__operator_double
-  :: IM -> IO Double
-casadi__IM__operator_double x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__operator_double errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_operator_double :: IMClass a => a -> IO Double
-im_operator_double x = casadi__IM__operator_double (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__operator_int" c_casadi__IM__operator_int
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__operator_int
-  :: IM -> IO Int
-casadi__IM__operator_int x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__operator_int errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_operator_int :: IMClass a => a -> IO Int
-im_operator_int x = casadi__IM__operator_int (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__print_dense" c_casadi__IM__print_dense
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO ()
-
-casadi__IM__print_dense
-  :: IM -> IO ()
-casadi__IM__print_dense x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__print_dense errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-im_print_dense :: IMClass a => a -> IO ()
-im_print_dense x = casadi__IM__print_dense (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__print_scalar" c_casadi__IM__print_scalar
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO ()
-
-casadi__IM__print_scalar
-  :: IM -> IO ()
-casadi__IM__print_scalar x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__print_scalar errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-im_print_scalar :: IMClass a => a -> IO ()
-im_print_scalar x = casadi__IM__print_scalar (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__print_sparse" c_casadi__IM__print_sparse
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO ()
-
-casadi__IM__print_sparse
-  :: IM -> IO ()
-casadi__IM__print_sparse x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__print_sparse errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-im_print_sparse :: IMClass a => a -> IO ()
-im_print_sparse x = casadi__IM__print_sparse (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__print_split" c_casadi__IM__print_split
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr (StdVec (Ptr StdString))) -> Ptr (Ptr (StdVec (Ptr StdString))) -> IO ()
-
-casadi__IM__print_split
-  :: IM -> IO (Vector String, Vector String)
-casadi__IM__print_split x0 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__print_split errStrPtrP x0' o1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__print_split/c_casadi__IM__print_split" else wrapReturn o1''
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__IM__print_split/c_casadi__IM__print_split" else wrapReturn o2''
-
-  return (o1''', o2''')
-
-
-
--- classy wrapper
-im_print_split :: IMClass a => a -> IO (Vector String, Vector String)
-im_print_split x = casadi__IM__print_split (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__print_vector" c_casadi__IM__print_vector
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO ()
-
-casadi__IM__print_vector
-  :: IM -> IO ()
-casadi__IM__print_vector x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__print_vector errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-im_print_vector :: IMClass a => a -> IO ()
-im_print_vector x = casadi__IM__print_vector (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__printme" c_casadi__IM__printme
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi__IM__printme
-  :: IM -> IM -> IO IM
-casadi__IM__printme x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__printme errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_printme :: IMClass a => a -> IM -> IO IM
-im_printme x = casadi__IM__printme (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__remove" c_casadi__IM__remove
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-
-casadi__IM__remove
-  :: IM -> Vector Int -> Vector Int -> IO ()
-casadi__IM__remove x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__remove errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-im_remove :: IMClass a => a -> Vector Int -> Vector Int -> IO ()
-im_remove x = casadi__IM__remove (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__reserve__0" c_casadi__IM__reserve__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> CInt -> IO ()
-
-casadi__IM__reserve__0
-  :: IM -> Int -> Int -> IO ()
-casadi__IM__reserve__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__reserve__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-im_reserve__0 :: IMClass a => a -> Int -> Int -> IO ()
-im_reserve__0 x = casadi__IM__reserve__0 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__reserve__1" c_casadi__IM__reserve__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO ()
-
-casadi__IM__reserve__1
-  :: IM -> Int -> IO ()
-casadi__IM__reserve__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__reserve__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-im_reserve__1 :: IMClass a => a -> Int -> IO ()
-im_reserve__1 x = casadi__IM__reserve__1 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__resetInput" c_casadi__IM__resetInput
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO ()
-
-casadi__IM__resetInput
-  :: IM -> IO ()
-casadi__IM__resetInput x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__resetInput errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-im_resetInput :: IMClass a => a -> IO ()
-im_resetInput x = casadi__IM__resetInput (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__resize" c_casadi__IM__resize
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> CInt -> IO ()
-
-casadi__IM__resize
-  :: IM -> Int -> Int -> IO ()
-casadi__IM__resize x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__resize errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-im_resize :: IMClass a => a -> Int -> Int -> IO ()
-im_resize x = casadi__IM__resize (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__row" c_casadi__IM__row
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO CInt
-
-casadi__IM__row
-  :: IM -> Int -> IO Int
-casadi__IM__row x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__row errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_row :: IMClass a => a -> Int -> IO Int
-im_row x = casadi__IM__row (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__sanity_check__0" c_casadi__IM__sanity_check__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO ()
-
-casadi__IM__sanity_check__0
-  :: IM -> IO ()
-casadi__IM__sanity_check__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__sanity_check__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-im_sanity_check__0 :: IMClass a => a -> IO ()
-im_sanity_check__0 x = casadi__IM__sanity_check__0 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__sanity_check__1" c_casadi__IM__sanity_check__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO ()
-
-casadi__IM__sanity_check__1
-  :: IM -> Bool -> IO ()
-casadi__IM__sanity_check__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__sanity_check__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-im_sanity_check__1 :: IMClass a => a -> Bool -> IO ()
-im_sanity_check__1 x = casadi__IM__sanity_check__1 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__scalar_matrix" c_casadi__IM__scalar_matrix
-  :: Ptr (Ptr StdString) -> CInt -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi__IM__scalar_matrix
-  :: Int -> IM -> IM -> IO IM
-casadi__IM__scalar_matrix x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__scalar_matrix errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_scalar_matrix :: Int -> IM -> IM -> IO IM
-im_scalar_matrix = casadi__IM__scalar_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__set__0" c_casadi__IM__set__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
-
-casadi__IM__set__0
-  :: IM -> IM -> Bool -> IM -> IM -> IO ()
-casadi__IM__set__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__set__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-im_set__0 :: IMClass a => a -> IM -> Bool -> IM -> IM -> IO ()
-im_set__0 x = casadi__IM__set__0 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__set__1" c_casadi__IM__set__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
-
-casadi__IM__set__1
-  :: IM -> IM -> Bool -> IM -> Slice -> IO ()
-casadi__IM__set__1 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__set__1 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-im_set__1 :: IMClass a => a -> IM -> Bool -> IM -> Slice -> IO ()
-im_set__1 x = casadi__IM__set__1 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__set__2" c_casadi__IM__set__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
-
-casadi__IM__set__2
-  :: IM -> IM -> Bool -> Slice -> IM -> IO ()
-casadi__IM__set__2 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__set__2 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-im_set__2 :: IMClass a => a -> IM -> Bool -> Slice -> IM -> IO ()
-im_set__2 x = casadi__IM__set__2 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__set__3" c_casadi__IM__set__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
-
-casadi__IM__set__3
-  :: IM -> IM -> Bool -> Slice -> Slice -> IO ()
-casadi__IM__set__3 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__set__3 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-im_set__3 :: IMClass a => a -> IM -> Bool -> Slice -> Slice -> IO ()
-im_set__3 x = casadi__IM__set__3 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__set__4" c_casadi__IM__set__4
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr Sparsity' -> IO ()
-
-casadi__IM__set__4
-  :: IM -> IM -> Bool -> Sparsity -> IO ()
-casadi__IM__set__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__set__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-im_set__4 :: IMClass a => a -> IM -> Bool -> Sparsity -> IO ()
-im_set__4 x = casadi__IM__set__4 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__set__5" c_casadi__IM__set__5
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr IM' -> IO ()
-
-casadi__IM__set__5
-  :: IM -> IM -> Bool -> IM -> IO ()
-casadi__IM__set__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__set__5 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-im_set__5 :: IMClass a => a -> IM -> Bool -> IM -> IO ()
-im_set__5 x = casadi__IM__set__5 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__set__6" c_casadi__IM__set__6
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr Slice' -> IO ()
-
-casadi__IM__set__6
-  :: IM -> IM -> Bool -> Slice -> IO ()
-casadi__IM__set__6 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__set__6 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-im_set__6 :: IMClass a => a -> IM -> Bool -> Slice -> IO ()
-im_set__6 x = casadi__IM__set__6 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__setEqualityCheckingDepth__0" c_casadi__IM__setEqualityCheckingDepth__0
-  :: Ptr (Ptr StdString) -> IO ()
-
-casadi__IM__setEqualityCheckingDepth__0
-  :: IO ()
-casadi__IM__setEqualityCheckingDepth__0  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__setEqualityCheckingDepth__0 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ()
-
-
-
--- classy wrapper
-im_setEqualityCheckingDepth__0 :: IO ()
-im_setEqualityCheckingDepth__0 = casadi__IM__setEqualityCheckingDepth__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__setEqualityCheckingDepth__1" c_casadi__IM__setEqualityCheckingDepth__1
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-
-casadi__IM__setEqualityCheckingDepth__1
-  :: Int -> IO ()
-casadi__IM__setEqualityCheckingDepth__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__setEqualityCheckingDepth__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-im_setEqualityCheckingDepth__1 :: Int -> IO ()
-im_setEqualityCheckingDepth__1 = casadi__IM__setEqualityCheckingDepth__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__setPrecision" c_casadi__IM__setPrecision
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-
-casadi__IM__setPrecision
-  :: Int -> IO ()
-casadi__IM__setPrecision x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__setPrecision errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-im_setPrecision :: Int -> IO ()
-im_setPrecision = casadi__IM__setPrecision
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__setScientific" c_casadi__IM__setScientific
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-
-casadi__IM__setScientific
-  :: Bool -> IO ()
-casadi__IM__setScientific x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__setScientific errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-im_setScientific :: Bool -> IO ()
-im_setScientific = casadi__IM__setScientific
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__setWidth" c_casadi__IM__setWidth
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-
-casadi__IM__setWidth
-  :: Int -> IO ()
-casadi__IM__setWidth x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__setWidth errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-im_setWidth :: Int -> IO ()
-im_setWidth = casadi__IM__setWidth
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__set_nz__0" c_casadi__IM__set_nz__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr IM' -> IO ()
-
-casadi__IM__set_nz__0
-  :: IM -> IM -> Bool -> IM -> IO ()
-casadi__IM__set_nz__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__set_nz__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-im_set_nz__0 :: IMClass a => a -> IM -> Bool -> IM -> IO ()
-im_set_nz__0 x = casadi__IM__set_nz__0 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__set_nz__1" c_casadi__IM__set_nz__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr Slice' -> IO ()
-
-casadi__IM__set_nz__1
-  :: IM -> IM -> Bool -> Slice -> IO ()
-casadi__IM__set_nz__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__set_nz__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-im_set_nz__1 :: IMClass a => a -> IM -> Bool -> Slice -> IO ()
-im_set_nz__1 x = casadi__IM__set_nz__1 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__size__0" c_casadi__IM__size__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO CInt
-
-casadi__IM__size__0
-  :: IM -> Int -> IO Int
-casadi__IM__size__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__size__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_size__0 :: IMClass a => a -> Int -> IO Int
-im_size__0 x = casadi__IM__size__0 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__size__1" c_casadi__IM__size__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdPair CInt CInt))
-
-casadi__IM__size__1
-  :: IM -> IO (Int, Int)
-casadi__IM__size__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__size__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_size__1 :: IMClass a => a -> IO (Int, Int)
-im_size__1 x = casadi__IM__size__1 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__size1" c_casadi__IM__size1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__size1
-  :: IM -> IO Int
-casadi__IM__size1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__size1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_size1 :: IMClass a => a -> IO Int
-im_size1 x = casadi__IM__size1 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__size2" c_casadi__IM__size2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi__IM__size2
-  :: IM -> IO Int
-casadi__IM__size2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__size2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_size2 :: IMClass a => a -> IO Int
-im_size2 x = casadi__IM__size2 (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__sparsity" c_casadi__IM__sparsity
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr Sparsity')
-
-casadi__IM__sparsity
-  :: IM -> IO Sparsity
-casadi__IM__sparsity x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__sparsity errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_sparsity :: IMClass a => a -> IO Sparsity
-im_sparsity x = casadi__IM__sparsity (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__sym__0" c_casadi__IM__sym__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
-
-casadi__IM__sym__0
-  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector IM))
-casadi__IM__sym__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__sym__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-im_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector IM))
-im_sym__0 = casadi__IM__sym__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__sym__1" c_casadi__IM__sym__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
-
-casadi__IM__sym__1
-  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector IM))
-casadi__IM__sym__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__sym__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-im_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector IM))
-im_sym__1 = casadi__IM__sym__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__sym__2" c_casadi__IM__sym__2
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi__IM__sym__2
-  :: String -> Int -> Int -> Int -> IO (Vector IM)
-casadi__IM__sym__2 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__sym__2 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-im_sym__2 :: String -> Int -> Int -> Int -> IO (Vector IM)
-im_sym__2 = casadi__IM__sym__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__sym__3" c_casadi__IM__sym__3
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi__IM__sym__3
-  :: String -> Sparsity -> Int -> IO (Vector IM)
-casadi__IM__sym__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__sym__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_sym__3 :: String -> Sparsity -> Int -> IO (Vector IM)
-im_sym__3 = casadi__IM__sym__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__sym__4" c_casadi__IM__sym__4
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr IM')
-
-casadi__IM__sym__4
-  :: String -> Sparsity -> IO IM
-casadi__IM__sym__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__sym__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_sym__4 :: String -> Sparsity -> IO IM
-im_sym__4 = casadi__IM__sym__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__sym__5" c_casadi__IM__sym__5
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdPair CInt CInt) -> IO (Ptr IM')
-
-casadi__IM__sym__5
-  :: String -> (Int, Int) -> IO IM
-casadi__IM__sym__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__sym__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_sym__5 :: String -> (Int, Int) -> IO IM
-im_sym__5 = casadi__IM__sym__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__sym__6" c_casadi__IM__sym__6
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr IM')
-
-casadi__IM__sym__6
-  :: String -> IO IM
-casadi__IM__sym__6 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__sym__6 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_sym__6 :: String -> IO IM
-im_sym__6 = casadi__IM__sym__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__sym__7" c_casadi__IM__sym__7
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> IO (Ptr IM')
-
-casadi__IM__sym__7
-  :: String -> Int -> IO IM
-casadi__IM__sym__7 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__sym__7 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_sym__7 :: String -> Int -> IO IM
-im_sym__7 = casadi__IM__sym__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__sym__8" c_casadi__IM__sym__8
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__sym__8
-  :: String -> Int -> Int -> IO IM
-casadi__IM__sym__8 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__sym__8 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_sym__8 :: String -> Int -> Int -> IO IM
-im_sym__8 = casadi__IM__sym__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__tang__0" c_casadi__IM__tang__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr IM')
-
-casadi__IM__tang__0
-  :: Function -> String -> String -> IO IM
-casadi__IM__tang__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__tang__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_tang__0 :: Function -> String -> String -> IO IM
-im_tang__0 = casadi__IM__tang__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__tang__1" c_casadi__IM__tang__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr IM')
-
-casadi__IM__tang__1
-  :: Function -> Int -> String -> IO IM
-casadi__IM__tang__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__tang__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_tang__1 :: Function -> Int -> String -> IO IM
-im_tang__1 = casadi__IM__tang__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__tang__2" c_casadi__IM__tang__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr IM')
-
-casadi__IM__tang__2
-  :: Function -> String -> IO IM
-casadi__IM__tang__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__tang__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_tang__2 :: Function -> String -> IO IM
-im_tang__2 = casadi__IM__tang__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__tang__3" c_casadi__IM__tang__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr IM')
-
-casadi__IM__tang__3
-  :: Function -> String -> Int -> IO IM
-casadi__IM__tang__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__tang__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_tang__3 :: Function -> String -> Int -> IO IM
-im_tang__3 = casadi__IM__tang__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__tang__4" c_casadi__IM__tang__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr IM')
-
-casadi__IM__tang__4
-  :: Function -> IO IM
-casadi__IM__tang__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__tang__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_tang__4 :: Function -> IO IM
-im_tang__4 = casadi__IM__tang__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__tang__5" c_casadi__IM__tang__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr IM')
-
-casadi__IM__tang__5
-  :: Function -> Int -> IO IM
-casadi__IM__tang__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__tang__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_tang__5 :: Function -> Int -> IO IM
-im_tang__5 = casadi__IM__tang__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__tang__6" c_casadi__IM__tang__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__tang__6
-  :: Function -> Int -> Int -> IO IM
-casadi__IM__tang__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__tang__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_tang__6 :: Function -> Int -> Int -> IO IM
-im_tang__6 = casadi__IM__tang__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__triplet__0" c_casadi__IM__triplet__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr IM' -> Ptr (StdPair CInt CInt) -> IO (Ptr IM')
-
-casadi__IM__triplet__0
-  :: Vector Int -> Vector Int -> IM -> (Int, Int) -> IO IM
-casadi__IM__triplet__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__triplet__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-im_triplet__0 :: Vector Int -> Vector Int -> IM -> (Int, Int) -> IO IM
-im_triplet__0 = casadi__IM__triplet__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__triplet__1" c_casadi__IM__triplet__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr IM' -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__triplet__1
-  :: Vector Int -> Vector Int -> IM -> Int -> Int -> IO IM
-casadi__IM__triplet__1 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__triplet__1 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-im_triplet__1 :: Vector Int -> Vector Int -> IM -> Int -> Int -> IO IM
-im_triplet__1 = casadi__IM__triplet__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__triplet__2" c_casadi__IM__triplet__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr IM' -> IO (Ptr IM')
-
-casadi__IM__triplet__2
-  :: Vector Int -> Vector Int -> IM -> IO IM
-casadi__IM__triplet__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__triplet__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-im_triplet__2 :: Vector Int -> Vector Int -> IM -> IO IM
-im_triplet__2 = casadi__IM__triplet__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__type_name" c_casadi__IM__type_name
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__IM__type_name
-  :: IO String
-casadi__IM__type_name  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__type_name errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-im_type_name :: IO String
-im_type_name = casadi__IM__type_name
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__unary" c_casadi__IM__unary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr IM' -> IO (Ptr IM')
-
-casadi__IM__unary
-  :: Int -> IM -> IO IM
-casadi__IM__unary x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__unary errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_unary :: Int -> IM -> IO IM
-im_unary = casadi__IM__unary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__zeros__0" c_casadi__IM__zeros__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr IM')
-
-casadi__IM__zeros__0
-  :: (Int, Int) -> IO IM
-casadi__IM__zeros__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__zeros__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_zeros__0 :: (Int, Int) -> IO IM
-im_zeros__0 = casadi__IM__zeros__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__zeros__1" c_casadi__IM__zeros__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IM')
-
-casadi__IM__zeros__1
-  :: Sparsity -> IO IM
-casadi__IM__zeros__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__zeros__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_zeros__1 :: Sparsity -> IO IM
-im_zeros__1 = casadi__IM__zeros__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__zeros__2" c_casadi__IM__zeros__2
-  :: Ptr (Ptr StdString) -> IO (Ptr IM')
-
-casadi__IM__zeros__2
-  :: IO IM
-casadi__IM__zeros__2  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__zeros__2 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-im_zeros__2 :: IO IM
-im_zeros__2 = casadi__IM__zeros__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__zeros__3" c_casadi__IM__zeros__3
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IM')
-
-casadi__IM__zeros__3
-  :: Int -> IO IM
-casadi__IM__zeros__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__zeros__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_zeros__3 :: Int -> IO IM
-im_zeros__3 = casadi__IM__zeros__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__zeros__4" c_casadi__IM__zeros__4
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IM')
-
-casadi__IM__zeros__4
-  :: Int -> Int -> IO IM
-casadi__IM__zeros__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__zeros__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-im_zeros__4 :: Int -> Int -> IO IM
-im_zeros__4 = casadi__IM__zeros__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__getRepresentation" c_casadi__IM__getRepresentation
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr StdString)
-
-casadi__IM__getRepresentation
-  :: IM -> IO String
-casadi__IM__getRepresentation x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__getRepresentation errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_getRepresentation :: IMClass a => a -> IO String
-im_getRepresentation x = casadi__IM__getRepresentation (castIM x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IM__getDescription" c_casadi__IM__getDescription
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr StdString)
-
-casadi__IM__getDescription
-  :: IM -> IO String
-casadi__IM__getDescription x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__IM__getDescription errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-im_getDescription :: IMClass a => a -> IO String
-im_getDescription x = casadi__IM__getDescription (castIM x)
+         im_columns,
+         im_dep__0,
+         im_dep__1,
+         im_dim__0,
+         im_dim__1,
+         im_element_hash,
+         im_enlarge__0,
+         im_enlarge__1,
+         im_erase__0,
+         im_erase__1,
+         im_erase__2,
+         im_erase__3,
+         im_export_code,
+         im_eye,
+         im_from_info,
+         im_get__0,
+         im_get__1,
+         im_get__2,
+         im_get__3,
+         im_get__4,
+         im_get__5,
+         im_get__6,
+         im_get_colind,
+         im_get_elements,
+         im_get_free,
+         im_get_input,
+         im_get_max_depth,
+         im_get_nonzeros,
+         im_get_nz__0,
+         im_get_nz__1,
+         im_get_row,
+         im_get_sparsity,
+         im_get_str__0,
+         im_get_str__1,
+         im_has_duplicates,
+         im_has_nz,
+         im_has_zeros,
+         im_inf__0,
+         im_inf__1,
+         im_inf__2,
+         im_inf__3,
+         im_inf__4,
+         im_info,
+         im_is_column,
+         im_is_commutative,
+         im_is_constant,
+         im_is_dense,
+         im_is_empty__0,
+         im_is_empty__1,
+         im_is_eye,
+         im_is_integer,
+         im_is_leaf,
+         im_is_minus_one,
+         im_is_one,
+         im_is_op,
+         im_is_regular,
+         im_is_row,
+         im_is_scalar__0,
+         im_is_scalar__1,
+         im_is_smooth,
+         im_is_square,
+         im_is_symbolic,
+         im_is_tril,
+         im_is_triu,
+         im_is_valid_input,
+         im_is_vector,
+         im_is_zero,
+         im_matrix_matrix,
+         im_matrix_scalar,
+         im_n_dep,
+         im_name,
+         im_nan__0,
+         im_nan__1,
+         im_nan__2,
+         im_nan__3,
+         im_nan__4,
+         im_nnz,
+         im_nnz_diag,
+         im_nnz_lower,
+         im_nnz_upper,
+         im_numel,
+         im_ones__0,
+         im_ones__1,
+         im_ones__2,
+         im_ones__3,
+         im_ones__4,
+         im_op,
+         im_operator__minus,
+         im_operator__plus,
+         im_operator_casadi_int,
+         im_operator_double,
+         im_print_split,
+         im_printme,
+         im_rand__0,
+         im_rand__1,
+         im_rand__2,
+         im_rand__3,
+         im_rand__4,
+         im_remove,
+         im_reserve__0,
+         im_reserve__1,
+         im_reset_input,
+         im_resize,
+         im_rng,
+         im_row,
+         im_rows,
+         im_scalar_matrix,
+         im_set__0,
+         im_set__1,
+         im_set__2,
+         im_set__3,
+         im_set__4,
+         im_set__5,
+         im_set__6,
+         im_set_max_depth__0,
+         im_set_max_depth__1,
+         im_set_nz__0,
+         im_set_nz__1,
+         im_set_precision,
+         im_set_scientific,
+         im_set_width,
+         im_size1,
+         im_size2,
+         im_size__0,
+         im_size__1,
+         im_sparsity,
+         im_sym__0,
+         im_sym__1,
+         im_sym__2,
+         im_sym__3,
+         im_sym__4,
+         im_sym__5,
+         im_sym__6,
+         im_sym__7,
+         im_sym__8,
+         im_to_file__0,
+         im_to_file__1,
+         im_triplet__0,
+         im_triplet__1,
+         im_triplet__2,
+         im_type_name,
+         im_unary,
+         im_zeros__0,
+         im_zeros__1,
+         im_zeros__2,
+         im_zeros__3,
+         im_zeros__4,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__0" c_casadi__IM__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr IM')
+
+casadi__IM__CONSTRUCTOR__0
+  :: SX -> IO IM
+casadi__IM__CONSTRUCTOR__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__CONSTRUCTOR__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im__0 :: SX -> IO IM
+im__0 = casadi__IM__CONSTRUCTOR__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__1" c_casadi__IM__CONSTRUCTOR__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElem')) -> IO (Ptr IM')
+
+casadi__IM__CONSTRUCTOR__1
+  :: Vector SXElem -> IO IM
+casadi__IM__CONSTRUCTOR__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__CONSTRUCTOR__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im__1 :: Vector SXElem -> IO IM
+im__1 = casadi__IM__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__2" c_casadi__IM__CONSTRUCTOR__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr IM')
+
+casadi__IM__CONSTRUCTOR__2
+  :: DM -> IO IM
+casadi__IM__CONSTRUCTOR__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__CONSTRUCTOR__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im__2 :: DM -> IO IM
+im__2 = casadi__IM__CONSTRUCTOR__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__3" c_casadi__IM__CONSTRUCTOR__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr IM')
+
+casadi__IM__CONSTRUCTOR__3
+  :: Vector Double -> IO IM
+casadi__IM__CONSTRUCTOR__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__CONSTRUCTOR__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im__3 :: Vector Double -> IO IM
+im__3 = casadi__IM__CONSTRUCTOR__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__4" c_casadi__IM__CONSTRUCTOR__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec CDouble))) -> IO (Ptr IM')
+
+casadi__IM__CONSTRUCTOR__4
+  :: Vector (Vector Double) -> IO IM
+casadi__IM__CONSTRUCTOR__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__CONSTRUCTOR__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im__4 :: Vector (Vector Double) -> IO IM
+im__4 = casadi__IM__CONSTRUCTOR__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__5" c_casadi__IM__CONSTRUCTOR__5
+  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr IM')
+
+casadi__IM__CONSTRUCTOR__5
+  :: Double -> IO IM
+casadi__IM__CONSTRUCTOR__5 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__CONSTRUCTOR__5 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im__5 :: Double -> IO IM
+im__5 = casadi__IM__CONSTRUCTOR__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__6" c_casadi__IM__CONSTRUCTOR__6
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr IM' -> IO (Ptr IM')
+
+casadi__IM__CONSTRUCTOR__6
+  :: Sparsity -> IM -> IO IM
+casadi__IM__CONSTRUCTOR__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__CONSTRUCTOR__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im__6 :: Sparsity -> IM -> IO IM
+im__6 = casadi__IM__CONSTRUCTOR__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__7" c_casadi__IM__CONSTRUCTOR__7
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IM')
+
+casadi__IM__CONSTRUCTOR__7
+  :: Sparsity -> IO IM
+casadi__IM__CONSTRUCTOR__7 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__CONSTRUCTOR__7 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im__7 :: Sparsity -> IO IM
+im__7 = casadi__IM__CONSTRUCTOR__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__8" c_casadi__IM__CONSTRUCTOR__8
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr IM')
+
+casadi__IM__CONSTRUCTOR__8
+  :: Int -> Int -> IO IM
+casadi__IM__CONSTRUCTOR__8 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__CONSTRUCTOR__8 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im__8 :: Int -> Int -> IO IM
+im__8 = casadi__IM__CONSTRUCTOR__8
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__9" c_casadi__IM__CONSTRUCTOR__9
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi__IM__CONSTRUCTOR__9
+  :: IM -> IO IM
+casadi__IM__CONSTRUCTOR__9 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__CONSTRUCTOR__9 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im__9 :: IM -> IO IM
+im__9 = casadi__IM__CONSTRUCTOR__9
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__10" c_casadi__IM__CONSTRUCTOR__10
+  :: Ptr (Ptr StdString) -> IO (Ptr IM')
+
+casadi__IM__CONSTRUCTOR__10
+  :: IO IM
+casadi__IM__CONSTRUCTOR__10  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__CONSTRUCTOR__10 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+im__10 :: IO IM
+im__10 = casadi__IM__CONSTRUCTOR__10
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__T" c_casadi__IM__T
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi__IM__T
+  :: IM -> IO IM
+casadi__IM__T x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__T errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_T :: IMClass a => a -> IO IM
+im_T x = casadi__IM__T (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM____nonzero__" c_casadi__IM____nonzero__
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM____nonzero__
+  :: IM -> IO Bool
+casadi__IM____nonzero__ x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM____nonzero__ errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im___nonzero__ :: IMClass a => a -> IO Bool
+im___nonzero__ x = casadi__IM____nonzero__ (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__binary" c_casadi__IM__binary
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi__IM__binary
+  :: Int -> IM -> IM -> IO IM
+casadi__IM__binary x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__binary errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+im_binary :: Int -> IM -> IM -> IO IM
+im_binary = casadi__IM__binary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__clear" c_casadi__IM__clear
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO ()
+
+casadi__IM__clear
+  :: IM -> IO ()
+casadi__IM__clear x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__clear errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+im_clear :: IMClass a => a -> IO ()
+im_clear x = casadi__IM__clear (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__colind" c_casadi__IM__colind
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> IO CLLong
+
+casadi__IM__colind
+  :: IM -> Int -> IO Int
+casadi__IM__colind x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__colind errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_colind :: IMClass a => a -> Int -> IO Int
+im_colind x = casadi__IM__colind (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__columns" c_casadi__IM__columns
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi__IM__columns
+  :: IM -> IO Int
+casadi__IM__columns x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__columns errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_columns :: IMClass a => a -> IO Int
+im_columns x = casadi__IM__columns (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__dep__0" c_casadi__IM__dep__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi__IM__dep__0
+  :: IM -> IO IM
+casadi__IM__dep__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__dep__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_dep__0 :: IMClass a => a -> IO IM
+im_dep__0 x = casadi__IM__dep__0 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__dep__1" c_casadi__IM__dep__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> IO (Ptr IM')
+
+casadi__IM__dep__1
+  :: IM -> Int -> IO IM
+casadi__IM__dep__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__dep__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_dep__1 :: IMClass a => a -> Int -> IO IM
+im_dep__1 x = casadi__IM__dep__1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__dim__0" c_casadi__IM__dim__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr StdString)
+
+casadi__IM__dim__0
+  :: IM -> IO String
+casadi__IM__dim__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__dim__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_dim__0 :: IMClass a => a -> IO String
+im_dim__0 x = casadi__IM__dim__0 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__dim__1" c_casadi__IM__dim__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr StdString)
+
+casadi__IM__dim__1
+  :: IM -> Bool -> IO String
+casadi__IM__dim__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__dim__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_dim__1 :: IMClass a => a -> Bool -> IO String
+im_dim__1 x = casadi__IM__dim__1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__element_hash" c_casadi__IM__element_hash
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi__IM__element_hash
+  :: IM -> IO Int
+casadi__IM__element_hash x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__element_hash errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_element_hash :: IMClass a => a -> IO Int
+im_element_hash x = casadi__IM__element_hash (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__enlarge__0" c_casadi__IM__enlarge__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__IM__enlarge__0
+  :: IM -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+casadi__IM__enlarge__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+im_enlarge__0 :: IMClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+im_enlarge__0 x = casadi__IM__enlarge__0 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__enlarge__1" c_casadi__IM__enlarge__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__IM__enlarge__1
+  :: IM -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__IM__enlarge__1 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ()
+
+
+
+-- classy wrapper
+im_enlarge__1 :: IMClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+im_enlarge__1 x = casadi__IM__enlarge__1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__erase__0" c_casadi__IM__erase__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__IM__erase__0
+  :: IM -> Vector Int -> IO ()
+casadi__IM__erase__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__erase__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+im_erase__0 :: IMClass a => a -> Vector Int -> IO ()
+im_erase__0 x = casadi__IM__erase__0 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__erase__1" c_casadi__IM__erase__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__IM__erase__1
+  :: IM -> Vector Int -> Bool -> IO ()
+casadi__IM__erase__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__erase__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+im_erase__1 :: IMClass a => a -> Vector Int -> Bool -> IO ()
+im_erase__1 x = casadi__IM__erase__1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__erase__2" c_casadi__IM__erase__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__IM__erase__2
+  :: IM -> Vector Int -> Vector Int -> IO ()
+casadi__IM__erase__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__erase__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+im_erase__2 :: IMClass a => a -> Vector Int -> Vector Int -> IO ()
+im_erase__2 x = casadi__IM__erase__2 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__erase__3" c_casadi__IM__erase__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__IM__erase__3
+  :: IM -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__IM__erase__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__erase__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+im_erase__3 :: IMClass a => a -> Vector Int -> Vector Int -> Bool -> IO ()
+im_erase__3 x = casadi__IM__erase__3 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__export_code" c_casadi__IM__export_code
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr StdString -> IO ()
+
+casadi__IM__export_code
+  :: IM -> String -> IO ()
+casadi__IM__export_code x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__export_code errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+im_export_code :: IMClass a => a -> String -> IO ()
+im_export_code x = casadi__IM__export_code (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__eye" c_casadi__IM__eye
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr IM')
+
+casadi__IM__eye
+  :: Int -> IO IM
+casadi__IM__eye x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__eye errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_eye :: Int -> IO IM
+im_eye = casadi__IM__eye
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__from_info" c_casadi__IM__from_info
+  :: Ptr (Ptr StdString) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr IM')
+
+casadi__IM__from_info
+  :: M.Map String GenericType -> IO IM
+casadi__IM__from_info x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__from_info errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_from_info :: M.Map String GenericType -> IO IM
+im_from_info = casadi__IM__from_info
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get__0" c_casadi__IM__get__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
+
+casadi__IM__get__0
+  :: IM -> Bool -> IM -> IM -> IO (IM)
+casadi__IM__get__0 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get__0 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get__0/c_casadi__IM__get__0" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+im_get__0 :: IMClass a => a -> Bool -> IM -> IM -> IO (IM)
+im_get__0 x = casadi__IM__get__0 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get__1" c_casadi__IM__get__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
+
+casadi__IM__get__1
+  :: IM -> Bool -> IM -> Slice -> IO (IM)
+casadi__IM__get__1 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get__1 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get__1/c_casadi__IM__get__1" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+im_get__1 :: IMClass a => a -> Bool -> IM -> Slice -> IO (IM)
+im_get__1 x = casadi__IM__get__1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get__2" c_casadi__IM__get__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
+
+casadi__IM__get__2
+  :: IM -> Bool -> Slice -> IM -> IO (IM)
+casadi__IM__get__2 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get__2 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get__2/c_casadi__IM__get__2" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+im_get__2 :: IMClass a => a -> Bool -> Slice -> IM -> IO (IM)
+im_get__2 x = casadi__IM__get__2 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get__3" c_casadi__IM__get__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
+
+casadi__IM__get__3
+  :: IM -> Bool -> Slice -> Slice -> IO (IM)
+casadi__IM__get__3 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get__3 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get__3/c_casadi__IM__get__3" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+im_get__3 :: IMClass a => a -> Bool -> Slice -> Slice -> IO (IM)
+im_get__3 x = casadi__IM__get__3 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get__4" c_casadi__IM__get__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr Sparsity' -> IO ()
+
+casadi__IM__get__4
+  :: IM -> Bool -> Sparsity -> IO (IM)
+casadi__IM__get__4 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get__4 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get__4/c_casadi__IM__get__4" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+im_get__4 :: IMClass a => a -> Bool -> Sparsity -> IO (IM)
+im_get__4 x = casadi__IM__get__4 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get__5" c_casadi__IM__get__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr IM' -> IO ()
+
+casadi__IM__get__5
+  :: IM -> Bool -> IM -> IO (IM)
+casadi__IM__get__5 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get__5 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get__5/c_casadi__IM__get__5" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+im_get__5 :: IMClass a => a -> Bool -> IM -> IO (IM)
+im_get__5 x = casadi__IM__get__5 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get__6" c_casadi__IM__get__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr Slice' -> IO ()
+
+casadi__IM__get__6
+  :: IM -> Bool -> Slice -> IO (IM)
+casadi__IM__get__6 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get__6 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get__6/c_casadi__IM__get__6" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+im_get__6 :: IMClass a => a -> Bool -> Slice -> IO (IM)
+im_get__6 x = casadi__IM__get__6 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get_colind" c_casadi__IM__get_colind
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec CLLong))
+
+casadi__IM__get_colind
+  :: IM -> IO (Vector Int)
+casadi__IM__get_colind x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get_colind errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_get_colind :: IMClass a => a -> IO (Vector Int)
+im_get_colind x = casadi__IM__get_colind (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get_elements" c_casadi__IM__get_elements
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec CLLong))
+
+casadi__IM__get_elements
+  :: IM -> IO (Vector Int)
+casadi__IM__get_elements x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get_elements errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_get_elements :: IMClass a => a -> IO (Vector Int)
+im_get_elements x = casadi__IM__get_elements (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get_free" c_casadi__IM__get_free
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi__IM__get_free
+  :: Function -> IO (Vector IM)
+casadi__IM__get_free x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get_free errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_get_free :: Function -> IO (Vector IM)
+im_get_free = casadi__IM__get_free
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get_input" c_casadi__IM__get_input
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi__IM__get_input
+  :: Function -> IO (Vector IM)
+casadi__IM__get_input x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get_input errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_get_input :: Function -> IO (Vector IM)
+im_get_input = casadi__IM__get_input
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get_max_depth" c_casadi__IM__get_max_depth
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+casadi__IM__get_max_depth
+  :: IO Int
+casadi__IM__get_max_depth  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get_max_depth errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+im_get_max_depth :: IO Int
+im_get_max_depth = casadi__IM__get_max_depth
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get_nonzeros" c_casadi__IM__get_nonzeros
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec CLLong))
+
+casadi__IM__get_nonzeros
+  :: IM -> IO (Vector Int)
+casadi__IM__get_nonzeros x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get_nonzeros errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_get_nonzeros :: IMClass a => a -> IO (Vector Int)
+im_get_nonzeros x = casadi__IM__get_nonzeros (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get_nz__0" c_casadi__IM__get_nz__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr IM' -> IO ()
+
+casadi__IM__get_nz__0
+  :: IM -> Bool -> IM -> IO (IM)
+casadi__IM__get_nz__0 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get_nz__0 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get_nz__0/c_casadi__IM__get_nz__0" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+im_get_nz__0 :: IMClass a => a -> Bool -> IM -> IO (IM)
+im_get_nz__0 x = casadi__IM__get_nz__0 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get_nz__1" c_casadi__IM__get_nz__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr IM') -> CInt -> Ptr Slice' -> IO ()
+
+casadi__IM__get_nz__1
+  :: IM -> Bool -> Slice -> IO (IM)
+casadi__IM__get_nz__1 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get_nz__1 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__get_nz__1/c_casadi__IM__get_nz__1" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+im_get_nz__1 :: IMClass a => a -> Bool -> Slice -> IO (IM)
+im_get_nz__1 x = casadi__IM__get_nz__1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get_row" c_casadi__IM__get_row
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec CLLong))
+
+casadi__IM__get_row
+  :: IM -> IO (Vector Int)
+casadi__IM__get_row x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get_row errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_get_row :: IMClass a => a -> IO (Vector Int)
+im_get_row x = casadi__IM__get_row (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get_sparsity" c_casadi__IM__get_sparsity
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr Sparsity')
+
+casadi__IM__get_sparsity
+  :: IM -> IO Sparsity
+casadi__IM__get_sparsity x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get_sparsity errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_get_sparsity :: IMClass a => a -> IO Sparsity
+im_get_sparsity x = casadi__IM__get_sparsity (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get_str__0" c_casadi__IM__get_str__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr StdString)
+
+casadi__IM__get_str__0
+  :: IM -> IO String
+casadi__IM__get_str__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get_str__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_get_str__0 :: IMClass a => a -> IO String
+im_get_str__0 x = casadi__IM__get_str__0 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__get_str__1" c_casadi__IM__get_str__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr StdString)
+
+casadi__IM__get_str__1
+  :: IM -> Bool -> IO String
+casadi__IM__get_str__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__get_str__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_get_str__1 :: IMClass a => a -> Bool -> IO String
+im_get_str__1 x = casadi__IM__get_str__1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__has_duplicates" c_casadi__IM__has_duplicates
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__has_duplicates
+  :: IM -> IO Bool
+casadi__IM__has_duplicates x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__has_duplicates errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_has_duplicates :: IMClass a => a -> IO Bool
+im_has_duplicates x = casadi__IM__has_duplicates (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__has_nz" c_casadi__IM__has_nz
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> CLLong -> IO CInt
+
+casadi__IM__has_nz
+  :: IM -> Int -> Int -> IO Bool
+casadi__IM__has_nz x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__has_nz errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+im_has_nz :: IMClass a => a -> Int -> Int -> IO Bool
+im_has_nz x = casadi__IM__has_nz (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__has_zeros" c_casadi__IM__has_zeros
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__has_zeros
+  :: IM -> IO Bool
+casadi__IM__has_zeros x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__has_zeros errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_has_zeros :: IMClass a => a -> IO Bool
+im_has_zeros x = casadi__IM__has_zeros (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__inf__0" c_casadi__IM__inf__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr IM')
+
+casadi__IM__inf__0
+  :: (Int, Int) -> IO IM
+casadi__IM__inf__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__inf__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_inf__0 :: (Int, Int) -> IO IM
+im_inf__0 = casadi__IM__inf__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__inf__1" c_casadi__IM__inf__1
+  :: Ptr (Ptr StdString) -> IO (Ptr IM')
+
+casadi__IM__inf__1
+  :: IO IM
+casadi__IM__inf__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__inf__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+im_inf__1 :: IO IM
+im_inf__1 = casadi__IM__inf__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__inf__2" c_casadi__IM__inf__2
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr IM')
+
+casadi__IM__inf__2
+  :: Int -> IO IM
+casadi__IM__inf__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__inf__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_inf__2 :: Int -> IO IM
+im_inf__2 = casadi__IM__inf__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__inf__3" c_casadi__IM__inf__3
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr IM')
+
+casadi__IM__inf__3
+  :: Int -> Int -> IO IM
+casadi__IM__inf__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__inf__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_inf__3 :: Int -> Int -> IO IM
+im_inf__3 = casadi__IM__inf__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__inf__4" c_casadi__IM__inf__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IM')
+
+casadi__IM__inf__4
+  :: Sparsity -> IO IM
+casadi__IM__inf__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__inf__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_inf__4 :: Sparsity -> IO IM
+im_inf__4 = casadi__IM__inf__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__info" c_casadi__IM__info
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdMap StdString (Ptr GenericType')))
+
+casadi__IM__info
+  :: IM -> IO (M.Map String GenericType)
+casadi__IM__info x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__info errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_info :: IMClass a => a -> IO (M.Map String GenericType)
+im_info x = casadi__IM__info (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_column" c_casadi__IM__is_column
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_column
+  :: IM -> IO Bool
+casadi__IM__is_column x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_column errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_column :: IMClass a => a -> IO Bool
+im_is_column x = casadi__IM__is_column (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_commutative" c_casadi__IM__is_commutative
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_commutative
+  :: IM -> IO Bool
+casadi__IM__is_commutative x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_commutative errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_commutative :: IMClass a => a -> IO Bool
+im_is_commutative x = casadi__IM__is_commutative (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_constant" c_casadi__IM__is_constant
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_constant
+  :: IM -> IO Bool
+casadi__IM__is_constant x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_constant errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_constant :: IMClass a => a -> IO Bool
+im_is_constant x = casadi__IM__is_constant (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_dense" c_casadi__IM__is_dense
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_dense
+  :: IM -> IO Bool
+casadi__IM__is_dense x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_dense errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_dense :: IMClass a => a -> IO Bool
+im_is_dense x = casadi__IM__is_dense (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_empty__0" c_casadi__IM__is_empty__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_empty__0
+  :: IM -> IO Bool
+casadi__IM__is_empty__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_empty__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_empty__0 :: IMClass a => a -> IO Bool
+im_is_empty__0 x = casadi__IM__is_empty__0 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_empty__1" c_casadi__IM__is_empty__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO CInt
+
+casadi__IM__is_empty__1
+  :: IM -> Bool -> IO Bool
+casadi__IM__is_empty__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_empty__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_empty__1 :: IMClass a => a -> Bool -> IO Bool
+im_is_empty__1 x = casadi__IM__is_empty__1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_eye" c_casadi__IM__is_eye
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_eye
+  :: IM -> IO Bool
+casadi__IM__is_eye x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_eye errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_eye :: IMClass a => a -> IO Bool
+im_is_eye x = casadi__IM__is_eye (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_integer" c_casadi__IM__is_integer
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_integer
+  :: IM -> IO Bool
+casadi__IM__is_integer x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_integer errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_integer :: IMClass a => a -> IO Bool
+im_is_integer x = casadi__IM__is_integer (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_leaf" c_casadi__IM__is_leaf
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_leaf
+  :: IM -> IO Bool
+casadi__IM__is_leaf x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_leaf errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_leaf :: IMClass a => a -> IO Bool
+im_is_leaf x = casadi__IM__is_leaf (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_minus_one" c_casadi__IM__is_minus_one
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_minus_one
+  :: IM -> IO Bool
+casadi__IM__is_minus_one x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_minus_one errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_minus_one :: IMClass a => a -> IO Bool
+im_is_minus_one x = casadi__IM__is_minus_one (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_one" c_casadi__IM__is_one
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_one
+  :: IM -> IO Bool
+casadi__IM__is_one x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_one errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_one :: IMClass a => a -> IO Bool
+im_is_one x = casadi__IM__is_one (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_op" c_casadi__IM__is_op
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> IO CInt
+
+casadi__IM__is_op
+  :: IM -> Int -> IO Bool
+casadi__IM__is_op x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_op errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_op :: IMClass a => a -> Int -> IO Bool
+im_is_op x = casadi__IM__is_op (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_regular" c_casadi__IM__is_regular
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_regular
+  :: IM -> IO Bool
+casadi__IM__is_regular x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_regular errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_regular :: IMClass a => a -> IO Bool
+im_is_regular x = casadi__IM__is_regular (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_row" c_casadi__IM__is_row
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_row
+  :: IM -> IO Bool
+casadi__IM__is_row x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_row errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_row :: IMClass a => a -> IO Bool
+im_is_row x = casadi__IM__is_row (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_scalar__0" c_casadi__IM__is_scalar__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_scalar__0
+  :: IM -> IO Bool
+casadi__IM__is_scalar__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_scalar__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_scalar__0 :: IMClass a => a -> IO Bool
+im_is_scalar__0 x = casadi__IM__is_scalar__0 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_scalar__1" c_casadi__IM__is_scalar__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO CInt
+
+casadi__IM__is_scalar__1
+  :: IM -> Bool -> IO Bool
+casadi__IM__is_scalar__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_scalar__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_scalar__1 :: IMClass a => a -> Bool -> IO Bool
+im_is_scalar__1 x = casadi__IM__is_scalar__1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_smooth" c_casadi__IM__is_smooth
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_smooth
+  :: IM -> IO Bool
+casadi__IM__is_smooth x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_smooth errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_smooth :: IMClass a => a -> IO Bool
+im_is_smooth x = casadi__IM__is_smooth (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_square" c_casadi__IM__is_square
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_square
+  :: IM -> IO Bool
+casadi__IM__is_square x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_square errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_square :: IMClass a => a -> IO Bool
+im_is_square x = casadi__IM__is_square (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_symbolic" c_casadi__IM__is_symbolic
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_symbolic
+  :: IM -> IO Bool
+casadi__IM__is_symbolic x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_symbolic errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_symbolic :: IMClass a => a -> IO Bool
+im_is_symbolic x = casadi__IM__is_symbolic (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_tril" c_casadi__IM__is_tril
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_tril
+  :: IM -> IO Bool
+casadi__IM__is_tril x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_tril errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_tril :: IMClass a => a -> IO Bool
+im_is_tril x = casadi__IM__is_tril (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_triu" c_casadi__IM__is_triu
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_triu
+  :: IM -> IO Bool
+casadi__IM__is_triu x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_triu errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_triu :: IMClass a => a -> IO Bool
+im_is_triu x = casadi__IM__is_triu (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_valid_input" c_casadi__IM__is_valid_input
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_valid_input
+  :: IM -> IO Bool
+casadi__IM__is_valid_input x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_valid_input errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_valid_input :: IMClass a => a -> IO Bool
+im_is_valid_input x = casadi__IM__is_valid_input (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_vector" c_casadi__IM__is_vector
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_vector
+  :: IM -> IO Bool
+casadi__IM__is_vector x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_vector errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_vector :: IMClass a => a -> IO Bool
+im_is_vector x = casadi__IM__is_vector (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__is_zero" c_casadi__IM__is_zero
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+casadi__IM__is_zero
+  :: IM -> IO Bool
+casadi__IM__is_zero x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__is_zero errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_is_zero :: IMClass a => a -> IO Bool
+im_is_zero x = casadi__IM__is_zero (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__matrix_matrix" c_casadi__IM__matrix_matrix
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi__IM__matrix_matrix
+  :: Int -> IM -> IM -> IO IM
+casadi__IM__matrix_matrix x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__matrix_matrix errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+im_matrix_matrix :: Int -> IM -> IM -> IO IM
+im_matrix_matrix = casadi__IM__matrix_matrix
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__matrix_scalar" c_casadi__IM__matrix_scalar
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi__IM__matrix_scalar
+  :: Int -> IM -> IM -> IO IM
+casadi__IM__matrix_scalar x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__matrix_scalar errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+im_matrix_scalar :: Int -> IM -> IM -> IO IM
+im_matrix_scalar = casadi__IM__matrix_scalar
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__n_dep" c_casadi__IM__n_dep
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi__IM__n_dep
+  :: IM -> IO Int
+casadi__IM__n_dep x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__n_dep errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_n_dep :: IMClass a => a -> IO Int
+im_n_dep x = casadi__IM__n_dep (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__name" c_casadi__IM__name
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr StdString)
+
+casadi__IM__name
+  :: IM -> IO String
+casadi__IM__name x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__name errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_name :: IMClass a => a -> IO String
+im_name x = casadi__IM__name (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__nan__0" c_casadi__IM__nan__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr IM')
+
+casadi__IM__nan__0
+  :: (Int, Int) -> IO IM
+casadi__IM__nan__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__nan__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_nan__0 :: (Int, Int) -> IO IM
+im_nan__0 = casadi__IM__nan__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__nan__1" c_casadi__IM__nan__1
+  :: Ptr (Ptr StdString) -> IO (Ptr IM')
+
+casadi__IM__nan__1
+  :: IO IM
+casadi__IM__nan__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__nan__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+im_nan__1 :: IO IM
+im_nan__1 = casadi__IM__nan__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__nan__2" c_casadi__IM__nan__2
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr IM')
+
+casadi__IM__nan__2
+  :: Int -> IO IM
+casadi__IM__nan__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__nan__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_nan__2 :: Int -> IO IM
+im_nan__2 = casadi__IM__nan__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__nan__3" c_casadi__IM__nan__3
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr IM')
+
+casadi__IM__nan__3
+  :: Int -> Int -> IO IM
+casadi__IM__nan__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__nan__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_nan__3 :: Int -> Int -> IO IM
+im_nan__3 = casadi__IM__nan__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__nan__4" c_casadi__IM__nan__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IM')
+
+casadi__IM__nan__4
+  :: Sparsity -> IO IM
+casadi__IM__nan__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__nan__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_nan__4 :: Sparsity -> IO IM
+im_nan__4 = casadi__IM__nan__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__nnz" c_casadi__IM__nnz
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi__IM__nnz
+  :: IM -> IO Int
+casadi__IM__nnz x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__nnz errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_nnz :: IMClass a => a -> IO Int
+im_nnz x = casadi__IM__nnz (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__nnz_diag" c_casadi__IM__nnz_diag
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi__IM__nnz_diag
+  :: IM -> IO Int
+casadi__IM__nnz_diag x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__nnz_diag errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_nnz_diag :: IMClass a => a -> IO Int
+im_nnz_diag x = casadi__IM__nnz_diag (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__nnz_lower" c_casadi__IM__nnz_lower
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi__IM__nnz_lower
+  :: IM -> IO Int
+casadi__IM__nnz_lower x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__nnz_lower errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_nnz_lower :: IMClass a => a -> IO Int
+im_nnz_lower x = casadi__IM__nnz_lower (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__nnz_upper" c_casadi__IM__nnz_upper
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi__IM__nnz_upper
+  :: IM -> IO Int
+casadi__IM__nnz_upper x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__nnz_upper errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_nnz_upper :: IMClass a => a -> IO Int
+im_nnz_upper x = casadi__IM__nnz_upper (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__numel" c_casadi__IM__numel
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi__IM__numel
+  :: IM -> IO Int
+casadi__IM__numel x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__numel errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_numel :: IMClass a => a -> IO Int
+im_numel x = casadi__IM__numel (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__ones__0" c_casadi__IM__ones__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr IM')
+
+casadi__IM__ones__0
+  :: (Int, Int) -> IO IM
+casadi__IM__ones__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__ones__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_ones__0 :: (Int, Int) -> IO IM
+im_ones__0 = casadi__IM__ones__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__ones__1" c_casadi__IM__ones__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IM')
+
+casadi__IM__ones__1
+  :: Sparsity -> IO IM
+casadi__IM__ones__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__ones__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_ones__1 :: Sparsity -> IO IM
+im_ones__1 = casadi__IM__ones__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__ones__2" c_casadi__IM__ones__2
+  :: Ptr (Ptr StdString) -> IO (Ptr IM')
+
+casadi__IM__ones__2
+  :: IO IM
+casadi__IM__ones__2  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__ones__2 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+im_ones__2 :: IO IM
+im_ones__2 = casadi__IM__ones__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__ones__3" c_casadi__IM__ones__3
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr IM')
+
+casadi__IM__ones__3
+  :: Int -> IO IM
+casadi__IM__ones__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__ones__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_ones__3 :: Int -> IO IM
+im_ones__3 = casadi__IM__ones__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__ones__4" c_casadi__IM__ones__4
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr IM')
+
+casadi__IM__ones__4
+  :: Int -> Int -> IO IM
+casadi__IM__ones__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__ones__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_ones__4 :: Int -> Int -> IO IM
+im_ones__4 = casadi__IM__ones__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__op" c_casadi__IM__op
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi__IM__op
+  :: IM -> IO Int
+casadi__IM__op x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__op errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_op :: IMClass a => a -> IO Int
+im_op x = casadi__IM__op (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__operator__plus" c_casadi__IM__operator__plus
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi__IM__operator__plus
+  :: IM -> IO IM
+casadi__IM__operator__plus x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__operator__plus errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_operator__plus :: IMClass a => a -> IO IM
+im_operator__plus x = casadi__IM__operator__plus (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__operator__minus" c_casadi__IM__operator__minus
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi__IM__operator__minus
+  :: IM -> IO IM
+casadi__IM__operator__minus x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__operator__minus errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_operator__minus :: IMClass a => a -> IO IM
+im_operator__minus x = casadi__IM__operator__minus (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__operator_casadi_int" c_casadi__IM__operator_casadi_int
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi__IM__operator_casadi_int
+  :: IM -> IO Int
+casadi__IM__operator_casadi_int x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__operator_casadi_int errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_operator_casadi_int :: IMClass a => a -> IO Int
+im_operator_casadi_int x = casadi__IM__operator_casadi_int (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__operator_double" c_casadi__IM__operator_double
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CDouble
+
+casadi__IM__operator_double
+  :: IM -> IO Double
+casadi__IM__operator_double x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__operator_double errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_operator_double :: IMClass a => a -> IO Double
+im_operator_double x = casadi__IM__operator_double (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__print_split" c_casadi__IM__print_split
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (Ptr (StdVec (Ptr StdString))) -> Ptr (Ptr (StdVec (Ptr StdString))) -> IO ()
+
+casadi__IM__print_split
+  :: IM -> IO (Vector String, Vector String)
+casadi__IM__print_split x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__print_split errStrPtrP x0' o1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__IM__print_split/c_casadi__IM__print_split" else wrapReturn o1''
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__IM__print_split/c_casadi__IM__print_split" else wrapReturn o2''
+
+  return (o1''', o2''')
+
+
+
+-- classy wrapper
+im_print_split :: IMClass a => a -> IO (Vector String, Vector String)
+im_print_split x = casadi__IM__print_split (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__printme" c_casadi__IM__printme
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi__IM__printme
+  :: IM -> IM -> IO IM
+casadi__IM__printme x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__printme errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_printme :: IMClass a => a -> IM -> IO IM
+im_printme x = casadi__IM__printme (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__rand__0" c_casadi__IM__rand__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr IM')
+
+casadi__IM__rand__0
+  :: (Int, Int) -> IO IM
+casadi__IM__rand__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__rand__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_rand__0 :: (Int, Int) -> IO IM
+im_rand__0 = casadi__IM__rand__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__rand__1" c_casadi__IM__rand__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IM')
+
+casadi__IM__rand__1
+  :: Sparsity -> IO IM
+casadi__IM__rand__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__rand__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_rand__1 :: Sparsity -> IO IM
+im_rand__1 = casadi__IM__rand__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__rand__2" c_casadi__IM__rand__2
+  :: Ptr (Ptr StdString) -> IO (Ptr IM')
+
+casadi__IM__rand__2
+  :: IO IM
+casadi__IM__rand__2  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__rand__2 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+im_rand__2 :: IO IM
+im_rand__2 = casadi__IM__rand__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__rand__3" c_casadi__IM__rand__3
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr IM')
+
+casadi__IM__rand__3
+  :: Int -> IO IM
+casadi__IM__rand__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__rand__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_rand__3 :: Int -> IO IM
+im_rand__3 = casadi__IM__rand__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__rand__4" c_casadi__IM__rand__4
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr IM')
+
+casadi__IM__rand__4
+  :: Int -> Int -> IO IM
+casadi__IM__rand__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__rand__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_rand__4 :: Int -> Int -> IO IM
+im_rand__4 = casadi__IM__rand__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__remove" c_casadi__IM__remove
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__IM__remove
+  :: IM -> Vector Int -> Vector Int -> IO ()
+casadi__IM__remove x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__remove errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+im_remove :: IMClass a => a -> Vector Int -> Vector Int -> IO ()
+im_remove x = casadi__IM__remove (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__reserve__0" c_casadi__IM__reserve__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> CLLong -> IO ()
+
+casadi__IM__reserve__0
+  :: IM -> Int -> Int -> IO ()
+casadi__IM__reserve__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__reserve__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+im_reserve__0 :: IMClass a => a -> Int -> Int -> IO ()
+im_reserve__0 x = casadi__IM__reserve__0 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__reserve__1" c_casadi__IM__reserve__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> IO ()
+
+casadi__IM__reserve__1
+  :: IM -> Int -> IO ()
+casadi__IM__reserve__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__reserve__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+im_reserve__1 :: IMClass a => a -> Int -> IO ()
+im_reserve__1 x = casadi__IM__reserve__1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__reset_input" c_casadi__IM__reset_input
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO ()
+
+casadi__IM__reset_input
+  :: IM -> IO ()
+casadi__IM__reset_input x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__reset_input errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+im_reset_input :: IMClass a => a -> IO ()
+im_reset_input x = casadi__IM__reset_input (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__resize" c_casadi__IM__resize
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> CLLong -> IO ()
+
+casadi__IM__resize
+  :: IM -> Int -> Int -> IO ()
+casadi__IM__resize x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__resize errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+im_resize :: IMClass a => a -> Int -> Int -> IO ()
+im_resize x = casadi__IM__resize (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__rng" c_casadi__IM__rng
+  :: Ptr (Ptr StdString) -> CLLong -> IO ()
+
+casadi__IM__rng
+  :: Int -> IO ()
+casadi__IM__rng x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__rng errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+im_rng :: Int -> IO ()
+im_rng = casadi__IM__rng
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__row" c_casadi__IM__row
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> IO CLLong
+
+casadi__IM__row
+  :: IM -> Int -> IO Int
+casadi__IM__row x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__row errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_row :: IMClass a => a -> Int -> IO Int
+im_row x = casadi__IM__row (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__rows" c_casadi__IM__rows
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi__IM__rows
+  :: IM -> IO Int
+casadi__IM__rows x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__rows errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_rows :: IMClass a => a -> IO Int
+im_rows x = casadi__IM__rows (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__scalar_matrix" c_casadi__IM__scalar_matrix
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi__IM__scalar_matrix
+  :: Int -> IM -> IM -> IO IM
+casadi__IM__scalar_matrix x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__scalar_matrix errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+im_scalar_matrix :: Int -> IM -> IM -> IO IM
+im_scalar_matrix = casadi__IM__scalar_matrix
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__set__0" c_casadi__IM__set__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
+
+casadi__IM__set__0
+  :: IM -> IM -> Bool -> IM -> IM -> IO ()
+casadi__IM__set__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__set__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+im_set__0 :: IMClass a => a -> IM -> Bool -> IM -> IM -> IO ()
+im_set__0 x = casadi__IM__set__0 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__set__1" c_casadi__IM__set__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
+
+casadi__IM__set__1
+  :: IM -> IM -> Bool -> IM -> Slice -> IO ()
+casadi__IM__set__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__set__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+im_set__1 :: IMClass a => a -> IM -> Bool -> IM -> Slice -> IO ()
+im_set__1 x = casadi__IM__set__1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__set__2" c_casadi__IM__set__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
+
+casadi__IM__set__2
+  :: IM -> IM -> Bool -> Slice -> IM -> IO ()
+casadi__IM__set__2 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__set__2 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+im_set__2 :: IMClass a => a -> IM -> Bool -> Slice -> IM -> IO ()
+im_set__2 x = casadi__IM__set__2 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__set__3" c_casadi__IM__set__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
+
+casadi__IM__set__3
+  :: IM -> IM -> Bool -> Slice -> Slice -> IO ()
+casadi__IM__set__3 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__set__3 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+im_set__3 :: IMClass a => a -> IM -> Bool -> Slice -> Slice -> IO ()
+im_set__3 x = casadi__IM__set__3 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__set__4" c_casadi__IM__set__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr Sparsity' -> IO ()
+
+casadi__IM__set__4
+  :: IM -> IM -> Bool -> Sparsity -> IO ()
+casadi__IM__set__4 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__set__4 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+im_set__4 :: IMClass a => a -> IM -> Bool -> Sparsity -> IO ()
+im_set__4 x = casadi__IM__set__4 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__set__5" c_casadi__IM__set__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr IM' -> IO ()
+
+casadi__IM__set__5
+  :: IM -> IM -> Bool -> IM -> IO ()
+casadi__IM__set__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__set__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+im_set__5 :: IMClass a => a -> IM -> Bool -> IM -> IO ()
+im_set__5 x = casadi__IM__set__5 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__set__6" c_casadi__IM__set__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr Slice' -> IO ()
+
+casadi__IM__set__6
+  :: IM -> IM -> Bool -> Slice -> IO ()
+casadi__IM__set__6 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__set__6 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+im_set__6 :: IMClass a => a -> IM -> Bool -> Slice -> IO ()
+im_set__6 x = casadi__IM__set__6 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__set_max_depth__0" c_casadi__IM__set_max_depth__0
+  :: Ptr (Ptr StdString) -> IO ()
+
+casadi__IM__set_max_depth__0
+  :: IO ()
+casadi__IM__set_max_depth__0  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__set_max_depth__0 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ()
+
+
+
+-- classy wrapper
+im_set_max_depth__0 :: IO ()
+im_set_max_depth__0 = casadi__IM__set_max_depth__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__set_max_depth__1" c_casadi__IM__set_max_depth__1
+  :: Ptr (Ptr StdString) -> CLLong -> IO ()
+
+casadi__IM__set_max_depth__1
+  :: Int -> IO ()
+casadi__IM__set_max_depth__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__set_max_depth__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+im_set_max_depth__1 :: Int -> IO ()
+im_set_max_depth__1 = casadi__IM__set_max_depth__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__set_nz__0" c_casadi__IM__set_nz__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr IM' -> IO ()
+
+casadi__IM__set_nz__0
+  :: IM -> IM -> Bool -> IM -> IO ()
+casadi__IM__set_nz__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__set_nz__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+im_set_nz__0 :: IMClass a => a -> IM -> Bool -> IM -> IO ()
+im_set_nz__0 x = casadi__IM__set_nz__0 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__set_nz__1" c_casadi__IM__set_nz__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> Ptr Slice' -> IO ()
+
+casadi__IM__set_nz__1
+  :: IM -> IM -> Bool -> Slice -> IO ()
+casadi__IM__set_nz__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__set_nz__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+im_set_nz__1 :: IMClass a => a -> IM -> Bool -> Slice -> IO ()
+im_set_nz__1 x = casadi__IM__set_nz__1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__set_precision" c_casadi__IM__set_precision
+  :: Ptr (Ptr StdString) -> CLLong -> IO ()
+
+casadi__IM__set_precision
+  :: Int -> IO ()
+casadi__IM__set_precision x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__set_precision errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+im_set_precision :: Int -> IO ()
+im_set_precision = casadi__IM__set_precision
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__set_scientific" c_casadi__IM__set_scientific
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+
+casadi__IM__set_scientific
+  :: Bool -> IO ()
+casadi__IM__set_scientific x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__set_scientific errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+im_set_scientific :: Bool -> IO ()
+im_set_scientific = casadi__IM__set_scientific
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__set_width" c_casadi__IM__set_width
+  :: Ptr (Ptr StdString) -> CLLong -> IO ()
+
+casadi__IM__set_width
+  :: Int -> IO ()
+casadi__IM__set_width x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__set_width errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+im_set_width :: Int -> IO ()
+im_set_width = casadi__IM__set_width
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__size__0" c_casadi__IM__size__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> IO CLLong
+
+casadi__IM__size__0
+  :: IM -> Int -> IO Int
+casadi__IM__size__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__size__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_size__0 :: IMClass a => a -> Int -> IO Int
+im_size__0 x = casadi__IM__size__0 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__size__1" c_casadi__IM__size__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdPair CLLong CLLong))
+
+casadi__IM__size__1
+  :: IM -> IO (Int, Int)
+casadi__IM__size__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__size__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_size__1 :: IMClass a => a -> IO (Int, Int)
+im_size__1 x = casadi__IM__size__1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__size1" c_casadi__IM__size1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi__IM__size1
+  :: IM -> IO Int
+casadi__IM__size1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__size1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_size1 :: IMClass a => a -> IO Int
+im_size1 x = casadi__IM__size1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__size2" c_casadi__IM__size2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi__IM__size2
+  :: IM -> IO Int
+casadi__IM__size2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__size2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_size2 :: IMClass a => a -> IO Int
+im_size2 x = casadi__IM__size2 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__sparsity" c_casadi__IM__sparsity
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr Sparsity')
+
+casadi__IM__sparsity
+  :: IM -> IO Sparsity
+casadi__IM__sparsity x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__sparsity errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_sparsity :: IMClass a => a -> IO Sparsity
+im_sparsity x = casadi__IM__sparsity (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__sym__0" c_casadi__IM__sym__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
+
+casadi__IM__sym__0
+  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector IM))
+casadi__IM__sym__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__sym__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+im_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector IM))
+im_sym__0 = casadi__IM__sym__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__sym__1" c_casadi__IM__sym__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
+
+casadi__IM__sym__1
+  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector IM))
+casadi__IM__sym__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__sym__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+im_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector IM))
+im_sym__1 = casadi__IM__sym__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__sym__2" c_casadi__IM__sym__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi__IM__sym__2
+  :: String -> Int -> Int -> Int -> IO (Vector IM)
+casadi__IM__sym__2 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__sym__2 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+im_sym__2 :: String -> Int -> Int -> Int -> IO (Vector IM)
+im_sym__2 = casadi__IM__sym__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__sym__3" c_casadi__IM__sym__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CLLong -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi__IM__sym__3
+  :: String -> Sparsity -> Int -> IO (Vector IM)
+casadi__IM__sym__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__sym__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+im_sym__3 :: String -> Sparsity -> Int -> IO (Vector IM)
+im_sym__3 = casadi__IM__sym__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__sym__4" c_casadi__IM__sym__4
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr IM')
+
+casadi__IM__sym__4
+  :: String -> Sparsity -> IO IM
+casadi__IM__sym__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__sym__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_sym__4 :: String -> Sparsity -> IO IM
+im_sym__4 = casadi__IM__sym__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__sym__5" c_casadi__IM__sym__5
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdPair CLLong CLLong) -> IO (Ptr IM')
+
+casadi__IM__sym__5
+  :: String -> (Int, Int) -> IO IM
+casadi__IM__sym__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__sym__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_sym__5 :: String -> (Int, Int) -> IO IM
+im_sym__5 = casadi__IM__sym__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__sym__6" c_casadi__IM__sym__6
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr IM')
+
+casadi__IM__sym__6
+  :: String -> IO IM
+casadi__IM__sym__6 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__sym__6 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_sym__6 :: String -> IO IM
+im_sym__6 = casadi__IM__sym__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__sym__7" c_casadi__IM__sym__7
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> IO (Ptr IM')
+
+casadi__IM__sym__7
+  :: String -> Int -> IO IM
+casadi__IM__sym__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__sym__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_sym__7 :: String -> Int -> IO IM
+im_sym__7 = casadi__IM__sym__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__sym__8" c_casadi__IM__sym__8
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> CLLong -> IO (Ptr IM')
+
+casadi__IM__sym__8
+  :: String -> Int -> Int -> IO IM
+casadi__IM__sym__8 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__sym__8 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+im_sym__8 :: String -> Int -> Int -> IO IM
+im_sym__8 = casadi__IM__sym__8
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__to_file__0" c_casadi__IM__to_file__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr StdString -> IO ()
+
+casadi__IM__to_file__0
+  :: IM -> String -> IO ()
+casadi__IM__to_file__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__to_file__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+im_to_file__0 :: IMClass a => a -> String -> IO ()
+im_to_file__0 x = casadi__IM__to_file__0 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__to_file__1" c_casadi__IM__to_file__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr StdString -> Ptr StdString -> IO ()
+
+casadi__IM__to_file__1
+  :: IM -> String -> String -> IO ()
+casadi__IM__to_file__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__to_file__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+im_to_file__1 :: IMClass a => a -> String -> String -> IO ()
+im_to_file__1 x = casadi__IM__to_file__1 (castIM x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__triplet__0" c_casadi__IM__triplet__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr IM' -> Ptr (StdPair CLLong CLLong) -> IO (Ptr IM')
+
+casadi__IM__triplet__0
+  :: Vector Int -> Vector Int -> IM -> (Int, Int) -> IO IM
+casadi__IM__triplet__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__triplet__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+im_triplet__0 :: Vector Int -> Vector Int -> IM -> (Int, Int) -> IO IM
+im_triplet__0 = casadi__IM__triplet__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__triplet__1" c_casadi__IM__triplet__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr IM' -> CLLong -> CLLong -> IO (Ptr IM')
+
+casadi__IM__triplet__1
+  :: Vector Int -> Vector Int -> IM -> Int -> Int -> IO IM
+casadi__IM__triplet__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__triplet__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+im_triplet__1 :: Vector Int -> Vector Int -> IM -> Int -> Int -> IO IM
+im_triplet__1 = casadi__IM__triplet__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__triplet__2" c_casadi__IM__triplet__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr IM' -> IO (Ptr IM')
+
+casadi__IM__triplet__2
+  :: Vector Int -> Vector Int -> IM -> IO IM
+casadi__IM__triplet__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__triplet__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+im_triplet__2 :: Vector Int -> Vector Int -> IM -> IO IM
+im_triplet__2 = casadi__IM__triplet__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__type_name" c_casadi__IM__type_name
+  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
+
+casadi__IM__type_name
+  :: IO String
+casadi__IM__type_name  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__type_name errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+im_type_name :: IO String
+im_type_name = casadi__IM__type_name
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__unary" c_casadi__IM__unary
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr IM' -> IO (Ptr IM')
+
+casadi__IM__unary
+  :: Int -> IM -> IO IM
+casadi__IM__unary x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__unary errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_unary :: Int -> IM -> IO IM
+im_unary = casadi__IM__unary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__zeros__0" c_casadi__IM__zeros__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr IM')
+
+casadi__IM__zeros__0
+  :: (Int, Int) -> IO IM
+casadi__IM__zeros__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__zeros__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_zeros__0 :: (Int, Int) -> IO IM
+im_zeros__0 = casadi__IM__zeros__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__zeros__1" c_casadi__IM__zeros__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IM')
+
+casadi__IM__zeros__1
+  :: Sparsity -> IO IM
+casadi__IM__zeros__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__zeros__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_zeros__1 :: Sparsity -> IO IM
+im_zeros__1 = casadi__IM__zeros__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__zeros__2" c_casadi__IM__zeros__2
+  :: Ptr (Ptr StdString) -> IO (Ptr IM')
+
+casadi__IM__zeros__2
+  :: IO IM
+casadi__IM__zeros__2  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__zeros__2 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+im_zeros__2 :: IO IM
+im_zeros__2 = casadi__IM__zeros__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__zeros__3" c_casadi__IM__zeros__3
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr IM')
+
+casadi__IM__zeros__3
+  :: Int -> IO IM
+casadi__IM__zeros__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__zeros__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+im_zeros__3 :: Int -> IO IM
+im_zeros__3 = casadi__IM__zeros__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IM__zeros__4" c_casadi__IM__zeros__4
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr IM')
+
+casadi__IM__zeros__4
+  :: Int -> Int -> IO IM
+casadi__IM__zeros__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IM__zeros__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+im_zeros__4 :: Int -> Int -> IO IM
+im_zeros__4 = casadi__IM__zeros__4
 
diff --git a/Casadi/Core/Classes/Importer.hs b/Casadi/Core/Classes/Importer.hs
--- a/Casadi/Core/Classes/Importer.hs
+++ b/Casadi/Core/Classes/Importer.hs
@@ -23,6 +23,7 @@
          importer_inlined,
          importer_load_plugin,
          importer_plugin_name,
+         importer_type_name,
        ) where
 
 
@@ -217,7 +218,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Importer__get_meta__1" c_casadi__Importer__get_meta__1
-  :: Ptr (Ptr StdString) -> Ptr Importer' -> Ptr StdString -> CInt -> IO (Ptr StdString)
+  :: Ptr (Ptr StdString) -> Ptr Importer' -> Ptr StdString -> CLLong -> IO (Ptr StdString)
 
 casadi__Importer__get_meta__1
   :: Importer -> String -> Int -> IO String
@@ -306,7 +307,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Importer__has_meta__1" c_casadi__Importer__has_meta__1
-  :: Ptr (Ptr StdString) -> Ptr Importer' -> Ptr StdString -> CInt -> IO CInt
+  :: Ptr (Ptr StdString) -> Ptr Importer' -> Ptr StdString -> CLLong -> IO CInt
 
 casadi__Importer__has_meta__1
   :: Importer -> String -> Int -> IO Bool
@@ -443,4 +444,31 @@
 -- classy wrapper
 importer_plugin_name :: ImporterClass a => a -> IO String
 importer_plugin_name x = casadi__Importer__plugin_name (castImporter x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Importer__type_name" c_casadi__Importer__type_name
+  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
+
+casadi__Importer__type_name
+  :: IO String
+casadi__Importer__type_name  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__type_name errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+importer_type_name :: IO String
+importer_type_name = casadi__Importer__type_name
 
diff --git a/Casadi/Core/Classes/IndexAbstraction.hs b/Casadi/Core/Classes/IndexAbstraction.hs
new file mode 100644
--- /dev/null
+++ b/Casadi/Core/Classes/IndexAbstraction.hs
@@ -0,0 +1,58 @@
+{-# OPTIONS_GHC -Wall #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# Language ForeignFunctionInterface #-}
+{-# Language FlexibleInstances #-}
+{-# Language MultiParamTypeClasses #-}
+
+module Casadi.Core.Classes.IndexAbstraction
+       (
+         IndexAbstraction,
+         IndexAbstractionClass(..),
+         indexAbstraction,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__IndexAbstraction__CONSTRUCTOR" c_casadi__IndexAbstraction__CONSTRUCTOR
+  :: Ptr (Ptr StdString) -> IO (Ptr IndexAbstraction')
+
+casadi__IndexAbstraction__CONSTRUCTOR
+  :: IO IndexAbstraction
+casadi__IndexAbstraction__CONSTRUCTOR  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__IndexAbstraction__CONSTRUCTOR errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+indexAbstraction :: IO IndexAbstraction
+indexAbstraction = casadi__IndexAbstraction__CONSTRUCTOR
+
diff --git a/Casadi/Core/Classes/Linsol.hs b/Casadi/Core/Classes/Linsol.hs
--- a/Casadi/Core/Classes/Linsol.hs
+++ b/Casadi/Core/Classes/Linsol.hs
@@ -12,20 +12,20 @@
          linsol__0,
          linsol__1,
          linsol__2,
-         linsol_cholesky__0,
-         linsol_cholesky__1,
-         linsol_cholesky_sparsity__0,
-         linsol_cholesky_sparsity__1,
          linsol_doc,
          linsol_has_plugin,
          linsol_load_plugin,
          linsol_neig,
+         linsol_nfact,
          linsol_plugin_name,
          linsol_rank,
+         linsol_sfact,
          linsol_solve__0,
          linsol_solve__1,
          linsol_solve__2,
          linsol_solve__3,
+         linsol_sparsity,
+         linsol_type_name,
        ) where
 
 
@@ -48,16 +48,17 @@
 import Casadi.Core.Enums
 -- direct wrapper
 foreign import ccall unsafe "casadi__Linsol__CONSTRUCTOR__0" c_casadi__Linsol__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> IO (Ptr Linsol')
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr Linsol')
 
 casadi__Linsol__CONSTRUCTOR__0
-  :: String -> String -> IO Linsol
-casadi__Linsol__CONSTRUCTOR__0 x0 x1 = do
+  :: String -> String -> Sparsity -> IO Linsol
+casadi__Linsol__CONSTRUCTOR__0 x0 x1 x2 = do
   x0' <- marshal x0
   x1' <- marshal x1
+  x2' <- marshal x2
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Linsol__CONSTRUCTOR__0 errStrPtrP x0' x1'
+  ret0 <- c_casadi__Linsol__CONSTRUCTOR__0 errStrPtrP x0' x1' x2'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -65,29 +66,31 @@
 
   marshalFree x0 x0'
   marshalFree x1 x1'
+  marshalFree x2 x2'
 
   return ret
 
 
 
 -- classy wrapper
-linsol__0 :: String -> String -> IO Linsol
+linsol__0 :: String -> String -> Sparsity -> IO Linsol
 linsol__0 = casadi__Linsol__CONSTRUCTOR__0
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Linsol__CONSTRUCTOR__1" c_casadi__Linsol__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Linsol')
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Sparsity' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Linsol')
 
 casadi__Linsol__CONSTRUCTOR__1
-  :: String -> String -> M.Map String GenericType -> IO Linsol
-casadi__Linsol__CONSTRUCTOR__1 x0 x1 x2 = do
+  :: String -> String -> Sparsity -> M.Map String GenericType -> IO Linsol
+casadi__Linsol__CONSTRUCTOR__1 x0 x1 x2 x3 = do
   x0' <- marshal x0
   x1' <- marshal x1
   x2' <- marshal x2
+  x3' <- marshal x3
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Linsol__CONSTRUCTOR__1 errStrPtrP x0' x1' x2'
+  ret0 <- c_casadi__Linsol__CONSTRUCTOR__1 errStrPtrP x0' x1' x2' x3'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -96,13 +99,14 @@
   marshalFree x0 x0'
   marshalFree x1 x1'
   marshalFree x2 x2'
+  marshalFree x3 x3'
 
   return ret
 
 
 
 -- classy wrapper
-linsol__1 :: String -> String -> M.Map String GenericType -> IO Linsol
+linsol__1 :: String -> String -> Sparsity -> M.Map String GenericType -> IO Linsol
 linsol__1 = casadi__Linsol__CONSTRUCTOR__1
 
 
@@ -134,118 +138,6 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Linsol__cholesky__0" c_casadi__Linsol__cholesky__0
-  :: Ptr (Ptr StdString) -> Ptr Linsol' -> IO (Ptr DM')
-
-casadi__Linsol__cholesky__0
-  :: Linsol -> IO DM
-casadi__Linsol__cholesky__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Linsol__cholesky__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-linsol_cholesky__0 :: LinsolClass a => a -> IO DM
-linsol_cholesky__0 x = casadi__Linsol__cholesky__0 (castLinsol x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Linsol__cholesky__1" c_casadi__Linsol__cholesky__1
-  :: Ptr (Ptr StdString) -> Ptr Linsol' -> CInt -> IO (Ptr DM')
-
-casadi__Linsol__cholesky__1
-  :: Linsol -> Bool -> IO DM
-casadi__Linsol__cholesky__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Linsol__cholesky__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-linsol_cholesky__1 :: LinsolClass a => a -> Bool -> IO DM
-linsol_cholesky__1 x = casadi__Linsol__cholesky__1 (castLinsol x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Linsol__cholesky_sparsity__0" c_casadi__Linsol__cholesky_sparsity__0
-  :: Ptr (Ptr StdString) -> Ptr Linsol' -> IO (Ptr Sparsity')
-
-casadi__Linsol__cholesky_sparsity__0
-  :: Linsol -> IO Sparsity
-casadi__Linsol__cholesky_sparsity__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Linsol__cholesky_sparsity__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-linsol_cholesky_sparsity__0 :: LinsolClass a => a -> IO Sparsity
-linsol_cholesky_sparsity__0 x = casadi__Linsol__cholesky_sparsity__0 (castLinsol x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Linsol__cholesky_sparsity__1" c_casadi__Linsol__cholesky_sparsity__1
-  :: Ptr (Ptr StdString) -> Ptr Linsol' -> CInt -> IO (Ptr Sparsity')
-
-casadi__Linsol__cholesky_sparsity__1
-  :: Linsol -> Bool -> IO Sparsity
-casadi__Linsol__cholesky_sparsity__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Linsol__cholesky_sparsity__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-linsol_cholesky_sparsity__1 :: LinsolClass a => a -> Bool -> IO Sparsity
-linsol_cholesky_sparsity__1 x = casadi__Linsol__cholesky_sparsity__1 (castLinsol x)
-
-
--- direct wrapper
 foreign import ccall unsafe "casadi__Linsol__doc" c_casadi__Linsol__doc
   :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
 
@@ -328,32 +220,63 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Linsol__neig" c_casadi__Linsol__neig
-  :: Ptr (Ptr StdString) -> Ptr Linsol' -> IO CInt
+  :: Ptr (Ptr StdString) -> Ptr Linsol' -> Ptr DM' -> IO CLLong
 
 casadi__Linsol__neig
-  :: Linsol -> IO Int
-casadi__Linsol__neig x0 = do
+  :: Linsol -> DM -> IO Int
+casadi__Linsol__neig x0 x1 = do
   x0' <- marshal x0
+  x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Linsol__neig errStrPtrP x0'
+  ret0 <- c_casadi__Linsol__neig errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
   ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
 
   marshalFree x0 x0'
+  marshalFree x1 x1'
 
   return ret
 
 
 
 -- classy wrapper
-linsol_neig :: LinsolClass a => a -> IO Int
+linsol_neig :: LinsolClass a => a -> DM -> IO Int
 linsol_neig x = casadi__Linsol__neig (castLinsol x)
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__Linsol__nfact" c_casadi__Linsol__nfact
+  :: Ptr (Ptr StdString) -> Ptr Linsol' -> Ptr DM' -> IO ()
+
+casadi__Linsol__nfact
+  :: Linsol -> DM -> IO ()
+casadi__Linsol__nfact x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__nfact errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+linsol_nfact :: LinsolClass a => a -> DM -> IO ()
+linsol_nfact x = casadi__Linsol__nfact (castLinsol x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__Linsol__plugin_name" c_casadi__Linsol__plugin_name
   :: Ptr (Ptr StdString) -> Ptr Linsol' -> IO (Ptr StdString)
 
@@ -382,32 +305,63 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Linsol__rank" c_casadi__Linsol__rank
-  :: Ptr (Ptr StdString) -> Ptr Linsol' -> IO CInt
+  :: Ptr (Ptr StdString) -> Ptr Linsol' -> Ptr DM' -> IO CLLong
 
 casadi__Linsol__rank
-  :: Linsol -> IO Int
-casadi__Linsol__rank x0 = do
+  :: Linsol -> DM -> IO Int
+casadi__Linsol__rank x0 x1 = do
   x0' <- marshal x0
+  x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Linsol__rank errStrPtrP x0'
+  ret0 <- c_casadi__Linsol__rank errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
   ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
 
   marshalFree x0 x0'
+  marshalFree x1 x1'
 
   return ret
 
 
 
 -- classy wrapper
-linsol_rank :: LinsolClass a => a -> IO Int
+linsol_rank :: LinsolClass a => a -> DM -> IO Int
 linsol_rank x = casadi__Linsol__rank (castLinsol x)
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__Linsol__sfact" c_casadi__Linsol__sfact
+  :: Ptr (Ptr StdString) -> Ptr Linsol' -> Ptr DM' -> IO ()
+
+casadi__Linsol__sfact
+  :: Linsol -> DM -> IO ()
+casadi__Linsol__sfact x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__sfact errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+linsol_sfact :: LinsolClass a => a -> DM -> IO ()
+linsol_sfact x = casadi__Linsol__sfact (castLinsol x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__Linsol__solve__0" c_casadi__Linsol__solve__0
   :: Ptr (Ptr StdString) -> Ptr Linsol' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
 
@@ -533,4 +487,58 @@
 -- classy wrapper
 linsol_solve__3 :: LinsolClass a => a -> DM -> DM -> Bool -> IO DM
 linsol_solve__3 x = casadi__Linsol__solve__3 (castLinsol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Linsol__sparsity" c_casadi__Linsol__sparsity
+  :: Ptr (Ptr StdString) -> Ptr Linsol' -> IO (Ptr Sparsity')
+
+casadi__Linsol__sparsity
+  :: Linsol -> IO Sparsity
+casadi__Linsol__sparsity x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__sparsity errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+linsol_sparsity :: LinsolClass a => a -> IO Sparsity
+linsol_sparsity x = casadi__Linsol__sparsity (castLinsol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Linsol__type_name" c_casadi__Linsol__type_name
+  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
+
+casadi__Linsol__type_name
+  :: IO String
+casadi__Linsol__type_name  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__type_name errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+linsol_type_name :: IO String
+linsol_type_name = casadi__Linsol__type_name
 
diff --git a/Casadi/Core/Classes/MX.hs b/Casadi/Core/Classes/MX.hs
--- a/Casadi/Core/Classes/MX.hs
+++ b/Casadi/Core/Classes/MX.hs
@@ -23,5238 +23,4394 @@
          mx_attachAssert__1,
          mx_binary,
          mx_colind,
-         mx_dep__0,
-         mx_dep__1,
-         mx_dim,
-         mx_enlarge__0,
-         mx_enlarge__1,
-         mx_erase__0,
-         mx_erase__1,
-         mx_erase__2,
-         mx_erase__3,
-         mx_eye,
-         mx_getEqualityCheckingDepth,
-         mx_getFunction__0,
-         mx_getFunction__1,
-         mx_getOutput__0,
-         mx_getOutput__1,
-         mx_getTemp,
-         mx_get__0,
-         mx_get__1,
-         mx_get__2,
-         mx_get__3,
-         mx_get__4,
-         mx_get__5,
-         mx_get__6,
-         mx_get_colind,
-         mx_get_free,
-         mx_get_input,
-         mx_get_nz__0,
-         mx_get_nz__1,
-         mx_get_output,
-         mx_get_row,
-         mx_get_sparsity,
-         mx_grad__0,
-         mx_grad__1,
-         mx_grad__2,
-         mx_grad__3,
-         mx_grad__4,
-         mx_grad__5,
-         mx_grad__6,
-         mx_has_duplicates,
-         mx_inf__0,
-         mx_inf__1,
-         mx_inf__2,
-         mx_inf__3,
-         mx_inf__4,
-         mx_is_binary,
-         mx_is_call,
-         mx_is_column,
-         mx_is_commutative,
-         mx_is_constant,
-         mx_is_dense,
-         mx_is_empty__0,
-         mx_is_empty__1,
-         mx_is_identity,
-         mx_is_minus_one,
-         mx_is_multiplication,
-         mx_is_norm,
-         mx_is_one,
-         mx_is_op,
-         mx_is_output,
-         mx_is_regular,
-         mx_is_row,
-         mx_is_scalar__0,
-         mx_is_scalar__1,
-         mx_is_square,
-         mx_is_symbolic,
-         mx_is_transpose,
-         mx_is_tril,
-         mx_is_triu,
-         mx_is_unary,
-         mx_is_valid_input,
-         mx_is_vector,
-         mx_is_zero,
-         mx_jac__0,
-         mx_jac__1,
-         mx_jac__10,
-         mx_jac__11,
-         mx_jac__12,
-         mx_jac__13,
-         mx_jac__14,
-         mx_jac__2,
-         mx_jac__3,
-         mx_jac__4,
-         mx_jac__5,
-         mx_jac__6,
-         mx_jac__7,
-         mx_jac__8,
-         mx_jac__9,
-         mx_join_primitives,
-         mx_mapping,
-         mx_monitor,
-         mx_n_dep,
-         mx_n_out,
-         mx_n_primitives,
-         mx_name,
-         mx_nan__0,
-         mx_nan__1,
-         mx_nan__2,
-         mx_nan__3,
-         mx_nan__4,
-         mx_nnz,
-         mx_nnz_diag,
-         mx_nnz_lower,
-         mx_nnz_upper,
-         mx_numFunctions,
-         mx_numel__0,
-         mx_numel__1,
-         mx_ones__0,
-         mx_ones__1,
-         mx_ones__2,
-         mx_ones__3,
-         mx_ones__4,
-         mx_op,
-         mx_operator__minus,
-         mx_operator_casadi__Matrix_double_,
-         mx_operator_double,
-         mx_primitives,
-         mx_printme,
-         mx_resetInput,
-         mx_row,
-         mx_setEqualityCheckingDepth__0,
-         mx_setEqualityCheckingDepth__1,
-         mx_setTemp,
-         mx_set__0,
-         mx_set__1,
-         mx_set__2,
-         mx_set__3,
-         mx_set__4,
-         mx_set__5,
-         mx_set__6,
-         mx_set_nz__0,
-         mx_set_nz__1,
-         mx_size1,
-         mx_size2,
-         mx_size__0,
-         mx_size__1,
-         mx_sparsity,
-         mx_split_primitives,
-         mx_sym__0,
-         mx_sym__1,
-         mx_sym__2,
-         mx_sym__3,
-         mx_sym__4,
-         mx_sym__5,
-         mx_sym__6,
-         mx_sym__7,
-         mx_sym__8,
-         mx_tang__0,
-         mx_tang__1,
-         mx_tang__2,
-         mx_tang__3,
-         mx_tang__4,
-         mx_tang__5,
-         mx_tang__6,
-         mx_type_name,
-         mx_unary,
-         mx_zeros__0,
-         mx_zeros__1,
-         mx_zeros__2,
-         mx_zeros__3,
-         mx_zeros__4,
-       ) where
-
-
-import Prelude hiding ( Functor )
-
-import Data.Vector ( Vector )
-import qualified Data.Map as M
-import Foreign.C.Types
-import Foreign.Marshal ( new, free )
-import Foreign.Storable ( peek )
-import Foreign.Ptr ( Ptr, nullPtr )
-import Foreign.ForeignPtr ( newForeignPtr )
-import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
-
-import Casadi.Internal.FormatException ( formatException )
-import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
-import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
-import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-import Casadi.Core.Data
-import Casadi.Core.Enums
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__0" c_casadi__MX__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr MX')
-
-casadi__MX__CONSTRUCTOR__0
-  :: DM -> IO MX
-casadi__MX__CONSTRUCTOR__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__CONSTRUCTOR__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx__0 :: DM -> IO MX
-mx__0 = casadi__MX__CONSTRUCTOR__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__1" c_casadi__MX__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr MX')
-
-casadi__MX__CONSTRUCTOR__1
-  :: Vector Double -> IO MX
-casadi__MX__CONSTRUCTOR__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__CONSTRUCTOR__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx__1 :: Vector Double -> IO MX
-mx__1 = casadi__MX__CONSTRUCTOR__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__2" c_casadi__MX__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi__MX__CONSTRUCTOR__2
-  :: MX -> IO MX
-casadi__MX__CONSTRUCTOR__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__CONSTRUCTOR__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx__2 :: MX -> IO MX
-mx__2 = casadi__MX__CONSTRUCTOR__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__3" c_casadi__MX__CONSTRUCTOR__3
-  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr MX')
-
-casadi__MX__CONSTRUCTOR__3
-  :: Double -> IO MX
-casadi__MX__CONSTRUCTOR__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__CONSTRUCTOR__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx__3 :: Double -> IO MX
-mx__3 = casadi__MX__CONSTRUCTOR__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__4" c_casadi__MX__CONSTRUCTOR__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr MX' -> IO (Ptr MX')
-
-casadi__MX__CONSTRUCTOR__4
-  :: Sparsity -> MX -> IO MX
-casadi__MX__CONSTRUCTOR__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__CONSTRUCTOR__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx__4 :: Sparsity -> MX -> IO MX
-mx__4 = casadi__MX__CONSTRUCTOR__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__5" c_casadi__MX__CONSTRUCTOR__5
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
-
-casadi__MX__CONSTRUCTOR__5
-  :: Sparsity -> IO MX
-casadi__MX__CONSTRUCTOR__5 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__CONSTRUCTOR__5 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx__5 :: Sparsity -> IO MX
-mx__5 = casadi__MX__CONSTRUCTOR__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__6" c_casadi__MX__CONSTRUCTOR__6
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
-
-casadi__MX__CONSTRUCTOR__6
-  :: Int -> Int -> IO MX
-casadi__MX__CONSTRUCTOR__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__CONSTRUCTOR__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx__6 :: Int -> Int -> IO MX
-mx__6 = casadi__MX__CONSTRUCTOR__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__7" c_casadi__MX__CONSTRUCTOR__7
-  :: Ptr (Ptr StdString) -> IO (Ptr MX')
-
-casadi__MX__CONSTRUCTOR__7
-  :: IO MX
-casadi__MX__CONSTRUCTOR__7  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__CONSTRUCTOR__7 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-mx__7 :: IO MX
-mx__7 = casadi__MX__CONSTRUCTOR__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__T" c_casadi__MX__T
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi__MX__T
-  :: MX -> IO MX
-casadi__MX__T x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__T errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_T :: MXClass a => a -> IO MX
-mx_T x = casadi__MX__T (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____nonzero__" c_casadi__MX____nonzero__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX____nonzero__
-  :: MX -> IO Bool
-casadi__MX____nonzero__ x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX____nonzero__ errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx___nonzero__ :: MXClass a => a -> IO Bool
-mx___nonzero__ x = casadi__MX____nonzero__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__attachAssert__0" c_casadi__MX__attachAssert__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi__MX__attachAssert__0
-  :: MX -> MX -> IO MX
-casadi__MX__attachAssert__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__attachAssert__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_attachAssert__0 :: MXClass a => a -> MX -> IO MX
-mx_attachAssert__0 x = casadi__MX__attachAssert__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__attachAssert__1" c_casadi__MX__attachAssert__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
-
-casadi__MX__attachAssert__1
-  :: MX -> MX -> String -> IO MX
-casadi__MX__attachAssert__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__attachAssert__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_attachAssert__1 :: MXClass a => a -> MX -> String -> IO MX
-mx_attachAssert__1 x = casadi__MX__attachAssert__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__binary" c_casadi__MX__binary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi__MX__binary
-  :: Int -> MX -> MX -> IO MX
-casadi__MX__binary x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__binary errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_binary :: Int -> MX -> MX -> IO MX
-mx_binary = casadi__MX__binary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__colind" c_casadi__MX__colind
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
-
-casadi__MX__colind
-  :: MX -> Int -> IO Int
-casadi__MX__colind x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__colind errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_colind :: MXClass a => a -> Int -> IO Int
-mx_colind x = casadi__MX__colind (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__dep__0" c_casadi__MX__dep__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi__MX__dep__0
-  :: MX -> IO MX
-casadi__MX__dep__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__dep__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_dep__0 :: MXClass a => a -> IO MX
-mx_dep__0 x = casadi__MX__dep__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__dep__1" c_casadi__MX__dep__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
-
-casadi__MX__dep__1
-  :: MX -> Int -> IO MX
-casadi__MX__dep__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__dep__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_dep__1 :: MXClass a => a -> Int -> IO MX
-mx_dep__1 x = casadi__MX__dep__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__dim" c_casadi__MX__dim
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr StdString)
-
-casadi__MX__dim
-  :: MX -> IO String
-casadi__MX__dim x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__dim errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_dim :: MXClass a => a -> IO String
-mx_dim x = casadi__MX__dim (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__enlarge__0" c_casadi__MX__enlarge__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-
-casadi__MX__enlarge__0
-  :: MX -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casadi__MX__enlarge__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-mx_enlarge__0 :: MXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-mx_enlarge__0 x = casadi__MX__enlarge__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__enlarge__1" c_casadi__MX__enlarge__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__MX__enlarge__1
-  :: MX -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
-casadi__MX__enlarge__1 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ()
-
-
-
--- classy wrapper
-mx_enlarge__1 :: MXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
-mx_enlarge__1 x = casadi__MX__enlarge__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__erase__0" c_casadi__MX__erase__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> IO ()
-
-casadi__MX__erase__0
-  :: MX -> Vector Int -> IO ()
-casadi__MX__erase__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__erase__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-mx_erase__0 :: MXClass a => a -> Vector Int -> IO ()
-mx_erase__0 x = casadi__MX__erase__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__erase__1" c_casadi__MX__erase__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__MX__erase__1
-  :: MX -> Vector Int -> Bool -> IO ()
-casadi__MX__erase__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__erase__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-mx_erase__1 :: MXClass a => a -> Vector Int -> Bool -> IO ()
-mx_erase__1 x = casadi__MX__erase__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__erase__2" c_casadi__MX__erase__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-
-casadi__MX__erase__2
-  :: MX -> Vector Int -> Vector Int -> IO ()
-casadi__MX__erase__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__erase__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-mx_erase__2 :: MXClass a => a -> Vector Int -> Vector Int -> IO ()
-mx_erase__2 x = casadi__MX__erase__2 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__erase__3" c_casadi__MX__erase__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__MX__erase__3
-  :: MX -> Vector Int -> Vector Int -> Bool -> IO ()
-casadi__MX__erase__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__erase__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-mx_erase__3 :: MXClass a => a -> Vector Int -> Vector Int -> Bool -> IO ()
-mx_erase__3 x = casadi__MX__erase__3 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__eye" c_casadi__MX__eye
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
-
-casadi__MX__eye
-  :: Int -> IO MX
-casadi__MX__eye x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__eye errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_eye :: Int -> IO MX
-mx_eye = casadi__MX__eye
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get__0" c_casadi__MX__get__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
-
-casadi__MX__get__0
-  :: MX -> Bool -> IM -> IM -> IO (MX)
-casadi__MX__get__0 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get__0 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get__0/c_casadi__MX__get__0" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-mx_get__0 :: MXClass a => a -> Bool -> IM -> IM -> IO (MX)
-mx_get__0 x = casadi__MX__get__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get__1" c_casadi__MX__get__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
-
-casadi__MX__get__1
-  :: MX -> Bool -> IM -> Slice -> IO (MX)
-casadi__MX__get__1 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get__1 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get__1/c_casadi__MX__get__1" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-mx_get__1 :: MXClass a => a -> Bool -> IM -> Slice -> IO (MX)
-mx_get__1 x = casadi__MX__get__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get__2" c_casadi__MX__get__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
-
-casadi__MX__get__2
-  :: MX -> Bool -> Slice -> IM -> IO (MX)
-casadi__MX__get__2 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get__2 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get__2/c_casadi__MX__get__2" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-mx_get__2 :: MXClass a => a -> Bool -> Slice -> IM -> IO (MX)
-mx_get__2 x = casadi__MX__get__2 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get__3" c_casadi__MX__get__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
-
-casadi__MX__get__3
-  :: MX -> Bool -> Slice -> Slice -> IO (MX)
-casadi__MX__get__3 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get__3 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get__3/c_casadi__MX__get__3" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-mx_get__3 :: MXClass a => a -> Bool -> Slice -> Slice -> IO (MX)
-mx_get__3 x = casadi__MX__get__3 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get__4" c_casadi__MX__get__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr Sparsity' -> IO ()
-
-casadi__MX__get__4
-  :: MX -> Bool -> Sparsity -> IO (MX)
-casadi__MX__get__4 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get__4 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get__4/c_casadi__MX__get__4" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-mx_get__4 :: MXClass a => a -> Bool -> Sparsity -> IO (MX)
-mx_get__4 x = casadi__MX__get__4 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get__5" c_casadi__MX__get__5
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr IM' -> IO ()
-
-casadi__MX__get__5
-  :: MX -> Bool -> IM -> IO (MX)
-casadi__MX__get__5 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get__5 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get__5/c_casadi__MX__get__5" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-mx_get__5 :: MXClass a => a -> Bool -> IM -> IO (MX)
-mx_get__5 x = casadi__MX__get__5 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get__6" c_casadi__MX__get__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr Slice' -> IO ()
-
-casadi__MX__get__6
-  :: MX -> Bool -> Slice -> IO (MX)
-casadi__MX__get__6 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get__6 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get__6/c_casadi__MX__get__6" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-mx_get__6 :: MXClass a => a -> Bool -> Slice -> IO (MX)
-mx_get__6 x = casadi__MX__get__6 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getEqualityCheckingDepth" c_casadi__MX__getEqualityCheckingDepth
-  :: Ptr (Ptr StdString) -> IO CInt
-
-casadi__MX__getEqualityCheckingDepth
-  :: IO Int
-casadi__MX__getEqualityCheckingDepth  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__getEqualityCheckingDepth errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-mx_getEqualityCheckingDepth :: IO Int
-mx_getEqualityCheckingDepth = casadi__MX__getEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getFunction__0" c_casadi__MX__getFunction__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Function')
-
-casadi__MX__getFunction__0
-  :: MX -> IO Function
-casadi__MX__getFunction__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__getFunction__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_getFunction__0 :: MXClass a => a -> IO Function
-mx_getFunction__0 x = casadi__MX__getFunction__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getFunction__1" c_casadi__MX__getFunction__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr Function')
-
-casadi__MX__getFunction__1
-  :: MX -> Int -> IO Function
-casadi__MX__getFunction__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__getFunction__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_getFunction__1 :: MXClass a => a -> Int -> IO Function
-mx_getFunction__1 x = casadi__MX__getFunction__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getOutput__0" c_casadi__MX__getOutput__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi__MX__getOutput__0
-  :: MX -> IO MX
-casadi__MX__getOutput__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__getOutput__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_getOutput__0 :: MXClass a => a -> IO MX
-mx_getOutput__0 x = casadi__MX__getOutput__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getOutput__1" c_casadi__MX__getOutput__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
-
-casadi__MX__getOutput__1
-  :: MX -> Int -> IO MX
-casadi__MX__getOutput__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__getOutput__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_getOutput__1 :: MXClass a => a -> Int -> IO MX
-mx_getOutput__1 x = casadi__MX__getOutput__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getTemp" c_casadi__MX__getTemp
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__getTemp
-  :: MX -> IO Int
-casadi__MX__getTemp x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__getTemp errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_getTemp :: MXClass a => a -> IO Int
-mx_getTemp x = casadi__MX__getTemp (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get_colind" c_casadi__MX__get_colind
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec CInt))
-
-casadi__MX__get_colind
-  :: MX -> IO (Vector Int)
-casadi__MX__get_colind x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get_colind errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_get_colind :: MXClass a => a -> IO (Vector Int)
-mx_get_colind x = casadi__MX__get_colind (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get_free" c_casadi__MX__get_free
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi__MX__get_free
-  :: Function -> IO (Vector MX)
-casadi__MX__get_free x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get_free errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_get_free :: Function -> IO (Vector MX)
-mx_get_free = casadi__MX__get_free
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get_input" c_casadi__MX__get_input
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi__MX__get_input
-  :: Function -> IO (Vector MX)
-casadi__MX__get_input x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get_input errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_get_input :: Function -> IO (Vector MX)
-mx_get_input = casadi__MX__get_input
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get_nz__0" c_casadi__MX__get_nz__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr IM' -> IO ()
-
-casadi__MX__get_nz__0
-  :: MX -> Bool -> IM -> IO (MX)
-casadi__MX__get_nz__0 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get_nz__0 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get_nz__0/c_casadi__MX__get_nz__0" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-mx_get_nz__0 :: MXClass a => a -> Bool -> IM -> IO (MX)
-mx_get_nz__0 x = casadi__MX__get_nz__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get_nz__1" c_casadi__MX__get_nz__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr Slice' -> IO ()
-
-casadi__MX__get_nz__1
-  :: MX -> Bool -> Slice -> IO (MX)
-casadi__MX__get_nz__1 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get_nz__1 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get_nz__1/c_casadi__MX__get_nz__1" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-mx_get_nz__1 :: MXClass a => a -> Bool -> Slice -> IO (MX)
-mx_get_nz__1 x = casadi__MX__get_nz__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get_output" c_casadi__MX__get_output
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__get_output
-  :: MX -> IO Int
-casadi__MX__get_output x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get_output errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_get_output :: MXClass a => a -> IO Int
-mx_get_output x = casadi__MX__get_output (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get_row" c_casadi__MX__get_row
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec CInt))
-
-casadi__MX__get_row
-  :: MX -> IO (Vector Int)
-casadi__MX__get_row x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get_row errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_get_row :: MXClass a => a -> IO (Vector Int)
-mx_get_row x = casadi__MX__get_row (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__get_sparsity" c_casadi__MX__get_sparsity
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Sparsity')
-
-casadi__MX__get_sparsity
-  :: MX -> IO Sparsity
-casadi__MX__get_sparsity x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__get_sparsity errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_get_sparsity :: MXClass a => a -> IO Sparsity
-mx_get_sparsity x = casadi__MX__get_sparsity (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__grad__0" c_casadi__MX__grad__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr MX')
-
-casadi__MX__grad__0
-  :: Function -> String -> String -> IO MX
-casadi__MX__grad__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__grad__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_grad__0 :: Function -> String -> String -> IO MX
-mx_grad__0 = casadi__MX__grad__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__grad__1" c_casadi__MX__grad__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr MX')
-
-casadi__MX__grad__1
-  :: Function -> Int -> String -> IO MX
-casadi__MX__grad__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__grad__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_grad__1 :: Function -> Int -> String -> IO MX
-mx_grad__1 = casadi__MX__grad__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__grad__2" c_casadi__MX__grad__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr MX')
-
-casadi__MX__grad__2
-  :: Function -> String -> IO MX
-casadi__MX__grad__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__grad__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_grad__2 :: Function -> String -> IO MX
-mx_grad__2 = casadi__MX__grad__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__grad__3" c_casadi__MX__grad__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr MX')
-
-casadi__MX__grad__3
-  :: Function -> String -> Int -> IO MX
-casadi__MX__grad__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__grad__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_grad__3 :: Function -> String -> Int -> IO MX
-mx_grad__3 = casadi__MX__grad__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__grad__4" c_casadi__MX__grad__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr MX')
-
-casadi__MX__grad__4
-  :: Function -> IO MX
-casadi__MX__grad__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__grad__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_grad__4 :: Function -> IO MX
-mx_grad__4 = casadi__MX__grad__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__grad__5" c_casadi__MX__grad__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr MX')
-
-casadi__MX__grad__5
-  :: Function -> Int -> IO MX
-casadi__MX__grad__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__grad__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_grad__5 :: Function -> Int -> IO MX
-mx_grad__5 = casadi__MX__grad__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__grad__6" c_casadi__MX__grad__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr MX')
-
-casadi__MX__grad__6
-  :: Function -> Int -> Int -> IO MX
-casadi__MX__grad__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__grad__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_grad__6 :: Function -> Int -> Int -> IO MX
-mx_grad__6 = casadi__MX__grad__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__has_duplicates" c_casadi__MX__has_duplicates
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__has_duplicates
-  :: MX -> IO Bool
-casadi__MX__has_duplicates x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__has_duplicates errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_has_duplicates :: MXClass a => a -> IO Bool
-mx_has_duplicates x = casadi__MX__has_duplicates (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__inf__0" c_casadi__MX__inf__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr MX')
-
-casadi__MX__inf__0
-  :: (Int, Int) -> IO MX
-casadi__MX__inf__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__inf__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_inf__0 :: (Int, Int) -> IO MX
-mx_inf__0 = casadi__MX__inf__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__inf__1" c_casadi__MX__inf__1
-  :: Ptr (Ptr StdString) -> IO (Ptr MX')
-
-casadi__MX__inf__1
-  :: IO MX
-casadi__MX__inf__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__inf__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-mx_inf__1 :: IO MX
-mx_inf__1 = casadi__MX__inf__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__inf__2" c_casadi__MX__inf__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
-
-casadi__MX__inf__2
-  :: Int -> IO MX
-casadi__MX__inf__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__inf__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_inf__2 :: Int -> IO MX
-mx_inf__2 = casadi__MX__inf__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__inf__3" c_casadi__MX__inf__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
-
-casadi__MX__inf__3
-  :: Int -> Int -> IO MX
-casadi__MX__inf__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__inf__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_inf__3 :: Int -> Int -> IO MX
-mx_inf__3 = casadi__MX__inf__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__inf__4" c_casadi__MX__inf__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
-
-casadi__MX__inf__4
-  :: Sparsity -> IO MX
-casadi__MX__inf__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__inf__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_inf__4 :: Sparsity -> IO MX
-mx_inf__4 = casadi__MX__inf__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_binary" c_casadi__MX__is_binary
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_binary
-  :: MX -> IO Bool
-casadi__MX__is_binary x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_binary errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_binary :: MXClass a => a -> IO Bool
-mx_is_binary x = casadi__MX__is_binary (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_call" c_casadi__MX__is_call
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_call
-  :: MX -> IO Bool
-casadi__MX__is_call x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_call errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_call :: MXClass a => a -> IO Bool
-mx_is_call x = casadi__MX__is_call (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_column" c_casadi__MX__is_column
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_column
-  :: MX -> IO Bool
-casadi__MX__is_column x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_column errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_column :: MXClass a => a -> IO Bool
-mx_is_column x = casadi__MX__is_column (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_commutative" c_casadi__MX__is_commutative
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_commutative
-  :: MX -> IO Bool
-casadi__MX__is_commutative x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_commutative errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_commutative :: MXClass a => a -> IO Bool
-mx_is_commutative x = casadi__MX__is_commutative (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_constant" c_casadi__MX__is_constant
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_constant
-  :: MX -> IO Bool
-casadi__MX__is_constant x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_constant errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_constant :: MXClass a => a -> IO Bool
-mx_is_constant x = casadi__MX__is_constant (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_dense" c_casadi__MX__is_dense
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_dense
-  :: MX -> IO Bool
-casadi__MX__is_dense x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_dense errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_dense :: MXClass a => a -> IO Bool
-mx_is_dense x = casadi__MX__is_dense (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_empty__0" c_casadi__MX__is_empty__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_empty__0
-  :: MX -> IO Bool
-casadi__MX__is_empty__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_empty__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_empty__0 :: MXClass a => a -> IO Bool
-mx_is_empty__0 x = casadi__MX__is_empty__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_empty__1" c_casadi__MX__is_empty__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
-
-casadi__MX__is_empty__1
-  :: MX -> Bool -> IO Bool
-casadi__MX__is_empty__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_empty__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_empty__1 :: MXClass a => a -> Bool -> IO Bool
-mx_is_empty__1 x = casadi__MX__is_empty__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_identity" c_casadi__MX__is_identity
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_identity
-  :: MX -> IO Bool
-casadi__MX__is_identity x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_identity errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_identity :: MXClass a => a -> IO Bool
-mx_is_identity x = casadi__MX__is_identity (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_minus_one" c_casadi__MX__is_minus_one
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_minus_one
-  :: MX -> IO Bool
-casadi__MX__is_minus_one x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_minus_one errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_minus_one :: MXClass a => a -> IO Bool
-mx_is_minus_one x = casadi__MX__is_minus_one (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_multiplication" c_casadi__MX__is_multiplication
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_multiplication
-  :: MX -> IO Bool
-casadi__MX__is_multiplication x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_multiplication errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_multiplication :: MXClass a => a -> IO Bool
-mx_is_multiplication x = casadi__MX__is_multiplication (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_norm" c_casadi__MX__is_norm
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_norm
-  :: MX -> IO Bool
-casadi__MX__is_norm x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_norm errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_norm :: MXClass a => a -> IO Bool
-mx_is_norm x = casadi__MX__is_norm (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_one" c_casadi__MX__is_one
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_one
-  :: MX -> IO Bool
-casadi__MX__is_one x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_one errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_one :: MXClass a => a -> IO Bool
-mx_is_one x = casadi__MX__is_one (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_op" c_casadi__MX__is_op
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
-
-casadi__MX__is_op
-  :: MX -> Int -> IO Bool
-casadi__MX__is_op x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_op errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_op :: MXClass a => a -> Int -> IO Bool
-mx_is_op x = casadi__MX__is_op (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_output" c_casadi__MX__is_output
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_output
-  :: MX -> IO Bool
-casadi__MX__is_output x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_output errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_output :: MXClass a => a -> IO Bool
-mx_is_output x = casadi__MX__is_output (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_regular" c_casadi__MX__is_regular
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_regular
-  :: MX -> IO Bool
-casadi__MX__is_regular x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_regular errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_regular :: MXClass a => a -> IO Bool
-mx_is_regular x = casadi__MX__is_regular (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_row" c_casadi__MX__is_row
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_row
-  :: MX -> IO Bool
-casadi__MX__is_row x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_row errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_row :: MXClass a => a -> IO Bool
-mx_is_row x = casadi__MX__is_row (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_scalar__0" c_casadi__MX__is_scalar__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_scalar__0
-  :: MX -> IO Bool
-casadi__MX__is_scalar__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_scalar__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_scalar__0 :: MXClass a => a -> IO Bool
-mx_is_scalar__0 x = casadi__MX__is_scalar__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_scalar__1" c_casadi__MX__is_scalar__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
-
-casadi__MX__is_scalar__1
-  :: MX -> Bool -> IO Bool
-casadi__MX__is_scalar__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_scalar__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_scalar__1 :: MXClass a => a -> Bool -> IO Bool
-mx_is_scalar__1 x = casadi__MX__is_scalar__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_square" c_casadi__MX__is_square
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_square
-  :: MX -> IO Bool
-casadi__MX__is_square x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_square errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_square :: MXClass a => a -> IO Bool
-mx_is_square x = casadi__MX__is_square (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_symbolic" c_casadi__MX__is_symbolic
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_symbolic
-  :: MX -> IO Bool
-casadi__MX__is_symbolic x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_symbolic errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_symbolic :: MXClass a => a -> IO Bool
-mx_is_symbolic x = casadi__MX__is_symbolic (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_transpose" c_casadi__MX__is_transpose
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_transpose
-  :: MX -> IO Bool
-casadi__MX__is_transpose x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_transpose errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_transpose :: MXClass a => a -> IO Bool
-mx_is_transpose x = casadi__MX__is_transpose (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_tril" c_casadi__MX__is_tril
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_tril
-  :: MX -> IO Bool
-casadi__MX__is_tril x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_tril errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_tril :: MXClass a => a -> IO Bool
-mx_is_tril x = casadi__MX__is_tril (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_triu" c_casadi__MX__is_triu
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_triu
-  :: MX -> IO Bool
-casadi__MX__is_triu x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_triu errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_triu :: MXClass a => a -> IO Bool
-mx_is_triu x = casadi__MX__is_triu (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_unary" c_casadi__MX__is_unary
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_unary
-  :: MX -> IO Bool
-casadi__MX__is_unary x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_unary errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_unary :: MXClass a => a -> IO Bool
-mx_is_unary x = casadi__MX__is_unary (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_valid_input" c_casadi__MX__is_valid_input
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_valid_input
-  :: MX -> IO Bool
-casadi__MX__is_valid_input x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_valid_input errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_valid_input :: MXClass a => a -> IO Bool
-mx_is_valid_input x = casadi__MX__is_valid_input (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_vector" c_casadi__MX__is_vector
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_vector
-  :: MX -> IO Bool
-casadi__MX__is_vector x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_vector errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_vector :: MXClass a => a -> IO Bool
-mx_is_vector x = casadi__MX__is_vector (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__is_zero" c_casadi__MX__is_zero
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__is_zero
-  :: MX -> IO Bool
-casadi__MX__is_zero x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__is_zero errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_is_zero :: MXClass a => a -> IO Bool
-mx_is_zero x = casadi__MX__is_zero (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__0" c_casadi__MX__jac__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr MX')
-
-casadi__MX__jac__0
-  :: Function -> String -> String -> IO MX
-casadi__MX__jac__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__0 :: Function -> String -> String -> IO MX
-mx_jac__0 = casadi__MX__jac__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__1" c_casadi__MX__jac__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> IO (Ptr MX')
-
-casadi__MX__jac__1
-  :: Function -> String -> String -> Bool -> IO MX
-casadi__MX__jac__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__1 :: Function -> String -> String -> Bool -> IO MX
-mx_jac__1 = casadi__MX__jac__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__2" c_casadi__MX__jac__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> CInt -> IO (Ptr MX')
-
-casadi__MX__jac__2
-  :: Function -> String -> String -> Bool -> Bool -> IO MX
-casadi__MX__jac__2 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__2 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__2 :: Function -> String -> String -> Bool -> Bool -> IO MX
-mx_jac__2 = casadi__MX__jac__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__3" c_casadi__MX__jac__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr MX')
-
-casadi__MX__jac__3
-  :: Function -> Int -> String -> IO MX
-casadi__MX__jac__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__3 :: Function -> Int -> String -> IO MX
-mx_jac__3 = casadi__MX__jac__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__4" c_casadi__MX__jac__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> CInt -> IO (Ptr MX')
-
-casadi__MX__jac__4
-  :: Function -> Int -> String -> Bool -> IO MX
-casadi__MX__jac__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__4 :: Function -> Int -> String -> Bool -> IO MX
-mx_jac__4 = casadi__MX__jac__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__5" c_casadi__MX__jac__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> CInt -> CInt -> IO (Ptr MX')
-
-casadi__MX__jac__5
-  :: Function -> Int -> String -> Bool -> Bool -> IO MX
-casadi__MX__jac__5 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__5 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__5 :: Function -> Int -> String -> Bool -> Bool -> IO MX
-mx_jac__5 = casadi__MX__jac__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__6" c_casadi__MX__jac__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr MX')
-
-casadi__MX__jac__6
-  :: Function -> String -> IO MX
-casadi__MX__jac__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__6 :: Function -> String -> IO MX
-mx_jac__6 = casadi__MX__jac__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__7" c_casadi__MX__jac__7
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr MX')
-
-casadi__MX__jac__7
-  :: Function -> String -> Int -> IO MX
-casadi__MX__jac__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__7 :: Function -> String -> Int -> IO MX
-mx_jac__7 = casadi__MX__jac__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__8" c_casadi__MX__jac__8
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> IO (Ptr MX')
-
-casadi__MX__jac__8
-  :: Function -> String -> Int -> Bool -> IO MX
-casadi__MX__jac__8 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__8 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__8 :: Function -> String -> Int -> Bool -> IO MX
-mx_jac__8 = casadi__MX__jac__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__9" c_casadi__MX__jac__9
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr MX')
-
-casadi__MX__jac__9
-  :: Function -> String -> Int -> Bool -> Bool -> IO MX
-casadi__MX__jac__9 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__9 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__9 :: Function -> String -> Int -> Bool -> Bool -> IO MX
-mx_jac__9 = casadi__MX__jac__9
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__10" c_casadi__MX__jac__10
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr MX')
-
-casadi__MX__jac__10
-  :: Function -> IO MX
-casadi__MX__jac__10 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__10 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__10 :: Function -> IO MX
-mx_jac__10 = casadi__MX__jac__10
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__11" c_casadi__MX__jac__11
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr MX')
-
-casadi__MX__jac__11
-  :: Function -> Int -> IO MX
-casadi__MX__jac__11 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__11 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__11 :: Function -> Int -> IO MX
-mx_jac__11 = casadi__MX__jac__11
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__12" c_casadi__MX__jac__12
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr MX')
-
-casadi__MX__jac__12
-  :: Function -> Int -> Int -> IO MX
-casadi__MX__jac__12 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__12 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__12 :: Function -> Int -> Int -> IO MX
-mx_jac__12 = casadi__MX__jac__12
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__13" c_casadi__MX__jac__13
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> IO (Ptr MX')
-
-casadi__MX__jac__13
-  :: Function -> Int -> Int -> Bool -> IO MX
-casadi__MX__jac__13 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__13 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__13 :: Function -> Int -> Int -> Bool -> IO MX
-mx_jac__13 = casadi__MX__jac__13
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__jac__14" c_casadi__MX__jac__14
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr MX')
-
-casadi__MX__jac__14
-  :: Function -> Int -> Int -> Bool -> Bool -> IO MX
-casadi__MX__jac__14 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__jac__14 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-mx_jac__14 :: Function -> Int -> Int -> Bool -> Bool -> IO MX
-mx_jac__14 = casadi__MX__jac__14
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__join_primitives" c_casadi__MX__join_primitives
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-
-casadi__MX__join_primitives
-  :: MX -> Vector MX -> IO MX
-casadi__MX__join_primitives x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__join_primitives errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_join_primitives :: MXClass a => a -> Vector MX -> IO MX
-mx_join_primitives x = casadi__MX__join_primitives (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__mapping" c_casadi__MX__mapping
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr IM')
-
-casadi__MX__mapping
-  :: MX -> IO IM
-casadi__MX__mapping x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__mapping errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_mapping :: MXClass a => a -> IO IM
-mx_mapping x = casadi__MX__mapping (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__monitor" c_casadi__MX__monitor
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
-
-casadi__MX__monitor
-  :: MX -> String -> IO MX
-casadi__MX__monitor x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__monitor errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_monitor :: MXClass a => a -> String -> IO MX
-mx_monitor x = casadi__MX__monitor (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__n_dep" c_casadi__MX__n_dep
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__n_dep
-  :: MX -> IO Int
-casadi__MX__n_dep x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__n_dep errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_n_dep :: MXClass a => a -> IO Int
-mx_n_dep x = casadi__MX__n_dep (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__n_out" c_casadi__MX__n_out
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__n_out
-  :: MX -> IO Int
-casadi__MX__n_out x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__n_out errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_n_out :: MXClass a => a -> IO Int
-mx_n_out x = casadi__MX__n_out (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__n_primitives" c_casadi__MX__n_primitives
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__n_primitives
-  :: MX -> IO Int
-casadi__MX__n_primitives x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__n_primitives errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_n_primitives :: MXClass a => a -> IO Int
-mx_n_primitives x = casadi__MX__n_primitives (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__name" c_casadi__MX__name
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr StdString)
-
-casadi__MX__name
-  :: MX -> IO String
-casadi__MX__name x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__name errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_name :: MXClass a => a -> IO String
-mx_name x = casadi__MX__name (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nan__0" c_casadi__MX__nan__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr MX')
-
-casadi__MX__nan__0
-  :: (Int, Int) -> IO MX
-casadi__MX__nan__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__nan__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_nan__0 :: (Int, Int) -> IO MX
-mx_nan__0 = casadi__MX__nan__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nan__1" c_casadi__MX__nan__1
-  :: Ptr (Ptr StdString) -> IO (Ptr MX')
-
-casadi__MX__nan__1
-  :: IO MX
-casadi__MX__nan__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__nan__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-mx_nan__1 :: IO MX
-mx_nan__1 = casadi__MX__nan__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nan__2" c_casadi__MX__nan__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
-
-casadi__MX__nan__2
-  :: Int -> IO MX
-casadi__MX__nan__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__nan__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_nan__2 :: Int -> IO MX
-mx_nan__2 = casadi__MX__nan__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nan__3" c_casadi__MX__nan__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
-
-casadi__MX__nan__3
-  :: Int -> Int -> IO MX
-casadi__MX__nan__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__nan__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_nan__3 :: Int -> Int -> IO MX
-mx_nan__3 = casadi__MX__nan__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nan__4" c_casadi__MX__nan__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
-
-casadi__MX__nan__4
-  :: Sparsity -> IO MX
-casadi__MX__nan__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__nan__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_nan__4 :: Sparsity -> IO MX
-mx_nan__4 = casadi__MX__nan__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nnz" c_casadi__MX__nnz
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__nnz
-  :: MX -> IO Int
-casadi__MX__nnz x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__nnz errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_nnz :: MXClass a => a -> IO Int
-mx_nnz x = casadi__MX__nnz (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nnz_diag" c_casadi__MX__nnz_diag
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__nnz_diag
-  :: MX -> IO Int
-casadi__MX__nnz_diag x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__nnz_diag errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_nnz_diag :: MXClass a => a -> IO Int
-mx_nnz_diag x = casadi__MX__nnz_diag (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nnz_lower" c_casadi__MX__nnz_lower
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__nnz_lower
-  :: MX -> IO Int
-casadi__MX__nnz_lower x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__nnz_lower errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_nnz_lower :: MXClass a => a -> IO Int
-mx_nnz_lower x = casadi__MX__nnz_lower (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nnz_upper" c_casadi__MX__nnz_upper
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__nnz_upper
-  :: MX -> IO Int
-casadi__MX__nnz_upper x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__nnz_upper errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_nnz_upper :: MXClass a => a -> IO Int
-mx_nnz_upper x = casadi__MX__nnz_upper (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__numFunctions" c_casadi__MX__numFunctions
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__numFunctions
-  :: MX -> IO Int
-casadi__MX__numFunctions x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__numFunctions errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_numFunctions :: MXClass a => a -> IO Int
-mx_numFunctions x = casadi__MX__numFunctions (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__numel__0" c_casadi__MX__numel__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
-
-casadi__MX__numel__0
-  :: MX -> Int -> IO Int
-casadi__MX__numel__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__numel__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_numel__0 :: MXClass a => a -> Int -> IO Int
-mx_numel__0 x = casadi__MX__numel__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__numel__1" c_casadi__MX__numel__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__numel__1
-  :: MX -> IO Int
-casadi__MX__numel__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__numel__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_numel__1 :: MXClass a => a -> IO Int
-mx_numel__1 x = casadi__MX__numel__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__ones__0" c_casadi__MX__ones__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr MX')
-
-casadi__MX__ones__0
-  :: (Int, Int) -> IO MX
-casadi__MX__ones__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__ones__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_ones__0 :: (Int, Int) -> IO MX
-mx_ones__0 = casadi__MX__ones__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__ones__1" c_casadi__MX__ones__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
-
-casadi__MX__ones__1
-  :: Sparsity -> IO MX
-casadi__MX__ones__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__ones__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_ones__1 :: Sparsity -> IO MX
-mx_ones__1 = casadi__MX__ones__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__ones__2" c_casadi__MX__ones__2
-  :: Ptr (Ptr StdString) -> IO (Ptr MX')
-
-casadi__MX__ones__2
-  :: IO MX
-casadi__MX__ones__2  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__ones__2 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-mx_ones__2 :: IO MX
-mx_ones__2 = casadi__MX__ones__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__ones__3" c_casadi__MX__ones__3
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
-
-casadi__MX__ones__3
-  :: Int -> IO MX
-casadi__MX__ones__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__ones__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_ones__3 :: Int -> IO MX
-mx_ones__3 = casadi__MX__ones__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__ones__4" c_casadi__MX__ones__4
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
-
-casadi__MX__ones__4
-  :: Int -> Int -> IO MX
-casadi__MX__ones__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__ones__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_ones__4 :: Int -> Int -> IO MX
-mx_ones__4 = casadi__MX__ones__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__op" c_casadi__MX__op
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__op
-  :: MX -> IO Int
-casadi__MX__op x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__op errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_op :: MXClass a => a -> IO Int
-mx_op x = casadi__MX__op (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__operator__minus" c_casadi__MX__operator__minus
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi__MX__operator__minus
-  :: MX -> IO MX
-casadi__MX__operator__minus x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__operator__minus errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_operator__minus :: MXClass a => a -> IO MX
-mx_operator__minus x = casadi__MX__operator__minus (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__operator_casadi__Matrix_double_" c_casadi__MX__operator_casadi__Matrix_double_
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr DM')
-
-casadi__MX__operator_casadi__Matrix_double_
-  :: MX -> IO DM
-casadi__MX__operator_casadi__Matrix_double_ x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__operator_casadi__Matrix_double_ errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_operator_casadi__Matrix_double_ :: MXClass a => a -> IO DM
-mx_operator_casadi__Matrix_double_ x = casadi__MX__operator_casadi__Matrix_double_ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__operator_double" c_casadi__MX__operator_double
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CDouble
-
-casadi__MX__operator_double
-  :: MX -> IO Double
-casadi__MX__operator_double x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__operator_double errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_operator_double :: MXClass a => a -> IO Double
-mx_operator_double x = casadi__MX__operator_double (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__primitives" c_casadi__MX__primitives
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi__MX__primitives
-  :: MX -> IO (Vector MX)
-casadi__MX__primitives x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__primitives errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_primitives :: MXClass a => a -> IO (Vector MX)
-mx_primitives x = casadi__MX__primitives (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__printme" c_casadi__MX__printme
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi__MX__printme
-  :: MX -> MX -> IO MX
-casadi__MX__printme x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__printme errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_printme :: MXClass a => a -> MX -> IO MX
-mx_printme x = casadi__MX__printme (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__resetInput" c_casadi__MX__resetInput
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO ()
-
-casadi__MX__resetInput
-  :: MX -> IO ()
-casadi__MX__resetInput x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__resetInput errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-mx_resetInput :: MXClass a => a -> IO ()
-mx_resetInput x = casadi__MX__resetInput (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__row" c_casadi__MX__row
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
-
-casadi__MX__row
-  :: MX -> Int -> IO Int
-casadi__MX__row x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__row errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_row :: MXClass a => a -> Int -> IO Int
-mx_row x = casadi__MX__row (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__set__0" c_casadi__MX__set__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
-
-casadi__MX__set__0
-  :: MX -> MX -> Bool -> IM -> IM -> IO ()
-casadi__MX__set__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__set__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-mx_set__0 :: MXClass a => a -> MX -> Bool -> IM -> IM -> IO ()
-mx_set__0 x = casadi__MX__set__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__set__1" c_casadi__MX__set__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
-
-casadi__MX__set__1
-  :: MX -> MX -> Bool -> IM -> Slice -> IO ()
-casadi__MX__set__1 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__set__1 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-mx_set__1 :: MXClass a => a -> MX -> Bool -> IM -> Slice -> IO ()
-mx_set__1 x = casadi__MX__set__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__set__2" c_casadi__MX__set__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
-
-casadi__MX__set__2
-  :: MX -> MX -> Bool -> Slice -> IM -> IO ()
-casadi__MX__set__2 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__set__2 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-mx_set__2 :: MXClass a => a -> MX -> Bool -> Slice -> IM -> IO ()
-mx_set__2 x = casadi__MX__set__2 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__set__3" c_casadi__MX__set__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
-
-casadi__MX__set__3
-  :: MX -> MX -> Bool -> Slice -> Slice -> IO ()
-casadi__MX__set__3 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__set__3 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-mx_set__3 :: MXClass a => a -> MX -> Bool -> Slice -> Slice -> IO ()
-mx_set__3 x = casadi__MX__set__3 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__set__4" c_casadi__MX__set__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Sparsity' -> IO ()
-
-casadi__MX__set__4
-  :: MX -> MX -> Bool -> Sparsity -> IO ()
-casadi__MX__set__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__set__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-mx_set__4 :: MXClass a => a -> MX -> Bool -> Sparsity -> IO ()
-mx_set__4 x = casadi__MX__set__4 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__set__5" c_casadi__MX__set__5
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr IM' -> IO ()
-
-casadi__MX__set__5
-  :: MX -> MX -> Bool -> IM -> IO ()
-casadi__MX__set__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__set__5 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-mx_set__5 :: MXClass a => a -> MX -> Bool -> IM -> IO ()
-mx_set__5 x = casadi__MX__set__5 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__set__6" c_casadi__MX__set__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Slice' -> IO ()
-
-casadi__MX__set__6
-  :: MX -> MX -> Bool -> Slice -> IO ()
-casadi__MX__set__6 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__set__6 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-mx_set__6 :: MXClass a => a -> MX -> Bool -> Slice -> IO ()
-mx_set__6 x = casadi__MX__set__6 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setEqualityCheckingDepth__0" c_casadi__MX__setEqualityCheckingDepth__0
-  :: Ptr (Ptr StdString) -> IO ()
-
-casadi__MX__setEqualityCheckingDepth__0
-  :: IO ()
-casadi__MX__setEqualityCheckingDepth__0  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__setEqualityCheckingDepth__0 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ()
-
-
-
--- classy wrapper
-mx_setEqualityCheckingDepth__0 :: IO ()
-mx_setEqualityCheckingDepth__0 = casadi__MX__setEqualityCheckingDepth__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setEqualityCheckingDepth__1" c_casadi__MX__setEqualityCheckingDepth__1
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-
-casadi__MX__setEqualityCheckingDepth__1
-  :: Int -> IO ()
-casadi__MX__setEqualityCheckingDepth__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__setEqualityCheckingDepth__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-mx_setEqualityCheckingDepth__1 :: Int -> IO ()
-mx_setEqualityCheckingDepth__1 = casadi__MX__setEqualityCheckingDepth__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setTemp" c_casadi__MX__setTemp
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO ()
-
-casadi__MX__setTemp
-  :: MX -> Int -> IO ()
-casadi__MX__setTemp x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__setTemp errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-mx_setTemp :: MXClass a => a -> Int -> IO ()
-mx_setTemp x = casadi__MX__setTemp (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__set_nz__0" c_casadi__MX__set_nz__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr IM' -> IO ()
-
-casadi__MX__set_nz__0
-  :: MX -> MX -> Bool -> IM -> IO ()
-casadi__MX__set_nz__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__set_nz__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-mx_set_nz__0 :: MXClass a => a -> MX -> Bool -> IM -> IO ()
-mx_set_nz__0 x = casadi__MX__set_nz__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__set_nz__1" c_casadi__MX__set_nz__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Slice' -> IO ()
-
-casadi__MX__set_nz__1
-  :: MX -> MX -> Bool -> Slice -> IO ()
-casadi__MX__set_nz__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__set_nz__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-mx_set_nz__1 :: MXClass a => a -> MX -> Bool -> Slice -> IO ()
-mx_set_nz__1 x = casadi__MX__set_nz__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__size__0" c_casadi__MX__size__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
-
-casadi__MX__size__0
-  :: MX -> Int -> IO Int
-casadi__MX__size__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__size__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_size__0 :: MXClass a => a -> Int -> IO Int
-mx_size__0 x = casadi__MX__size__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__size__1" c_casadi__MX__size__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdPair CInt CInt))
-
-casadi__MX__size__1
-  :: MX -> IO (Int, Int)
-casadi__MX__size__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__size__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_size__1 :: MXClass a => a -> IO (Int, Int)
-mx_size__1 x = casadi__MX__size__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__size1" c_casadi__MX__size1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__size1
-  :: MX -> IO Int
-casadi__MX__size1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__size1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_size1 :: MXClass a => a -> IO Int
-mx_size1 x = casadi__MX__size1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__size2" c_casadi__MX__size2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi__MX__size2
-  :: MX -> IO Int
-casadi__MX__size2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__size2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_size2 :: MXClass a => a -> IO Int
-mx_size2 x = casadi__MX__size2 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sparsity" c_casadi__MX__sparsity
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Sparsity')
-
-casadi__MX__sparsity
-  :: MX -> IO Sparsity
-casadi__MX__sparsity x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__sparsity errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_sparsity :: MXClass a => a -> IO Sparsity
-mx_sparsity x = casadi__MX__sparsity (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__split_primitives" c_casadi__MX__split_primitives
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi__MX__split_primitives
-  :: MX -> MX -> IO (Vector MX)
-casadi__MX__split_primitives x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__split_primitives errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_split_primitives :: MXClass a => a -> MX -> IO (Vector MX)
-mx_split_primitives x = casadi__MX__split_primitives (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__0" c_casadi__MX__sym__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
-
-casadi__MX__sym__0
-  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector MX))
-casadi__MX__sym__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__sym__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-mx_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector MX))
-mx_sym__0 = casadi__MX__sym__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__1" c_casadi__MX__sym__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
-
-casadi__MX__sym__1
-  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector MX))
-casadi__MX__sym__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__sym__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-mx_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector MX))
-mx_sym__1 = casadi__MX__sym__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__2" c_casadi__MX__sym__2
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi__MX__sym__2
-  :: String -> Int -> Int -> Int -> IO (Vector MX)
-casadi__MX__sym__2 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__sym__2 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-mx_sym__2 :: String -> Int -> Int -> Int -> IO (Vector MX)
-mx_sym__2 = casadi__MX__sym__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__3" c_casadi__MX__sym__3
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi__MX__sym__3
-  :: String -> Sparsity -> Int -> IO (Vector MX)
-casadi__MX__sym__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__sym__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_sym__3 :: String -> Sparsity -> Int -> IO (Vector MX)
-mx_sym__3 = casadi__MX__sym__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__4" c_casadi__MX__sym__4
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr MX')
-
-casadi__MX__sym__4
-  :: String -> Sparsity -> IO MX
-casadi__MX__sym__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__sym__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_sym__4 :: String -> Sparsity -> IO MX
-mx_sym__4 = casadi__MX__sym__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__5" c_casadi__MX__sym__5
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdPair CInt CInt) -> IO (Ptr MX')
-
-casadi__MX__sym__5
-  :: String -> (Int, Int) -> IO MX
-casadi__MX__sym__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__sym__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_sym__5 :: String -> (Int, Int) -> IO MX
-mx_sym__5 = casadi__MX__sym__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__6" c_casadi__MX__sym__6
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr MX')
-
-casadi__MX__sym__6
-  :: String -> IO MX
-casadi__MX__sym__6 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__sym__6 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_sym__6 :: String -> IO MX
-mx_sym__6 = casadi__MX__sym__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__7" c_casadi__MX__sym__7
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> IO (Ptr MX')
-
-casadi__MX__sym__7
-  :: String -> Int -> IO MX
-casadi__MX__sym__7 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__sym__7 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_sym__7 :: String -> Int -> IO MX
-mx_sym__7 = casadi__MX__sym__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__8" c_casadi__MX__sym__8
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> IO (Ptr MX')
-
-casadi__MX__sym__8
-  :: String -> Int -> Int -> IO MX
-casadi__MX__sym__8 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__sym__8 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_sym__8 :: String -> Int -> Int -> IO MX
-mx_sym__8 = casadi__MX__sym__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__tang__0" c_casadi__MX__tang__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr MX')
-
-casadi__MX__tang__0
-  :: Function -> String -> String -> IO MX
-casadi__MX__tang__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__tang__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_tang__0 :: Function -> String -> String -> IO MX
-mx_tang__0 = casadi__MX__tang__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__tang__1" c_casadi__MX__tang__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr MX')
-
-casadi__MX__tang__1
-  :: Function -> Int -> String -> IO MX
-casadi__MX__tang__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__tang__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_tang__1 :: Function -> Int -> String -> IO MX
-mx_tang__1 = casadi__MX__tang__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__tang__2" c_casadi__MX__tang__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr MX')
-
-casadi__MX__tang__2
-  :: Function -> String -> IO MX
-casadi__MX__tang__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__tang__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_tang__2 :: Function -> String -> IO MX
-mx_tang__2 = casadi__MX__tang__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__tang__3" c_casadi__MX__tang__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr MX')
-
-casadi__MX__tang__3
-  :: Function -> String -> Int -> IO MX
-casadi__MX__tang__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__tang__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_tang__3 :: Function -> String -> Int -> IO MX
-mx_tang__3 = casadi__MX__tang__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__tang__4" c_casadi__MX__tang__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr MX')
-
-casadi__MX__tang__4
-  :: Function -> IO MX
-casadi__MX__tang__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__tang__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_tang__4 :: Function -> IO MX
-mx_tang__4 = casadi__MX__tang__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__tang__5" c_casadi__MX__tang__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr MX')
-
-casadi__MX__tang__5
-  :: Function -> Int -> IO MX
-casadi__MX__tang__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__tang__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_tang__5 :: Function -> Int -> IO MX
-mx_tang__5 = casadi__MX__tang__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__tang__6" c_casadi__MX__tang__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr MX')
-
-casadi__MX__tang__6
-  :: Function -> Int -> Int -> IO MX
-casadi__MX__tang__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__tang__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-mx_tang__6 :: Function -> Int -> Int -> IO MX
-mx_tang__6 = casadi__MX__tang__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__type_name" c_casadi__MX__type_name
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__MX__type_name
-  :: IO String
-casadi__MX__type_name  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__type_name errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-mx_type_name :: IO String
-mx_type_name = casadi__MX__type_name
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__unary" c_casadi__MX__unary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr MX' -> IO (Ptr MX')
-
-casadi__MX__unary
-  :: Int -> MX -> IO MX
-casadi__MX__unary x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__unary errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-mx_unary :: Int -> MX -> IO MX
-mx_unary = casadi__MX__unary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__zeros__0" c_casadi__MX__zeros__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr MX')
-
-casadi__MX__zeros__0
-  :: (Int, Int) -> IO MX
-casadi__MX__zeros__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__zeros__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_zeros__0 :: (Int, Int) -> IO MX
-mx_zeros__0 = casadi__MX__zeros__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__zeros__1" c_casadi__MX__zeros__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
-
-casadi__MX__zeros__1
-  :: Sparsity -> IO MX
-casadi__MX__zeros__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__zeros__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_zeros__1 :: Sparsity -> IO MX
-mx_zeros__1 = casadi__MX__zeros__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__zeros__2" c_casadi__MX__zeros__2
-  :: Ptr (Ptr StdString) -> IO (Ptr MX')
-
-casadi__MX__zeros__2
-  :: IO MX
-casadi__MX__zeros__2  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__zeros__2 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-mx_zeros__2 :: IO MX
-mx_zeros__2 = casadi__MX__zeros__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__zeros__3" c_casadi__MX__zeros__3
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
-
-casadi__MX__zeros__3
-  :: Int -> IO MX
-casadi__MX__zeros__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__MX__zeros__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-mx_zeros__3 :: Int -> IO MX
-mx_zeros__3 = casadi__MX__zeros__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__zeros__4" c_casadi__MX__zeros__4
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
+         mx_columns,
+         mx_dep__0,
+         mx_dep__1,
+         mx_dim__0,
+         mx_dim__1,
+         mx_einstein__0,
+         mx_einstein__1,
+         mx_enlarge__0,
+         mx_enlarge__1,
+         mx_erase__0,
+         mx_erase__1,
+         mx_erase__2,
+         mx_erase__3,
+         mx_eye,
+         mx_get__0,
+         mx_get__1,
+         mx_get__2,
+         mx_get__3,
+         mx_get__4,
+         mx_get__5,
+         mx_get__6,
+         mx_get_colind,
+         mx_get_free,
+         mx_get_input,
+         mx_get_max_depth,
+         mx_get_nz__0,
+         mx_get_nz__1,
+         mx_get_output,
+         mx_get_row,
+         mx_get_sparsity,
+         mx_get_temp,
+         mx_has_duplicates,
+         mx_inf__0,
+         mx_inf__1,
+         mx_inf__2,
+         mx_inf__3,
+         mx_inf__4,
+         mx_info,
+         mx_is_binary,
+         mx_is_call,
+         mx_is_column,
+         mx_is_commutative,
+         mx_is_constant,
+         mx_is_dense,
+         mx_is_empty__0,
+         mx_is_empty__1,
+         mx_is_eye,
+         mx_is_minus_one,
+         mx_is_multiplication,
+         mx_is_norm,
+         mx_is_one,
+         mx_is_op,
+         mx_is_output,
+         mx_is_regular,
+         mx_is_row,
+         mx_is_scalar__0,
+         mx_is_scalar__1,
+         mx_is_square,
+         mx_is_symbolic,
+         mx_is_transpose,
+         mx_is_tril,
+         mx_is_triu,
+         mx_is_unary,
+         mx_is_valid_input,
+         mx_is_vector,
+         mx_is_zero,
+         mx_join_primitives,
+         mx_mapping,
+         mx_monitor,
+         mx_n_dep,
+         mx_n_out,
+         mx_n_primitives,
+         mx_name,
+         mx_nan__0,
+         mx_nan__1,
+         mx_nan__2,
+         mx_nan__3,
+         mx_nan__4,
+         mx_nnz,
+         mx_nnz_diag,
+         mx_nnz_lower,
+         mx_nnz_upper,
+         mx_numel,
+         mx_ones__0,
+         mx_ones__1,
+         mx_ones__2,
+         mx_ones__3,
+         mx_ones__4,
+         mx_op,
+         mx_operator__minus,
+         mx_operator_casadi__Matrix_double_,
+         mx_operator_double,
+         mx_primitives,
+         mx_printme,
+         mx_reset_input,
+         mx_row,
+         mx_rows,
+         mx_set__0,
+         mx_set__1,
+         mx_set__2,
+         mx_set__3,
+         mx_set__4,
+         mx_set__5,
+         mx_set__6,
+         mx_set_max_depth__0,
+         mx_set_max_depth__1,
+         mx_set_nz__0,
+         mx_set_nz__1,
+         mx_set_temp,
+         mx_size1,
+         mx_size2,
+         mx_size__0,
+         mx_size__1,
+         mx_sparsity,
+         mx_split_primitives,
+         mx_sym__0,
+         mx_sym__1,
+         mx_sym__2,
+         mx_sym__3,
+         mx_sym__4,
+         mx_sym__5,
+         mx_sym__6,
+         mx_sym__7,
+         mx_sym__8,
+         mx_type_name,
+         mx_unary,
+         mx_which_function,
+         mx_which_output,
+         mx_zeros__0,
+         mx_zeros__1,
+         mx_zeros__2,
+         mx_zeros__3,
+         mx_zeros__4,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__0" c_casadi__MX__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr MX')
+
+casadi__MX__CONSTRUCTOR__0
+  :: DM -> IO MX
+casadi__MX__CONSTRUCTOR__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__CONSTRUCTOR__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx__0 :: DM -> IO MX
+mx__0 = casadi__MX__CONSTRUCTOR__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__1" c_casadi__MX__CONSTRUCTOR__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr MX')
+
+casadi__MX__CONSTRUCTOR__1
+  :: Vector Double -> IO MX
+casadi__MX__CONSTRUCTOR__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__CONSTRUCTOR__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx__1 :: Vector Double -> IO MX
+mx__1 = casadi__MX__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__2" c_casadi__MX__CONSTRUCTOR__2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi__MX__CONSTRUCTOR__2
+  :: MX -> IO MX
+casadi__MX__CONSTRUCTOR__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__CONSTRUCTOR__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx__2 :: MX -> IO MX
+mx__2 = casadi__MX__CONSTRUCTOR__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__3" c_casadi__MX__CONSTRUCTOR__3
+  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr MX')
+
+casadi__MX__CONSTRUCTOR__3
+  :: Double -> IO MX
+casadi__MX__CONSTRUCTOR__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__CONSTRUCTOR__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx__3 :: Double -> IO MX
+mx__3 = casadi__MX__CONSTRUCTOR__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__4" c_casadi__MX__CONSTRUCTOR__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr MX' -> IO (Ptr MX')
+
+casadi__MX__CONSTRUCTOR__4
+  :: Sparsity -> MX -> IO MX
+casadi__MX__CONSTRUCTOR__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__CONSTRUCTOR__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx__4 :: Sparsity -> MX -> IO MX
+mx__4 = casadi__MX__CONSTRUCTOR__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__5" c_casadi__MX__CONSTRUCTOR__5
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
+
+casadi__MX__CONSTRUCTOR__5
+  :: Sparsity -> IO MX
+casadi__MX__CONSTRUCTOR__5 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__CONSTRUCTOR__5 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx__5 :: Sparsity -> IO MX
+mx__5 = casadi__MX__CONSTRUCTOR__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__6" c_casadi__MX__CONSTRUCTOR__6
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr MX')
+
+casadi__MX__CONSTRUCTOR__6
+  :: Int -> Int -> IO MX
+casadi__MX__CONSTRUCTOR__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__CONSTRUCTOR__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx__6 :: Int -> Int -> IO MX
+mx__6 = casadi__MX__CONSTRUCTOR__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__7" c_casadi__MX__CONSTRUCTOR__7
+  :: Ptr (Ptr StdString) -> IO (Ptr MX')
+
+casadi__MX__CONSTRUCTOR__7
+  :: IO MX
+casadi__MX__CONSTRUCTOR__7  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__CONSTRUCTOR__7 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+mx__7 :: IO MX
+mx__7 = casadi__MX__CONSTRUCTOR__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__T" c_casadi__MX__T
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi__MX__T
+  :: MX -> IO MX
+casadi__MX__T x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__T errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_T :: MXClass a => a -> IO MX
+mx_T x = casadi__MX__T (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX____nonzero__" c_casadi__MX____nonzero__
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX____nonzero__
+  :: MX -> IO Bool
+casadi__MX____nonzero__ x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX____nonzero__ errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx___nonzero__ :: MXClass a => a -> IO Bool
+mx___nonzero__ x = casadi__MX____nonzero__ (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__attachAssert__0" c_casadi__MX__attachAssert__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi__MX__attachAssert__0
+  :: MX -> MX -> IO MX
+casadi__MX__attachAssert__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__attachAssert__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_attachAssert__0 :: MXClass a => a -> MX -> IO MX
+mx_attachAssert__0 x = casadi__MX__attachAssert__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__attachAssert__1" c_casadi__MX__attachAssert__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
+
+casadi__MX__attachAssert__1
+  :: MX -> MX -> String -> IO MX
+casadi__MX__attachAssert__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__attachAssert__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_attachAssert__1 :: MXClass a => a -> MX -> String -> IO MX
+mx_attachAssert__1 x = casadi__MX__attachAssert__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__binary" c_casadi__MX__binary
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi__MX__binary
+  :: Int -> MX -> MX -> IO MX
+casadi__MX__binary x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__binary errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_binary :: Int -> MX -> MX -> IO MX
+mx_binary = casadi__MX__binary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__colind" c_casadi__MX__colind
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO CLLong
+
+casadi__MX__colind
+  :: MX -> Int -> IO Int
+casadi__MX__colind x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__colind errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_colind :: MXClass a => a -> Int -> IO Int
+mx_colind x = casadi__MX__colind (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__columns" c_casadi__MX__columns
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__columns
+  :: MX -> IO Int
+casadi__MX__columns x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__columns errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_columns :: MXClass a => a -> IO Int
+mx_columns x = casadi__MX__columns (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__dep__0" c_casadi__MX__dep__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi__MX__dep__0
+  :: MX -> IO MX
+casadi__MX__dep__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__dep__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_dep__0 :: MXClass a => a -> IO MX
+mx_dep__0 x = casadi__MX__dep__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__dep__1" c_casadi__MX__dep__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO (Ptr MX')
+
+casadi__MX__dep__1
+  :: MX -> Int -> IO MX
+casadi__MX__dep__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__dep__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_dep__1 :: MXClass a => a -> Int -> IO MX
+mx_dep__1 x = casadi__MX__dep__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__dim__0" c_casadi__MX__dim__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr StdString)
+
+casadi__MX__dim__0
+  :: MX -> IO String
+casadi__MX__dim__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__dim__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_dim__0 :: MXClass a => a -> IO String
+mx_dim__0 x = casadi__MX__dim__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__dim__1" c_casadi__MX__dim__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr StdString)
+
+casadi__MX__dim__1
+  :: MX -> Bool -> IO String
+casadi__MX__dim__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__dim__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_dim__1 :: MXClass a => a -> Bool -> IO String
+mx_dim__1 x = casadi__MX__dim__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__einstein__0" c_casadi__MX__einstein__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr MX')
+
+casadi__MX__einstein__0
+  :: MX -> MX -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO MX
+casadi__MX__einstein__0 x0 x1 x2 x3 x4 x5 x6 x7 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+  x7' <- marshal x7
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__einstein__0 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+  marshalFree x7 x7'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_einstein__0 :: MX -> MX -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO MX
+mx_einstein__0 = casadi__MX__einstein__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__einstein__1" c_casadi__MX__einstein__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr MX')
+
+casadi__MX__einstein__1
+  :: MX -> MX -> MX -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO MX
+casadi__MX__einstein__1 x0 x1 x2 x3 x4 x5 x6 x7 x8 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+  x7' <- marshal x7
+  x8' <- marshal x8
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__einstein__1 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+  marshalFree x7 x7'
+  marshalFree x8 x8'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_einstein__1 :: MX -> MX -> MX -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO MX
+mx_einstein__1 = casadi__MX__einstein__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__enlarge__0" c_casadi__MX__enlarge__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__MX__enlarge__0
+  :: MX -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+casadi__MX__enlarge__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_enlarge__0 :: MXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+mx_enlarge__0 x = casadi__MX__enlarge__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__enlarge__1" c_casadi__MX__enlarge__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__MX__enlarge__1
+  :: MX -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__MX__enlarge__1 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_enlarge__1 :: MXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+mx_enlarge__1 x = casadi__MX__enlarge__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__erase__0" c_casadi__MX__erase__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__MX__erase__0
+  :: MX -> Vector Int -> IO ()
+casadi__MX__erase__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__erase__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_erase__0 :: MXClass a => a -> Vector Int -> IO ()
+mx_erase__0 x = casadi__MX__erase__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__erase__1" c_casadi__MX__erase__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__MX__erase__1
+  :: MX -> Vector Int -> Bool -> IO ()
+casadi__MX__erase__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__erase__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_erase__1 :: MXClass a => a -> Vector Int -> Bool -> IO ()
+mx_erase__1 x = casadi__MX__erase__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__erase__2" c_casadi__MX__erase__2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__MX__erase__2
+  :: MX -> Vector Int -> Vector Int -> IO ()
+casadi__MX__erase__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__erase__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_erase__2 :: MXClass a => a -> Vector Int -> Vector Int -> IO ()
+mx_erase__2 x = casadi__MX__erase__2 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__erase__3" c_casadi__MX__erase__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__MX__erase__3
+  :: MX -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__MX__erase__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__erase__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_erase__3 :: MXClass a => a -> Vector Int -> Vector Int -> Bool -> IO ()
+mx_erase__3 x = casadi__MX__erase__3 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__eye" c_casadi__MX__eye
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr MX')
+
+casadi__MX__eye
+  :: Int -> IO MX
+casadi__MX__eye x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__eye errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_eye :: Int -> IO MX
+mx_eye = casadi__MX__eye
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get__0" c_casadi__MX__get__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
+
+casadi__MX__get__0
+  :: MX -> Bool -> IM -> IM -> IO (MX)
+casadi__MX__get__0 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get__0 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get__0/c_casadi__MX__get__0" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+mx_get__0 :: MXClass a => a -> Bool -> IM -> IM -> IO (MX)
+mx_get__0 x = casadi__MX__get__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get__1" c_casadi__MX__get__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
+
+casadi__MX__get__1
+  :: MX -> Bool -> IM -> Slice -> IO (MX)
+casadi__MX__get__1 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get__1 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get__1/c_casadi__MX__get__1" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+mx_get__1 :: MXClass a => a -> Bool -> IM -> Slice -> IO (MX)
+mx_get__1 x = casadi__MX__get__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get__2" c_casadi__MX__get__2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
+
+casadi__MX__get__2
+  :: MX -> Bool -> Slice -> IM -> IO (MX)
+casadi__MX__get__2 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get__2 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get__2/c_casadi__MX__get__2" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+mx_get__2 :: MXClass a => a -> Bool -> Slice -> IM -> IO (MX)
+mx_get__2 x = casadi__MX__get__2 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get__3" c_casadi__MX__get__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
+
+casadi__MX__get__3
+  :: MX -> Bool -> Slice -> Slice -> IO (MX)
+casadi__MX__get__3 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get__3 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get__3/c_casadi__MX__get__3" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+mx_get__3 :: MXClass a => a -> Bool -> Slice -> Slice -> IO (MX)
+mx_get__3 x = casadi__MX__get__3 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get__4" c_casadi__MX__get__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr Sparsity' -> IO ()
+
+casadi__MX__get__4
+  :: MX -> Bool -> Sparsity -> IO (MX)
+casadi__MX__get__4 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get__4 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get__4/c_casadi__MX__get__4" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+mx_get__4 :: MXClass a => a -> Bool -> Sparsity -> IO (MX)
+mx_get__4 x = casadi__MX__get__4 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get__5" c_casadi__MX__get__5
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr IM' -> IO ()
+
+casadi__MX__get__5
+  :: MX -> Bool -> IM -> IO (MX)
+casadi__MX__get__5 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get__5 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get__5/c_casadi__MX__get__5" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+mx_get__5 :: MXClass a => a -> Bool -> IM -> IO (MX)
+mx_get__5 x = casadi__MX__get__5 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get__6" c_casadi__MX__get__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr Slice' -> IO ()
+
+casadi__MX__get__6
+  :: MX -> Bool -> Slice -> IO (MX)
+casadi__MX__get__6 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get__6 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get__6/c_casadi__MX__get__6" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+mx_get__6 :: MXClass a => a -> Bool -> Slice -> IO (MX)
+mx_get__6 x = casadi__MX__get__6 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get_colind" c_casadi__MX__get_colind
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec CLLong))
+
+casadi__MX__get_colind
+  :: MX -> IO (Vector Int)
+casadi__MX__get_colind x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get_colind errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_get_colind :: MXClass a => a -> IO (Vector Int)
+mx_get_colind x = casadi__MX__get_colind (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get_free" c_casadi__MX__get_free
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__MX__get_free
+  :: Function -> IO (Vector MX)
+casadi__MX__get_free x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get_free errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_get_free :: Function -> IO (Vector MX)
+mx_get_free = casadi__MX__get_free
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get_input" c_casadi__MX__get_input
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__MX__get_input
+  :: Function -> IO (Vector MX)
+casadi__MX__get_input x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get_input errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_get_input :: Function -> IO (Vector MX)
+mx_get_input = casadi__MX__get_input
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get_max_depth" c_casadi__MX__get_max_depth
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+casadi__MX__get_max_depth
+  :: IO Int
+casadi__MX__get_max_depth  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get_max_depth errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+mx_get_max_depth :: IO Int
+mx_get_max_depth = casadi__MX__get_max_depth
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get_nz__0" c_casadi__MX__get_nz__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr IM' -> IO ()
+
+casadi__MX__get_nz__0
+  :: MX -> Bool -> IM -> IO (MX)
+casadi__MX__get_nz__0 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get_nz__0 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get_nz__0/c_casadi__MX__get_nz__0" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+mx_get_nz__0 :: MXClass a => a -> Bool -> IM -> IO (MX)
+mx_get_nz__0 x = casadi__MX__get_nz__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get_nz__1" c_casadi__MX__get_nz__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (Ptr MX') -> CInt -> Ptr Slice' -> IO ()
+
+casadi__MX__get_nz__1
+  :: MX -> Bool -> Slice -> IO (MX)
+casadi__MX__get_nz__1 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get_nz__1 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__MX__get_nz__1/c_casadi__MX__get_nz__1" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+mx_get_nz__1 :: MXClass a => a -> Bool -> Slice -> IO (MX)
+mx_get_nz__1 x = casadi__MX__get_nz__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get_output" c_casadi__MX__get_output
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO (Ptr MX')
+
+casadi__MX__get_output
+  :: MX -> Int -> IO MX
+casadi__MX__get_output x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get_output errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_get_output :: MXClass a => a -> Int -> IO MX
+mx_get_output x = casadi__MX__get_output (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get_row" c_casadi__MX__get_row
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec CLLong))
+
+casadi__MX__get_row
+  :: MX -> IO (Vector Int)
+casadi__MX__get_row x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get_row errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_get_row :: MXClass a => a -> IO (Vector Int)
+mx_get_row x = casadi__MX__get_row (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get_sparsity" c_casadi__MX__get_sparsity
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Sparsity')
+
+casadi__MX__get_sparsity
+  :: MX -> IO Sparsity
+casadi__MX__get_sparsity x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get_sparsity errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_get_sparsity :: MXClass a => a -> IO Sparsity
+mx_get_sparsity x = casadi__MX__get_sparsity (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__get_temp" c_casadi__MX__get_temp
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__get_temp
+  :: MX -> IO Int
+casadi__MX__get_temp x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__get_temp errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_get_temp :: MXClass a => a -> IO Int
+mx_get_temp x = casadi__MX__get_temp (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__has_duplicates" c_casadi__MX__has_duplicates
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__has_duplicates
+  :: MX -> IO Bool
+casadi__MX__has_duplicates x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__has_duplicates errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_has_duplicates :: MXClass a => a -> IO Bool
+mx_has_duplicates x = casadi__MX__has_duplicates (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__inf__0" c_casadi__MX__inf__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr MX')
+
+casadi__MX__inf__0
+  :: (Int, Int) -> IO MX
+casadi__MX__inf__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__inf__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_inf__0 :: (Int, Int) -> IO MX
+mx_inf__0 = casadi__MX__inf__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__inf__1" c_casadi__MX__inf__1
+  :: Ptr (Ptr StdString) -> IO (Ptr MX')
+
+casadi__MX__inf__1
+  :: IO MX
+casadi__MX__inf__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__inf__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+mx_inf__1 :: IO MX
+mx_inf__1 = casadi__MX__inf__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__inf__2" c_casadi__MX__inf__2
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr MX')
+
+casadi__MX__inf__2
+  :: Int -> IO MX
+casadi__MX__inf__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__inf__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_inf__2 :: Int -> IO MX
+mx_inf__2 = casadi__MX__inf__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__inf__3" c_casadi__MX__inf__3
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr MX')
+
+casadi__MX__inf__3
+  :: Int -> Int -> IO MX
+casadi__MX__inf__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__inf__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_inf__3 :: Int -> Int -> IO MX
+mx_inf__3 = casadi__MX__inf__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__inf__4" c_casadi__MX__inf__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
+
+casadi__MX__inf__4
+  :: Sparsity -> IO MX
+casadi__MX__inf__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__inf__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_inf__4 :: Sparsity -> IO MX
+mx_inf__4 = casadi__MX__inf__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__info" c_casadi__MX__info
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdMap StdString (Ptr GenericType')))
+
+casadi__MX__info
+  :: MX -> IO (M.Map String GenericType)
+casadi__MX__info x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__info errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_info :: MXClass a => a -> IO (M.Map String GenericType)
+mx_info x = casadi__MX__info (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_binary" c_casadi__MX__is_binary
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_binary
+  :: MX -> IO Bool
+casadi__MX__is_binary x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_binary errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_binary :: MXClass a => a -> IO Bool
+mx_is_binary x = casadi__MX__is_binary (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_call" c_casadi__MX__is_call
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_call
+  :: MX -> IO Bool
+casadi__MX__is_call x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_call errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_call :: MXClass a => a -> IO Bool
+mx_is_call x = casadi__MX__is_call (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_column" c_casadi__MX__is_column
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_column
+  :: MX -> IO Bool
+casadi__MX__is_column x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_column errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_column :: MXClass a => a -> IO Bool
+mx_is_column x = casadi__MX__is_column (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_commutative" c_casadi__MX__is_commutative
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_commutative
+  :: MX -> IO Bool
+casadi__MX__is_commutative x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_commutative errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_commutative :: MXClass a => a -> IO Bool
+mx_is_commutative x = casadi__MX__is_commutative (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_constant" c_casadi__MX__is_constant
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_constant
+  :: MX -> IO Bool
+casadi__MX__is_constant x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_constant errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_constant :: MXClass a => a -> IO Bool
+mx_is_constant x = casadi__MX__is_constant (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_dense" c_casadi__MX__is_dense
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_dense
+  :: MX -> IO Bool
+casadi__MX__is_dense x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_dense errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_dense :: MXClass a => a -> IO Bool
+mx_is_dense x = casadi__MX__is_dense (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_empty__0" c_casadi__MX__is_empty__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_empty__0
+  :: MX -> IO Bool
+casadi__MX__is_empty__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_empty__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_empty__0 :: MXClass a => a -> IO Bool
+mx_is_empty__0 x = casadi__MX__is_empty__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_empty__1" c_casadi__MX__is_empty__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
+
+casadi__MX__is_empty__1
+  :: MX -> Bool -> IO Bool
+casadi__MX__is_empty__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_empty__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_empty__1 :: MXClass a => a -> Bool -> IO Bool
+mx_is_empty__1 x = casadi__MX__is_empty__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_eye" c_casadi__MX__is_eye
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_eye
+  :: MX -> IO Bool
+casadi__MX__is_eye x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_eye errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_eye :: MXClass a => a -> IO Bool
+mx_is_eye x = casadi__MX__is_eye (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_minus_one" c_casadi__MX__is_minus_one
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_minus_one
+  :: MX -> IO Bool
+casadi__MX__is_minus_one x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_minus_one errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_minus_one :: MXClass a => a -> IO Bool
+mx_is_minus_one x = casadi__MX__is_minus_one (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_multiplication" c_casadi__MX__is_multiplication
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_multiplication
+  :: MX -> IO Bool
+casadi__MX__is_multiplication x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_multiplication errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_multiplication :: MXClass a => a -> IO Bool
+mx_is_multiplication x = casadi__MX__is_multiplication (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_norm" c_casadi__MX__is_norm
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_norm
+  :: MX -> IO Bool
+casadi__MX__is_norm x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_norm errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_norm :: MXClass a => a -> IO Bool
+mx_is_norm x = casadi__MX__is_norm (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_one" c_casadi__MX__is_one
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_one
+  :: MX -> IO Bool
+casadi__MX__is_one x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_one errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_one :: MXClass a => a -> IO Bool
+mx_is_one x = casadi__MX__is_one (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_op" c_casadi__MX__is_op
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO CInt
+
+casadi__MX__is_op
+  :: MX -> Int -> IO Bool
+casadi__MX__is_op x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_op errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_op :: MXClass a => a -> Int -> IO Bool
+mx_is_op x = casadi__MX__is_op (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_output" c_casadi__MX__is_output
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_output
+  :: MX -> IO Bool
+casadi__MX__is_output x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_output errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_output :: MXClass a => a -> IO Bool
+mx_is_output x = casadi__MX__is_output (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_regular" c_casadi__MX__is_regular
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_regular
+  :: MX -> IO Bool
+casadi__MX__is_regular x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_regular errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_regular :: MXClass a => a -> IO Bool
+mx_is_regular x = casadi__MX__is_regular (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_row" c_casadi__MX__is_row
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_row
+  :: MX -> IO Bool
+casadi__MX__is_row x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_row errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_row :: MXClass a => a -> IO Bool
+mx_is_row x = casadi__MX__is_row (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_scalar__0" c_casadi__MX__is_scalar__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_scalar__0
+  :: MX -> IO Bool
+casadi__MX__is_scalar__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_scalar__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_scalar__0 :: MXClass a => a -> IO Bool
+mx_is_scalar__0 x = casadi__MX__is_scalar__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_scalar__1" c_casadi__MX__is_scalar__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
+
+casadi__MX__is_scalar__1
+  :: MX -> Bool -> IO Bool
+casadi__MX__is_scalar__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_scalar__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_scalar__1 :: MXClass a => a -> Bool -> IO Bool
+mx_is_scalar__1 x = casadi__MX__is_scalar__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_square" c_casadi__MX__is_square
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_square
+  :: MX -> IO Bool
+casadi__MX__is_square x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_square errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_square :: MXClass a => a -> IO Bool
+mx_is_square x = casadi__MX__is_square (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_symbolic" c_casadi__MX__is_symbolic
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_symbolic
+  :: MX -> IO Bool
+casadi__MX__is_symbolic x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_symbolic errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_symbolic :: MXClass a => a -> IO Bool
+mx_is_symbolic x = casadi__MX__is_symbolic (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_transpose" c_casadi__MX__is_transpose
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_transpose
+  :: MX -> IO Bool
+casadi__MX__is_transpose x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_transpose errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_transpose :: MXClass a => a -> IO Bool
+mx_is_transpose x = casadi__MX__is_transpose (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_tril" c_casadi__MX__is_tril
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_tril
+  :: MX -> IO Bool
+casadi__MX__is_tril x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_tril errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_tril :: MXClass a => a -> IO Bool
+mx_is_tril x = casadi__MX__is_tril (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_triu" c_casadi__MX__is_triu
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_triu
+  :: MX -> IO Bool
+casadi__MX__is_triu x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_triu errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_triu :: MXClass a => a -> IO Bool
+mx_is_triu x = casadi__MX__is_triu (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_unary" c_casadi__MX__is_unary
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_unary
+  :: MX -> IO Bool
+casadi__MX__is_unary x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_unary errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_unary :: MXClass a => a -> IO Bool
+mx_is_unary x = casadi__MX__is_unary (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_valid_input" c_casadi__MX__is_valid_input
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_valid_input
+  :: MX -> IO Bool
+casadi__MX__is_valid_input x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_valid_input errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_valid_input :: MXClass a => a -> IO Bool
+mx_is_valid_input x = casadi__MX__is_valid_input (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_vector" c_casadi__MX__is_vector
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_vector
+  :: MX -> IO Bool
+casadi__MX__is_vector x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_vector errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_vector :: MXClass a => a -> IO Bool
+mx_is_vector x = casadi__MX__is_vector (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__is_zero" c_casadi__MX__is_zero
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+
+casadi__MX__is_zero
+  :: MX -> IO Bool
+casadi__MX__is_zero x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__is_zero errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_is_zero :: MXClass a => a -> IO Bool
+mx_is_zero x = casadi__MX__is_zero (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__join_primitives" c_casadi__MX__join_primitives
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+
+casadi__MX__join_primitives
+  :: MX -> Vector MX -> IO MX
+casadi__MX__join_primitives x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__join_primitives errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_join_primitives :: MXClass a => a -> Vector MX -> IO MX
+mx_join_primitives x = casadi__MX__join_primitives (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__mapping" c_casadi__MX__mapping
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr IM')
+
+casadi__MX__mapping
+  :: MX -> IO IM
+casadi__MX__mapping x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__mapping errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_mapping :: MXClass a => a -> IO IM
+mx_mapping x = casadi__MX__mapping (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__monitor" c_casadi__MX__monitor
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
+
+casadi__MX__monitor
+  :: MX -> String -> IO MX
+casadi__MX__monitor x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__monitor errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_monitor :: MXClass a => a -> String -> IO MX
+mx_monitor x = casadi__MX__monitor (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__n_dep" c_casadi__MX__n_dep
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__n_dep
+  :: MX -> IO Int
+casadi__MX__n_dep x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__n_dep errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_n_dep :: MXClass a => a -> IO Int
+mx_n_dep x = casadi__MX__n_dep (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__n_out" c_casadi__MX__n_out
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__n_out
+  :: MX -> IO Int
+casadi__MX__n_out x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__n_out errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_n_out :: MXClass a => a -> IO Int
+mx_n_out x = casadi__MX__n_out (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__n_primitives" c_casadi__MX__n_primitives
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__n_primitives
+  :: MX -> IO Int
+casadi__MX__n_primitives x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__n_primitives errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_n_primitives :: MXClass a => a -> IO Int
+mx_n_primitives x = casadi__MX__n_primitives (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__name" c_casadi__MX__name
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr StdString)
+
+casadi__MX__name
+  :: MX -> IO String
+casadi__MX__name x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__name errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_name :: MXClass a => a -> IO String
+mx_name x = casadi__MX__name (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__nan__0" c_casadi__MX__nan__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr MX')
+
+casadi__MX__nan__0
+  :: (Int, Int) -> IO MX
+casadi__MX__nan__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__nan__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_nan__0 :: (Int, Int) -> IO MX
+mx_nan__0 = casadi__MX__nan__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__nan__1" c_casadi__MX__nan__1
+  :: Ptr (Ptr StdString) -> IO (Ptr MX')
+
+casadi__MX__nan__1
+  :: IO MX
+casadi__MX__nan__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__nan__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+mx_nan__1 :: IO MX
+mx_nan__1 = casadi__MX__nan__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__nan__2" c_casadi__MX__nan__2
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr MX')
+
+casadi__MX__nan__2
+  :: Int -> IO MX
+casadi__MX__nan__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__nan__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_nan__2 :: Int -> IO MX
+mx_nan__2 = casadi__MX__nan__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__nan__3" c_casadi__MX__nan__3
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr MX')
+
+casadi__MX__nan__3
+  :: Int -> Int -> IO MX
+casadi__MX__nan__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__nan__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_nan__3 :: Int -> Int -> IO MX
+mx_nan__3 = casadi__MX__nan__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__nan__4" c_casadi__MX__nan__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
+
+casadi__MX__nan__4
+  :: Sparsity -> IO MX
+casadi__MX__nan__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__nan__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_nan__4 :: Sparsity -> IO MX
+mx_nan__4 = casadi__MX__nan__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__nnz" c_casadi__MX__nnz
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__nnz
+  :: MX -> IO Int
+casadi__MX__nnz x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__nnz errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_nnz :: MXClass a => a -> IO Int
+mx_nnz x = casadi__MX__nnz (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__nnz_diag" c_casadi__MX__nnz_diag
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__nnz_diag
+  :: MX -> IO Int
+casadi__MX__nnz_diag x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__nnz_diag errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_nnz_diag :: MXClass a => a -> IO Int
+mx_nnz_diag x = casadi__MX__nnz_diag (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__nnz_lower" c_casadi__MX__nnz_lower
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__nnz_lower
+  :: MX -> IO Int
+casadi__MX__nnz_lower x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__nnz_lower errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_nnz_lower :: MXClass a => a -> IO Int
+mx_nnz_lower x = casadi__MX__nnz_lower (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__nnz_upper" c_casadi__MX__nnz_upper
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__nnz_upper
+  :: MX -> IO Int
+casadi__MX__nnz_upper x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__nnz_upper errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_nnz_upper :: MXClass a => a -> IO Int
+mx_nnz_upper x = casadi__MX__nnz_upper (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__numel" c_casadi__MX__numel
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__numel
+  :: MX -> IO Int
+casadi__MX__numel x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__numel errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_numel :: MXClass a => a -> IO Int
+mx_numel x = casadi__MX__numel (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__ones__0" c_casadi__MX__ones__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr MX')
+
+casadi__MX__ones__0
+  :: (Int, Int) -> IO MX
+casadi__MX__ones__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__ones__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_ones__0 :: (Int, Int) -> IO MX
+mx_ones__0 = casadi__MX__ones__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__ones__1" c_casadi__MX__ones__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
+
+casadi__MX__ones__1
+  :: Sparsity -> IO MX
+casadi__MX__ones__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__ones__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_ones__1 :: Sparsity -> IO MX
+mx_ones__1 = casadi__MX__ones__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__ones__2" c_casadi__MX__ones__2
+  :: Ptr (Ptr StdString) -> IO (Ptr MX')
+
+casadi__MX__ones__2
+  :: IO MX
+casadi__MX__ones__2  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__ones__2 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+mx_ones__2 :: IO MX
+mx_ones__2 = casadi__MX__ones__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__ones__3" c_casadi__MX__ones__3
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr MX')
+
+casadi__MX__ones__3
+  :: Int -> IO MX
+casadi__MX__ones__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__ones__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_ones__3 :: Int -> IO MX
+mx_ones__3 = casadi__MX__ones__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__ones__4" c_casadi__MX__ones__4
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr MX')
+
+casadi__MX__ones__4
+  :: Int -> Int -> IO MX
+casadi__MX__ones__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__ones__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_ones__4 :: Int -> Int -> IO MX
+mx_ones__4 = casadi__MX__ones__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__op" c_casadi__MX__op
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__op
+  :: MX -> IO Int
+casadi__MX__op x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__op errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_op :: MXClass a => a -> IO Int
+mx_op x = casadi__MX__op (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__operator__minus" c_casadi__MX__operator__minus
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi__MX__operator__minus
+  :: MX -> IO MX
+casadi__MX__operator__minus x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__operator__minus errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_operator__minus :: MXClass a => a -> IO MX
+mx_operator__minus x = casadi__MX__operator__minus (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__operator_casadi__Matrix_double_" c_casadi__MX__operator_casadi__Matrix_double_
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr DM')
+
+casadi__MX__operator_casadi__Matrix_double_
+  :: MX -> IO DM
+casadi__MX__operator_casadi__Matrix_double_ x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__operator_casadi__Matrix_double_ errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_operator_casadi__Matrix_double_ :: MXClass a => a -> IO DM
+mx_operator_casadi__Matrix_double_ x = casadi__MX__operator_casadi__Matrix_double_ (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__operator_double" c_casadi__MX__operator_double
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CDouble
+
+casadi__MX__operator_double
+  :: MX -> IO Double
+casadi__MX__operator_double x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__operator_double errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_operator_double :: MXClass a => a -> IO Double
+mx_operator_double x = casadi__MX__operator_double (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__primitives" c_casadi__MX__primitives
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__MX__primitives
+  :: MX -> IO (Vector MX)
+casadi__MX__primitives x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__primitives errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_primitives :: MXClass a => a -> IO (Vector MX)
+mx_primitives x = casadi__MX__primitives (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__printme" c_casadi__MX__printme
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi__MX__printme
+  :: MX -> MX -> IO MX
+casadi__MX__printme x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__printme errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_printme :: MXClass a => a -> MX -> IO MX
+mx_printme x = casadi__MX__printme (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__reset_input" c_casadi__MX__reset_input
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO ()
+
+casadi__MX__reset_input
+  :: MX -> IO ()
+casadi__MX__reset_input x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__reset_input errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_reset_input :: MXClass a => a -> IO ()
+mx_reset_input x = casadi__MX__reset_input (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__row" c_casadi__MX__row
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO CLLong
+
+casadi__MX__row
+  :: MX -> Int -> IO Int
+casadi__MX__row x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__row errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_row :: MXClass a => a -> Int -> IO Int
+mx_row x = casadi__MX__row (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__rows" c_casadi__MX__rows
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__rows
+  :: MX -> IO Int
+casadi__MX__rows x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__rows errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_rows :: MXClass a => a -> IO Int
+mx_rows x = casadi__MX__rows (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__set__0" c_casadi__MX__set__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
+
+casadi__MX__set__0
+  :: MX -> MX -> Bool -> IM -> IM -> IO ()
+casadi__MX__set__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__set__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_set__0 :: MXClass a => a -> MX -> Bool -> IM -> IM -> IO ()
+mx_set__0 x = casadi__MX__set__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__set__1" c_casadi__MX__set__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
+
+casadi__MX__set__1
+  :: MX -> MX -> Bool -> IM -> Slice -> IO ()
+casadi__MX__set__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__set__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_set__1 :: MXClass a => a -> MX -> Bool -> IM -> Slice -> IO ()
+mx_set__1 x = casadi__MX__set__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__set__2" c_casadi__MX__set__2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
+
+casadi__MX__set__2
+  :: MX -> MX -> Bool -> Slice -> IM -> IO ()
+casadi__MX__set__2 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__set__2 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_set__2 :: MXClass a => a -> MX -> Bool -> Slice -> IM -> IO ()
+mx_set__2 x = casadi__MX__set__2 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__set__3" c_casadi__MX__set__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
+
+casadi__MX__set__3
+  :: MX -> MX -> Bool -> Slice -> Slice -> IO ()
+casadi__MX__set__3 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__set__3 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_set__3 :: MXClass a => a -> MX -> Bool -> Slice -> Slice -> IO ()
+mx_set__3 x = casadi__MX__set__3 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__set__4" c_casadi__MX__set__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Sparsity' -> IO ()
+
+casadi__MX__set__4
+  :: MX -> MX -> Bool -> Sparsity -> IO ()
+casadi__MX__set__4 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__set__4 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_set__4 :: MXClass a => a -> MX -> Bool -> Sparsity -> IO ()
+mx_set__4 x = casadi__MX__set__4 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__set__5" c_casadi__MX__set__5
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr IM' -> IO ()
+
+casadi__MX__set__5
+  :: MX -> MX -> Bool -> IM -> IO ()
+casadi__MX__set__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__set__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_set__5 :: MXClass a => a -> MX -> Bool -> IM -> IO ()
+mx_set__5 x = casadi__MX__set__5 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__set__6" c_casadi__MX__set__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Slice' -> IO ()
+
+casadi__MX__set__6
+  :: MX -> MX -> Bool -> Slice -> IO ()
+casadi__MX__set__6 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__set__6 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_set__6 :: MXClass a => a -> MX -> Bool -> Slice -> IO ()
+mx_set__6 x = casadi__MX__set__6 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__set_max_depth__0" c_casadi__MX__set_max_depth__0
+  :: Ptr (Ptr StdString) -> IO ()
+
+casadi__MX__set_max_depth__0
+  :: IO ()
+casadi__MX__set_max_depth__0  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__set_max_depth__0 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ()
+
+
+
+-- classy wrapper
+mx_set_max_depth__0 :: IO ()
+mx_set_max_depth__0 = casadi__MX__set_max_depth__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__set_max_depth__1" c_casadi__MX__set_max_depth__1
+  :: Ptr (Ptr StdString) -> CLLong -> IO ()
+
+casadi__MX__set_max_depth__1
+  :: Int -> IO ()
+casadi__MX__set_max_depth__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__set_max_depth__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_set_max_depth__1 :: Int -> IO ()
+mx_set_max_depth__1 = casadi__MX__set_max_depth__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__set_nz__0" c_casadi__MX__set_nz__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr IM' -> IO ()
+
+casadi__MX__set_nz__0
+  :: MX -> MX -> Bool -> IM -> IO ()
+casadi__MX__set_nz__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__set_nz__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_set_nz__0 :: MXClass a => a -> MX -> Bool -> IM -> IO ()
+mx_set_nz__0 x = casadi__MX__set_nz__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__set_nz__1" c_casadi__MX__set_nz__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Slice' -> IO ()
+
+casadi__MX__set_nz__1
+  :: MX -> MX -> Bool -> Slice -> IO ()
+casadi__MX__set_nz__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__set_nz__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_set_nz__1 :: MXClass a => a -> MX -> Bool -> Slice -> IO ()
+mx_set_nz__1 x = casadi__MX__set_nz__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__set_temp" c_casadi__MX__set_temp
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO ()
+
+casadi__MX__set_temp
+  :: MX -> Int -> IO ()
+casadi__MX__set_temp x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__set_temp errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+mx_set_temp :: MXClass a => a -> Int -> IO ()
+mx_set_temp x = casadi__MX__set_temp (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__size__0" c_casadi__MX__size__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO CLLong
+
+casadi__MX__size__0
+  :: MX -> Int -> IO Int
+casadi__MX__size__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__size__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_size__0 :: MXClass a => a -> Int -> IO Int
+mx_size__0 x = casadi__MX__size__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__size__1" c_casadi__MX__size__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdPair CLLong CLLong))
+
+casadi__MX__size__1
+  :: MX -> IO (Int, Int)
+casadi__MX__size__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__size__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_size__1 :: MXClass a => a -> IO (Int, Int)
+mx_size__1 x = casadi__MX__size__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__size1" c_casadi__MX__size1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__size1
+  :: MX -> IO Int
+casadi__MX__size1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__size1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_size1 :: MXClass a => a -> IO Int
+mx_size1 x = casadi__MX__size1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__size2" c_casadi__MX__size2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__size2
+  :: MX -> IO Int
+casadi__MX__size2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__size2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_size2 :: MXClass a => a -> IO Int
+mx_size2 x = casadi__MX__size2 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sparsity" c_casadi__MX__sparsity
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Sparsity')
+
+casadi__MX__sparsity
+  :: MX -> IO Sparsity
+casadi__MX__sparsity x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__sparsity errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_sparsity :: MXClass a => a -> IO Sparsity
+mx_sparsity x = casadi__MX__sparsity (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__split_primitives" c_casadi__MX__split_primitives
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__MX__split_primitives
+  :: MX -> MX -> IO (Vector MX)
+casadi__MX__split_primitives x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__split_primitives errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_split_primitives :: MXClass a => a -> MX -> IO (Vector MX)
+mx_split_primitives x = casadi__MX__split_primitives (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__0" c_casadi__MX__sym__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
+
+casadi__MX__sym__0
+  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector MX))
+casadi__MX__sym__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__sym__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector MX))
+mx_sym__0 = casadi__MX__sym__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__1" c_casadi__MX__sym__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
+
+casadi__MX__sym__1
+  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector MX))
+casadi__MX__sym__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__sym__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector MX))
+mx_sym__1 = casadi__MX__sym__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__2" c_casadi__MX__sym__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__MX__sym__2
+  :: String -> Int -> Int -> Int -> IO (Vector MX)
+casadi__MX__sym__2 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__sym__2 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_sym__2 :: String -> Int -> Int -> Int -> IO (Vector MX)
+mx_sym__2 = casadi__MX__sym__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__3" c_casadi__MX__sym__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CLLong -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__MX__sym__3
+  :: String -> Sparsity -> Int -> IO (Vector MX)
+casadi__MX__sym__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__sym__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_sym__3 :: String -> Sparsity -> Int -> IO (Vector MX)
+mx_sym__3 = casadi__MX__sym__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__4" c_casadi__MX__sym__4
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr MX')
+
+casadi__MX__sym__4
+  :: String -> Sparsity -> IO MX
+casadi__MX__sym__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__sym__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_sym__4 :: String -> Sparsity -> IO MX
+mx_sym__4 = casadi__MX__sym__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__5" c_casadi__MX__sym__5
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdPair CLLong CLLong) -> IO (Ptr MX')
+
+casadi__MX__sym__5
+  :: String -> (Int, Int) -> IO MX
+casadi__MX__sym__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__sym__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_sym__5 :: String -> (Int, Int) -> IO MX
+mx_sym__5 = casadi__MX__sym__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__6" c_casadi__MX__sym__6
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr MX')
+
+casadi__MX__sym__6
+  :: String -> IO MX
+casadi__MX__sym__6 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__sym__6 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_sym__6 :: String -> IO MX
+mx_sym__6 = casadi__MX__sym__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__7" c_casadi__MX__sym__7
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> IO (Ptr MX')
+
+casadi__MX__sym__7
+  :: String -> Int -> IO MX
+casadi__MX__sym__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__sym__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_sym__7 :: String -> Int -> IO MX
+mx_sym__7 = casadi__MX__sym__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__8" c_casadi__MX__sym__8
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> CLLong -> IO (Ptr MX')
+
+casadi__MX__sym__8
+  :: String -> Int -> Int -> IO MX
+casadi__MX__sym__8 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__sym__8 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_sym__8 :: String -> Int -> Int -> IO MX
+mx_sym__8 = casadi__MX__sym__8
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__type_name" c_casadi__MX__type_name
+  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
+
+casadi__MX__type_name
+  :: IO String
+casadi__MX__type_name  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__type_name errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+mx_type_name :: IO String
+mx_type_name = casadi__MX__type_name
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__unary" c_casadi__MX__unary
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr MX' -> IO (Ptr MX')
+
+casadi__MX__unary
+  :: Int -> MX -> IO MX
+casadi__MX__unary x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__unary errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_unary :: Int -> MX -> IO MX
+mx_unary = casadi__MX__unary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__which_function" c_casadi__MX__which_function
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Function')
+
+casadi__MX__which_function
+  :: MX -> IO Function
+casadi__MX__which_function x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__which_function errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_which_function :: MXClass a => a -> IO Function
+mx_which_function x = casadi__MX__which_function (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__which_output" c_casadi__MX__which_output
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi__MX__which_output
+  :: MX -> IO Int
+casadi__MX__which_output x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__which_output errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_which_output :: MXClass a => a -> IO Int
+mx_which_output x = casadi__MX__which_output (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zeros__0" c_casadi__MX__zeros__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr MX')
+
+casadi__MX__zeros__0
+  :: (Int, Int) -> IO MX
+casadi__MX__zeros__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__zeros__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_zeros__0 :: (Int, Int) -> IO MX
+mx_zeros__0 = casadi__MX__zeros__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zeros__1" c_casadi__MX__zeros__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
+
+casadi__MX__zeros__1
+  :: Sparsity -> IO MX
+casadi__MX__zeros__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__zeros__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_zeros__1 :: Sparsity -> IO MX
+mx_zeros__1 = casadi__MX__zeros__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zeros__2" c_casadi__MX__zeros__2
+  :: Ptr (Ptr StdString) -> IO (Ptr MX')
+
+casadi__MX__zeros__2
+  :: IO MX
+casadi__MX__zeros__2  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__zeros__2 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+mx_zeros__2 :: IO MX
+mx_zeros__2 = casadi__MX__zeros__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zeros__3" c_casadi__MX__zeros__3
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr MX')
+
+casadi__MX__zeros__3
+  :: Int -> IO MX
+casadi__MX__zeros__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MX__zeros__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+mx_zeros__3 :: Int -> IO MX
+mx_zeros__3 = casadi__MX__zeros__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zeros__4" c_casadi__MX__zeros__4
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr MX')
 
 casadi__MX__zeros__4
   :: Int -> Int -> IO MX
diff --git a/Casadi/Core/Classes/MetaCon.hs b/Casadi/Core/Classes/MetaCon.hs
new file mode 100644
--- /dev/null
+++ b/Casadi/Core/Classes/MetaCon.hs
@@ -0,0 +1,58 @@
+{-# OPTIONS_GHC -Wall #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# Language ForeignFunctionInterface #-}
+{-# Language FlexibleInstances #-}
+{-# Language MultiParamTypeClasses #-}
+
+module Casadi.Core.Classes.MetaCon
+       (
+         MetaCon,
+         MetaConClass(..),
+         metaCon,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__MetaCon__CONSTRUCTOR" c_casadi__MetaCon__CONSTRUCTOR
+  :: Ptr (Ptr StdString) -> IO (Ptr MetaCon')
+
+casadi__MetaCon__CONSTRUCTOR
+  :: IO MetaCon
+casadi__MetaCon__CONSTRUCTOR  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__MetaCon__CONSTRUCTOR errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+metaCon :: IO MetaCon
+metaCon = casadi__MetaCon__CONSTRUCTOR
+
diff --git a/Casadi/Core/Classes/MetaVar.hs b/Casadi/Core/Classes/MetaVar.hs
new file mode 100644
--- /dev/null
+++ b/Casadi/Core/Classes/MetaVar.hs
@@ -0,0 +1,31 @@
+{-# OPTIONS_GHC -Wall #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# Language ForeignFunctionInterface #-}
+{-# Language FlexibleInstances #-}
+{-# Language MultiParamTypeClasses #-}
+
+module Casadi.Core.Classes.MetaVar
+       (
+         MetaVar,
+         MetaVarClass(..),
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
diff --git a/Casadi/Core/Classes/NlpBuilder.hs b/Casadi/Core/Classes/NlpBuilder.hs
--- a/Casadi/Core/Classes/NlpBuilder.hs
+++ b/Casadi/Core/Classes/NlpBuilder.hs
@@ -9,10 +9,11 @@
        (
          NlpBuilder,
          NlpBuilderClass(..),
-         nlpBuilder_getDescription,
-         nlpBuilder_getRepresentation,
+         nlpBuilder_get_str__0,
+         nlpBuilder_get_str__1,
          nlpBuilder_import_nl__0,
          nlpBuilder_import_nl__1,
+         nlpBuilder_type_name,
        ) where
 
 
@@ -34,6 +35,62 @@
 import Casadi.Core.Data
 import Casadi.Core.Enums
 -- direct wrapper
+foreign import ccall unsafe "casadi__NlpBuilder__get_str__0" c_casadi__NlpBuilder__get_str__0
+  :: Ptr (Ptr StdString) -> Ptr NlpBuilder' -> IO (Ptr StdString)
+
+casadi__NlpBuilder__get_str__0
+  :: NlpBuilder -> IO String
+casadi__NlpBuilder__get_str__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__NlpBuilder__get_str__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+nlpBuilder_get_str__0 :: NlpBuilderClass a => a -> IO String
+nlpBuilder_get_str__0 x = casadi__NlpBuilder__get_str__0 (castNlpBuilder x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__NlpBuilder__get_str__1" c_casadi__NlpBuilder__get_str__1
+  :: Ptr (Ptr StdString) -> Ptr NlpBuilder' -> CInt -> IO (Ptr StdString)
+
+casadi__NlpBuilder__get_str__1
+  :: NlpBuilder -> Bool -> IO String
+casadi__NlpBuilder__get_str__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__NlpBuilder__get_str__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+nlpBuilder_get_str__1 :: NlpBuilderClass a => a -> Bool -> IO String
+nlpBuilder_get_str__1 x = casadi__NlpBuilder__get_str__1 (castNlpBuilder x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__NlpBuilder__import_nl__0" c_casadi__NlpBuilder__import_nl__0
   :: Ptr (Ptr StdString) -> Ptr NlpBuilder' -> Ptr StdString -> IO ()
 
@@ -94,43 +151,16 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__NlpBuilder__getRepresentation" c_casadi__NlpBuilder__getRepresentation
-  :: Ptr (Ptr StdString) -> Ptr NlpBuilder' -> IO (Ptr StdString)
-
-casadi__NlpBuilder__getRepresentation
-  :: NlpBuilder -> IO String
-casadi__NlpBuilder__getRepresentation x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__NlpBuilder__getRepresentation errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-nlpBuilder_getRepresentation :: NlpBuilderClass a => a -> IO String
-nlpBuilder_getRepresentation x = casadi__NlpBuilder__getRepresentation (castNlpBuilder x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__NlpBuilder__getDescription" c_casadi__NlpBuilder__getDescription
+foreign import ccall unsafe "casadi__NlpBuilder__type_name" c_casadi__NlpBuilder__type_name
   :: Ptr (Ptr StdString) -> Ptr NlpBuilder' -> IO (Ptr StdString)
 
-casadi__NlpBuilder__getDescription
+casadi__NlpBuilder__type_name
   :: NlpBuilder -> IO String
-casadi__NlpBuilder__getDescription x0 = do
+casadi__NlpBuilder__type_name x0 = do
   x0' <- marshal x0
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__NlpBuilder__getDescription errStrPtrP x0'
+  ret0 <- c_casadi__NlpBuilder__type_name errStrPtrP x0'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -143,6 +173,6 @@
 
 
 -- classy wrapper
-nlpBuilder_getDescription :: NlpBuilderClass a => a -> IO String
-nlpBuilder_getDescription x = casadi__NlpBuilder__getDescription (castNlpBuilder x)
+nlpBuilder_type_name :: NlpBuilderClass a => a -> IO String
+nlpBuilder_type_name x = casadi__NlpBuilder__type_name (castNlpBuilder x)
 
diff --git a/Casadi/Core/Classes/Opti.hs b/Casadi/Core/Classes/Opti.hs
new file mode 100644
--- /dev/null
+++ b/Casadi/Core/Classes/Opti.hs
@@ -0,0 +1,1632 @@
+{-# OPTIONS_GHC -Wall #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# Language ForeignFunctionInterface #-}
+{-# Language FlexibleInstances #-}
+{-# Language MultiParamTypeClasses #-}
+
+module Casadi.Core.Classes.Opti
+       (
+         Opti,
+         OptiClass(..),
+         opti,
+         opti_advanced,
+         opti_bounded,
+         opti_callback_class,
+         opti_copy,
+         opti_debug,
+         opti_dual,
+         opti_f,
+         opti_g,
+         opti_get_str__0,
+         opti_get_str__1,
+         opti_initial,
+         opti_lam_g,
+         opti_lbg,
+         opti_minimize,
+         opti_ng,
+         opti_np,
+         opti_nx,
+         opti_p,
+         opti_parameter__0,
+         opti_parameter__1,
+         opti_parameter__2,
+         opti_parameter__3,
+         opti_return_status,
+         opti_set_initial__0,
+         opti_set_initial__1,
+         opti_set_value__0,
+         opti_set_value__1,
+         opti_solve,
+         opti_solver__0,
+         opti_solver__1,
+         opti_solver__2,
+         opti_stats,
+         opti_subject_to__0,
+         opti_subject_to__1,
+         opti_subject_to__2,
+         opti_type_name,
+         opti_ubg,
+         opti_update_user_dict__0,
+         opti_update_user_dict__1,
+         opti_user_dict,
+         opti_value__0,
+         opti_value__1,
+         opti_value__2,
+         opti_value__3,
+         opti_value__4,
+         opti_value__5,
+         opti_value_parameters,
+         opti_value_variables,
+         opti_variable__0,
+         opti_variable__1,
+         opti_variable__2,
+         opti_variable__3,
+         opti_x,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__CONSTRUCTOR" c_casadi__Opti__CONSTRUCTOR
+  :: Ptr (Ptr StdString) -> IO (Ptr Opti')
+
+casadi__Opti__CONSTRUCTOR
+  :: IO Opti
+casadi__Opti__CONSTRUCTOR  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__CONSTRUCTOR errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+opti :: IO Opti
+opti = casadi__Opti__CONSTRUCTOR
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__advanced" c_casadi__Opti__advanced
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr OptiAdvanced')
+
+casadi__Opti__advanced
+  :: Opti -> IO OptiAdvanced
+casadi__Opti__advanced x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__advanced errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_advanced :: OptiClass a => a -> IO OptiAdvanced
+opti_advanced x = casadi__Opti__advanced (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__bounded" c_casadi__Opti__bounded
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi__Opti__bounded
+  :: MX -> MX -> MX -> IO MX
+casadi__Opti__bounded x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__bounded errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_bounded :: MX -> MX -> MX -> IO MX
+opti_bounded = casadi__Opti__bounded
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__callback_class" c_casadi__Opti__callback_class
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO ()
+
+casadi__Opti__callback_class
+  :: Opti -> IO ()
+casadi__Opti__callback_class x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__callback_class errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+opti_callback_class :: OptiClass a => a -> IO ()
+opti_callback_class x = casadi__Opti__callback_class (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__copy" c_casadi__Opti__copy
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr Opti')
+
+casadi__Opti__copy
+  :: Opti -> IO Opti
+casadi__Opti__copy x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__copy errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_copy :: OptiClass a => a -> IO Opti
+opti_copy x = casadi__Opti__copy (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__debug" c_casadi__Opti__debug
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr OptiAdvanced')
+
+casadi__Opti__debug
+  :: Opti -> IO OptiAdvanced
+casadi__Opti__debug x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__debug errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_debug :: OptiClass a => a -> IO OptiAdvanced
+opti_debug x = casadi__Opti__debug (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__dual" c_casadi__Opti__dual
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr MX' -> IO (Ptr MX')
+
+casadi__Opti__dual
+  :: Opti -> MX -> IO MX
+casadi__Opti__dual x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__dual errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_dual :: OptiClass a => a -> MX -> IO MX
+opti_dual x = casadi__Opti__dual (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__f" c_casadi__Opti__f
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr MX')
+
+casadi__Opti__f
+  :: Opti -> IO MX
+casadi__Opti__f x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__f errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_f :: OptiClass a => a -> IO MX
+opti_f x = casadi__Opti__f (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__g" c_casadi__Opti__g
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr MX')
+
+casadi__Opti__g
+  :: Opti -> IO MX
+casadi__Opti__g x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__g errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_g :: OptiClass a => a -> IO MX
+opti_g x = casadi__Opti__g (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__get_str__0" c_casadi__Opti__get_str__0
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr StdString)
+
+casadi__Opti__get_str__0
+  :: Opti -> IO String
+casadi__Opti__get_str__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__get_str__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_get_str__0 :: OptiClass a => a -> IO String
+opti_get_str__0 x = casadi__Opti__get_str__0 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__get_str__1" c_casadi__Opti__get_str__1
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> CInt -> IO (Ptr StdString)
+
+casadi__Opti__get_str__1
+  :: Opti -> Bool -> IO String
+casadi__Opti__get_str__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__get_str__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_get_str__1 :: OptiClass a => a -> Bool -> IO String
+opti_get_str__1 x = casadi__Opti__get_str__1 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__initial" c_casadi__Opti__initial
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__Opti__initial
+  :: Opti -> IO (Vector MX)
+casadi__Opti__initial x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__initial errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_initial :: OptiClass a => a -> IO (Vector MX)
+opti_initial x = casadi__Opti__initial (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__lam_g" c_casadi__Opti__lam_g
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr MX')
+
+casadi__Opti__lam_g
+  :: Opti -> IO MX
+casadi__Opti__lam_g x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__lam_g errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_lam_g :: OptiClass a => a -> IO MX
+opti_lam_g x = casadi__Opti__lam_g (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__lbg" c_casadi__Opti__lbg
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr MX')
+
+casadi__Opti__lbg
+  :: Opti -> IO MX
+casadi__Opti__lbg x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__lbg errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_lbg :: OptiClass a => a -> IO MX
+opti_lbg x = casadi__Opti__lbg (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__minimize" c_casadi__Opti__minimize
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr MX' -> IO ()
+
+casadi__Opti__minimize
+  :: Opti -> MX -> IO ()
+casadi__Opti__minimize x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__minimize errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+opti_minimize :: OptiClass a => a -> MX -> IO ()
+opti_minimize x = casadi__Opti__minimize (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__ng" c_casadi__Opti__ng
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO CLLong
+
+casadi__Opti__ng
+  :: Opti -> IO Int
+casadi__Opti__ng x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__ng errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_ng :: OptiClass a => a -> IO Int
+opti_ng x = casadi__Opti__ng (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__np" c_casadi__Opti__np
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO CLLong
+
+casadi__Opti__np
+  :: Opti -> IO Int
+casadi__Opti__np x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__np errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_np :: OptiClass a => a -> IO Int
+opti_np x = casadi__Opti__np (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__nx" c_casadi__Opti__nx
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO CLLong
+
+casadi__Opti__nx
+  :: Opti -> IO Int
+casadi__Opti__nx x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__nx errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_nx :: OptiClass a => a -> IO Int
+opti_nx x = casadi__Opti__nx (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__p" c_casadi__Opti__p
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr MX')
+
+casadi__Opti__p
+  :: Opti -> IO MX
+casadi__Opti__p x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__p errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_p :: OptiClass a => a -> IO MX
+opti_p x = casadi__Opti__p (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__parameter__0" c_casadi__Opti__parameter__0
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr MX')
+
+casadi__Opti__parameter__0
+  :: Opti -> IO MX
+casadi__Opti__parameter__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__parameter__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_parameter__0 :: OptiClass a => a -> IO MX
+opti_parameter__0 x = casadi__Opti__parameter__0 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__parameter__1" c_casadi__Opti__parameter__1
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> CLLong -> IO (Ptr MX')
+
+casadi__Opti__parameter__1
+  :: Opti -> Int -> IO MX
+casadi__Opti__parameter__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__parameter__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_parameter__1 :: OptiClass a => a -> Int -> IO MX
+opti_parameter__1 x = casadi__Opti__parameter__1 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__parameter__2" c_casadi__Opti__parameter__2
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> CLLong -> CLLong -> IO (Ptr MX')
+
+casadi__Opti__parameter__2
+  :: Opti -> Int -> Int -> IO MX
+casadi__Opti__parameter__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__parameter__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_parameter__2 :: OptiClass a => a -> Int -> Int -> IO MX
+opti_parameter__2 x = casadi__Opti__parameter__2 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__parameter__3" c_casadi__Opti__parameter__3
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> CLLong -> CLLong -> Ptr StdString -> IO (Ptr MX')
+
+casadi__Opti__parameter__3
+  :: Opti -> Int -> Int -> String -> IO MX
+casadi__Opti__parameter__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__parameter__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_parameter__3 :: OptiClass a => a -> Int -> Int -> String -> IO MX
+opti_parameter__3 x = casadi__Opti__parameter__3 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__return_status" c_casadi__Opti__return_status
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr StdString)
+
+casadi__Opti__return_status
+  :: Opti -> IO String
+casadi__Opti__return_status x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__return_status errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_return_status :: OptiClass a => a -> IO String
+opti_return_status x = casadi__Opti__return_status (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__set_initial__0" c_casadi__Opti__set_initial__0
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr (StdVec (Ptr MX')) -> IO ()
+
+casadi__Opti__set_initial__0
+  :: Opti -> Vector MX -> IO ()
+casadi__Opti__set_initial__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__set_initial__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+opti_set_initial__0 :: OptiClass a => a -> Vector MX -> IO ()
+opti_set_initial__0 x = casadi__Opti__set_initial__0 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__set_initial__1" c_casadi__Opti__set_initial__1
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr MX' -> Ptr DM' -> IO ()
+
+casadi__Opti__set_initial__1
+  :: Opti -> MX -> DM -> IO ()
+casadi__Opti__set_initial__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__set_initial__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+opti_set_initial__1 :: OptiClass a => a -> MX -> DM -> IO ()
+opti_set_initial__1 x = casadi__Opti__set_initial__1 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__set_value__0" c_casadi__Opti__set_value__0
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr (StdVec (Ptr MX')) -> IO ()
+
+casadi__Opti__set_value__0
+  :: Opti -> Vector MX -> IO ()
+casadi__Opti__set_value__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__set_value__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+opti_set_value__0 :: OptiClass a => a -> Vector MX -> IO ()
+opti_set_value__0 x = casadi__Opti__set_value__0 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__set_value__1" c_casadi__Opti__set_value__1
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr MX' -> Ptr DM' -> IO ()
+
+casadi__Opti__set_value__1
+  :: Opti -> MX -> DM -> IO ()
+casadi__Opti__set_value__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__set_value__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+opti_set_value__1 :: OptiClass a => a -> MX -> DM -> IO ()
+opti_set_value__1 x = casadi__Opti__set_value__1 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__solve" c_casadi__Opti__solve
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr OptiSol')
+
+casadi__Opti__solve
+  :: Opti -> IO OptiSol
+casadi__Opti__solve x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__solve errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_solve :: OptiClass a => a -> IO OptiSol
+opti_solve x = casadi__Opti__solve (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__solver__0" c_casadi__Opti__solver__0
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr StdString -> IO ()
+
+casadi__Opti__solver__0
+  :: Opti -> String -> IO ()
+casadi__Opti__solver__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__solver__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+opti_solver__0 :: OptiClass a => a -> String -> IO ()
+opti_solver__0 x = casadi__Opti__solver__0 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__solver__1" c_casadi__Opti__solver__1
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO ()
+
+casadi__Opti__solver__1
+  :: Opti -> String -> M.Map String GenericType -> IO ()
+casadi__Opti__solver__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__solver__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+opti_solver__1 :: OptiClass a => a -> String -> M.Map String GenericType -> IO ()
+opti_solver__1 x = casadi__Opti__solver__1 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__solver__2" c_casadi__Opti__solver__2
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO ()
+
+casadi__Opti__solver__2
+  :: Opti -> String -> M.Map String GenericType -> M.Map String GenericType -> IO ()
+casadi__Opti__solver__2 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__solver__2 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+opti_solver__2 :: OptiClass a => a -> String -> M.Map String GenericType -> M.Map String GenericType -> IO ()
+opti_solver__2 x = casadi__Opti__solver__2 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__stats" c_casadi__Opti__stats
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr (StdMap StdString (Ptr GenericType')))
+
+casadi__Opti__stats
+  :: Opti -> IO (M.Map String GenericType)
+casadi__Opti__stats x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__stats errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_stats :: OptiClass a => a -> IO (M.Map String GenericType)
+opti_stats x = casadi__Opti__stats (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__subject_to__0" c_casadi__Opti__subject_to__0
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO ()
+
+casadi__Opti__subject_to__0
+  :: Opti -> IO ()
+casadi__Opti__subject_to__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__subject_to__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+opti_subject_to__0 :: OptiClass a => a -> IO ()
+opti_subject_to__0 x = casadi__Opti__subject_to__0 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__subject_to__1" c_casadi__Opti__subject_to__1
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr (StdVec (Ptr MX')) -> IO ()
+
+casadi__Opti__subject_to__1
+  :: Opti -> Vector MX -> IO ()
+casadi__Opti__subject_to__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__subject_to__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+opti_subject_to__1 :: OptiClass a => a -> Vector MX -> IO ()
+opti_subject_to__1 x = casadi__Opti__subject_to__1 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__subject_to__2" c_casadi__Opti__subject_to__2
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr MX' -> IO ()
+
+casadi__Opti__subject_to__2
+  :: Opti -> MX -> IO ()
+casadi__Opti__subject_to__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__subject_to__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+opti_subject_to__2 :: OptiClass a => a -> MX -> IO ()
+opti_subject_to__2 x = casadi__Opti__subject_to__2 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__type_name" c_casadi__Opti__type_name
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr StdString)
+
+casadi__Opti__type_name
+  :: Opti -> IO String
+casadi__Opti__type_name x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__type_name errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_type_name :: OptiClass a => a -> IO String
+opti_type_name x = casadi__Opti__type_name (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__ubg" c_casadi__Opti__ubg
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr MX')
+
+casadi__Opti__ubg
+  :: Opti -> IO MX
+casadi__Opti__ubg x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__ubg errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_ubg :: OptiClass a => a -> IO MX
+opti_ubg x = casadi__Opti__ubg (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__update_user_dict__0" c_casadi__Opti__update_user_dict__0
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO ()
+
+casadi__Opti__update_user_dict__0
+  :: Opti -> Vector MX -> M.Map String GenericType -> IO ()
+casadi__Opti__update_user_dict__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__update_user_dict__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+opti_update_user_dict__0 :: OptiClass a => a -> Vector MX -> M.Map String GenericType -> IO ()
+opti_update_user_dict__0 x = casadi__Opti__update_user_dict__0 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__update_user_dict__1" c_casadi__Opti__update_user_dict__1
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr MX' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO ()
+
+casadi__Opti__update_user_dict__1
+  :: Opti -> MX -> M.Map String GenericType -> IO ()
+casadi__Opti__update_user_dict__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__update_user_dict__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+opti_update_user_dict__1 :: OptiClass a => a -> MX -> M.Map String GenericType -> IO ()
+opti_update_user_dict__1 x = casadi__Opti__update_user_dict__1 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__user_dict" c_casadi__Opti__user_dict
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr MX' -> IO (Ptr (StdMap StdString (Ptr GenericType')))
+
+casadi__Opti__user_dict
+  :: Opti -> MX -> IO (M.Map String GenericType)
+casadi__Opti__user_dict x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__user_dict errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_user_dict :: OptiClass a => a -> MX -> IO (M.Map String GenericType)
+opti_user_dict x = casadi__Opti__user_dict (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__value__0" c_casadi__Opti__value__0
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr SX' -> IO (Ptr DM')
+
+casadi__Opti__value__0
+  :: Opti -> SX -> IO DM
+casadi__Opti__value__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__value__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_value__0 :: OptiClass a => a -> SX -> IO DM
+opti_value__0 x = casadi__Opti__value__0 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__value__1" c_casadi__Opti__value__1
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr SX' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr DM')
+
+casadi__Opti__value__1
+  :: Opti -> SX -> Vector MX -> IO DM
+casadi__Opti__value__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__value__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_value__1 :: OptiClass a => a -> SX -> Vector MX -> IO DM
+opti_value__1 x = casadi__Opti__value__1 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__value__2" c_casadi__Opti__value__2
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr DM' -> IO (Ptr DM')
+
+casadi__Opti__value__2
+  :: Opti -> DM -> IO DM
+casadi__Opti__value__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__value__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_value__2 :: OptiClass a => a -> DM -> IO DM
+opti_value__2 x = casadi__Opti__value__2 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__value__3" c_casadi__Opti__value__3
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr DM' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr DM')
+
+casadi__Opti__value__3
+  :: Opti -> DM -> Vector MX -> IO DM
+casadi__Opti__value__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__value__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_value__3 :: OptiClass a => a -> DM -> Vector MX -> IO DM
+opti_value__3 x = casadi__Opti__value__3 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__value__4" c_casadi__Opti__value__4
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr MX' -> IO (Ptr DM')
+
+casadi__Opti__value__4
+  :: Opti -> MX -> IO DM
+casadi__Opti__value__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__value__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_value__4 :: OptiClass a => a -> MX -> IO DM
+opti_value__4 x = casadi__Opti__value__4 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__value__5" c_casadi__Opti__value__5
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr DM')
+
+casadi__Opti__value__5
+  :: Opti -> MX -> Vector MX -> IO DM
+casadi__Opti__value__5 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__value__5 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_value__5 :: OptiClass a => a -> MX -> Vector MX -> IO DM
+opti_value__5 x = casadi__Opti__value__5 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__value_parameters" c_casadi__Opti__value_parameters
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__Opti__value_parameters
+  :: Opti -> IO (Vector MX)
+casadi__Opti__value_parameters x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__value_parameters errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_value_parameters :: OptiClass a => a -> IO (Vector MX)
+opti_value_parameters x = casadi__Opti__value_parameters (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__value_variables" c_casadi__Opti__value_variables
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__Opti__value_variables
+  :: Opti -> IO (Vector MX)
+casadi__Opti__value_variables x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__value_variables errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_value_variables :: OptiClass a => a -> IO (Vector MX)
+opti_value_variables x = casadi__Opti__value_variables (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__variable__0" c_casadi__Opti__variable__0
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr MX')
+
+casadi__Opti__variable__0
+  :: Opti -> IO MX
+casadi__Opti__variable__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__variable__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_variable__0 :: OptiClass a => a -> IO MX
+opti_variable__0 x = casadi__Opti__variable__0 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__variable__1" c_casadi__Opti__variable__1
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> CLLong -> IO (Ptr MX')
+
+casadi__Opti__variable__1
+  :: Opti -> Int -> IO MX
+casadi__Opti__variable__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__variable__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_variable__1 :: OptiClass a => a -> Int -> IO MX
+opti_variable__1 x = casadi__Opti__variable__1 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__variable__2" c_casadi__Opti__variable__2
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> CLLong -> CLLong -> IO (Ptr MX')
+
+casadi__Opti__variable__2
+  :: Opti -> Int -> Int -> IO MX
+casadi__Opti__variable__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__variable__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_variable__2 :: OptiClass a => a -> Int -> Int -> IO MX
+opti_variable__2 x = casadi__Opti__variable__2 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__variable__3" c_casadi__Opti__variable__3
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> CLLong -> CLLong -> Ptr StdString -> IO (Ptr MX')
+
+casadi__Opti__variable__3
+  :: Opti -> Int -> Int -> String -> IO MX
+casadi__Opti__variable__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__variable__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_variable__3 :: OptiClass a => a -> Int -> Int -> String -> IO MX
+opti_variable__3 x = casadi__Opti__variable__3 (castOpti x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Opti__x" c_casadi__Opti__x
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr MX')
+
+casadi__Opti__x
+  :: Opti -> IO MX
+casadi__Opti__x x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Opti__x errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+opti_x :: OptiClass a => a -> IO MX
+opti_x x = casadi__Opti__x (castOpti x)
+
diff --git a/Casadi/Core/Classes/OptiAdvanced.hs b/Casadi/Core/Classes/OptiAdvanced.hs
new file mode 100644
--- /dev/null
+++ b/Casadi/Core/Classes/OptiAdvanced.hs
@@ -0,0 +1,1316 @@
+{-# OPTIONS_GHC -Wall #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# Language ForeignFunctionInterface #-}
+{-# Language FlexibleInstances #-}
+{-# Language MultiParamTypeClasses #-}
+
+module Casadi.Core.Classes.OptiAdvanced
+       (
+         OptiAdvanced,
+         OptiAdvancedClass(..),
+         optiAdvanced,
+         optiAdvanced_active_symvar,
+         optiAdvanced_active_values,
+         optiAdvanced_arg,
+         optiAdvanced_assert_active_symbol,
+         optiAdvanced_assert_baked,
+         optiAdvanced_assert_empty,
+         optiAdvanced_assert_solved,
+         optiAdvanced_bake,
+         optiAdvanced_baked_copy,
+         optiAdvanced_canon_expr,
+         optiAdvanced_casadi_solver,
+         optiAdvanced_constraints,
+         optiAdvanced_describe__0,
+         optiAdvanced_describe__1,
+         optiAdvanced_g_describe,
+         optiAdvanced_g_lookup,
+         optiAdvanced_get_meta,
+         optiAdvanced_get_meta_con,
+         optiAdvanced_instance_number,
+         optiAdvanced_is_parametric,
+         optiAdvanced_mark_problem_dirty__0,
+         optiAdvanced_mark_problem_dirty__1,
+         optiAdvanced_mark_solved__0,
+         optiAdvanced_mark_solved__1,
+         optiAdvanced_mark_solver_dirty__0,
+         optiAdvanced_mark_solver_dirty__1,
+         optiAdvanced_objective,
+         optiAdvanced_problem_dirty,
+         optiAdvanced_res__0,
+         optiAdvanced_res__1,
+         optiAdvanced_set_meta,
+         optiAdvanced_set_meta_con,
+         optiAdvanced_show_infeasibilities__0,
+         optiAdvanced_show_infeasibilities__1,
+         optiAdvanced_solve_actual,
+         optiAdvanced_solve_prepare,
+         optiAdvanced_solved,
+         optiAdvanced_solver_dirty,
+         optiAdvanced_symvar__0,
+         optiAdvanced_symvar__1,
+         optiAdvanced_symvar__2,
+         optiAdvanced_x_describe,
+         optiAdvanced_x_lookup,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__CONSTRUCTOR" c_casadi__OptiAdvanced__CONSTRUCTOR
+  :: Ptr (Ptr StdString) -> Ptr Opti' -> IO (Ptr OptiAdvanced')
+
+casadi__OptiAdvanced__CONSTRUCTOR
+  :: Opti -> IO OptiAdvanced
+casadi__OptiAdvanced__CONSTRUCTOR x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__CONSTRUCTOR errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced :: Opti -> IO OptiAdvanced
+optiAdvanced = casadi__OptiAdvanced__CONSTRUCTOR
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__active_symvar" c_casadi__OptiAdvanced__active_symvar
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> CInt -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__OptiAdvanced__active_symvar
+  :: OptiAdvanced -> VariableType -> IO (Vector MX)
+casadi__OptiAdvanced__active_symvar x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__active_symvar errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_active_symvar :: OptiAdvancedClass a => a -> VariableType -> IO (Vector MX)
+optiAdvanced_active_symvar x = casadi__OptiAdvanced__active_symvar (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__active_values" c_casadi__OptiAdvanced__active_values
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> CInt -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi__OptiAdvanced__active_values
+  :: OptiAdvanced -> VariableType -> IO (Vector DM)
+casadi__OptiAdvanced__active_values x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__active_values errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_active_values :: OptiAdvancedClass a => a -> VariableType -> IO (Vector DM)
+optiAdvanced_active_values x = casadi__OptiAdvanced__active_values (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__arg" c_casadi__OptiAdvanced__arg
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO (Ptr (StdMap StdString (Ptr DM')))
+
+casadi__OptiAdvanced__arg
+  :: OptiAdvanced -> IO (M.Map String DM)
+casadi__OptiAdvanced__arg x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__arg errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_arg :: OptiAdvancedClass a => a -> IO (M.Map String DM)
+optiAdvanced_arg x = casadi__OptiAdvanced__arg (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__assert_active_symbol" c_casadi__OptiAdvanced__assert_active_symbol
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> Ptr MX' -> IO ()
+
+casadi__OptiAdvanced__assert_active_symbol
+  :: OptiAdvanced -> MX -> IO ()
+casadi__OptiAdvanced__assert_active_symbol x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__assert_active_symbol errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_assert_active_symbol :: OptiAdvancedClass a => a -> MX -> IO ()
+optiAdvanced_assert_active_symbol x = casadi__OptiAdvanced__assert_active_symbol (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__assert_baked" c_casadi__OptiAdvanced__assert_baked
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO ()
+
+casadi__OptiAdvanced__assert_baked
+  :: OptiAdvanced -> IO ()
+casadi__OptiAdvanced__assert_baked x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__assert_baked errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_assert_baked :: OptiAdvancedClass a => a -> IO ()
+optiAdvanced_assert_baked x = casadi__OptiAdvanced__assert_baked (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__assert_empty" c_casadi__OptiAdvanced__assert_empty
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO ()
+
+casadi__OptiAdvanced__assert_empty
+  :: OptiAdvanced -> IO ()
+casadi__OptiAdvanced__assert_empty x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__assert_empty errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_assert_empty :: OptiAdvancedClass a => a -> IO ()
+optiAdvanced_assert_empty x = casadi__OptiAdvanced__assert_empty (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__assert_solved" c_casadi__OptiAdvanced__assert_solved
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO ()
+
+casadi__OptiAdvanced__assert_solved
+  :: OptiAdvanced -> IO ()
+casadi__OptiAdvanced__assert_solved x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__assert_solved errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_assert_solved :: OptiAdvancedClass a => a -> IO ()
+optiAdvanced_assert_solved x = casadi__OptiAdvanced__assert_solved (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__bake" c_casadi__OptiAdvanced__bake
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO ()
+
+casadi__OptiAdvanced__bake
+  :: OptiAdvanced -> IO ()
+casadi__OptiAdvanced__bake x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__bake errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_bake :: OptiAdvancedClass a => a -> IO ()
+optiAdvanced_bake x = casadi__OptiAdvanced__bake (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__baked_copy" c_casadi__OptiAdvanced__baked_copy
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO (Ptr OptiAdvanced')
+
+casadi__OptiAdvanced__baked_copy
+  :: OptiAdvanced -> IO OptiAdvanced
+casadi__OptiAdvanced__baked_copy x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__baked_copy errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_baked_copy :: OptiAdvancedClass a => a -> IO OptiAdvanced
+optiAdvanced_baked_copy x = casadi__OptiAdvanced__baked_copy (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__canon_expr" c_casadi__OptiAdvanced__canon_expr
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> Ptr MX' -> IO (Ptr MetaCon')
+
+casadi__OptiAdvanced__canon_expr
+  :: OptiAdvanced -> MX -> IO MetaCon
+casadi__OptiAdvanced__canon_expr x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__canon_expr errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_canon_expr :: OptiAdvancedClass a => a -> MX -> IO MetaCon
+optiAdvanced_canon_expr x = casadi__OptiAdvanced__canon_expr (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__casadi_solver" c_casadi__OptiAdvanced__casadi_solver
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO (Ptr Function')
+
+casadi__OptiAdvanced__casadi_solver
+  :: OptiAdvanced -> IO Function
+casadi__OptiAdvanced__casadi_solver x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__casadi_solver errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_casadi_solver :: OptiAdvancedClass a => a -> IO Function
+optiAdvanced_casadi_solver x = casadi__OptiAdvanced__casadi_solver (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__constraints" c_casadi__OptiAdvanced__constraints
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__OptiAdvanced__constraints
+  :: OptiAdvanced -> IO (Vector MX)
+casadi__OptiAdvanced__constraints x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__constraints errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_constraints :: OptiAdvancedClass a => a -> IO (Vector MX)
+optiAdvanced_constraints x = casadi__OptiAdvanced__constraints (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__describe__0" c_casadi__OptiAdvanced__describe__0
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> Ptr MX' -> IO (Ptr StdString)
+
+casadi__OptiAdvanced__describe__0
+  :: OptiAdvanced -> MX -> IO String
+casadi__OptiAdvanced__describe__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__describe__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_describe__0 :: OptiAdvancedClass a => a -> MX -> IO String
+optiAdvanced_describe__0 x = casadi__OptiAdvanced__describe__0 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__describe__1" c_casadi__OptiAdvanced__describe__1
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> Ptr MX' -> CLLong -> IO (Ptr StdString)
+
+casadi__OptiAdvanced__describe__1
+  :: OptiAdvanced -> MX -> Int -> IO String
+casadi__OptiAdvanced__describe__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__describe__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_describe__1 :: OptiAdvancedClass a => a -> MX -> Int -> IO String
+optiAdvanced_describe__1 x = casadi__OptiAdvanced__describe__1 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__g_describe" c_casadi__OptiAdvanced__g_describe
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> CLLong -> IO (Ptr StdString)
+
+casadi__OptiAdvanced__g_describe
+  :: OptiAdvanced -> Int -> IO String
+casadi__OptiAdvanced__g_describe x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__g_describe errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_g_describe :: OptiAdvancedClass a => a -> Int -> IO String
+optiAdvanced_g_describe x = casadi__OptiAdvanced__g_describe (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__g_lookup" c_casadi__OptiAdvanced__g_lookup
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> CLLong -> IO (Ptr MX')
+
+casadi__OptiAdvanced__g_lookup
+  :: OptiAdvanced -> Int -> IO MX
+casadi__OptiAdvanced__g_lookup x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__g_lookup errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_g_lookup :: OptiAdvancedClass a => a -> Int -> IO MX
+optiAdvanced_g_lookup x = casadi__OptiAdvanced__g_lookup (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__get_meta" c_casadi__OptiAdvanced__get_meta
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> Ptr MX' -> IO (Ptr MetaVar')
+
+casadi__OptiAdvanced__get_meta
+  :: OptiAdvanced -> MX -> IO MetaVar
+casadi__OptiAdvanced__get_meta x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__get_meta errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_get_meta :: OptiAdvancedClass a => a -> MX -> IO MetaVar
+optiAdvanced_get_meta x = casadi__OptiAdvanced__get_meta (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__get_meta_con" c_casadi__OptiAdvanced__get_meta_con
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> Ptr MX' -> IO (Ptr MetaCon')
+
+casadi__OptiAdvanced__get_meta_con
+  :: OptiAdvanced -> MX -> IO MetaCon
+casadi__OptiAdvanced__get_meta_con x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__get_meta_con errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_get_meta_con :: OptiAdvancedClass a => a -> MX -> IO MetaCon
+optiAdvanced_get_meta_con x = casadi__OptiAdvanced__get_meta_con (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__instance_number" c_casadi__OptiAdvanced__instance_number
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO CLLong
+
+casadi__OptiAdvanced__instance_number
+  :: OptiAdvanced -> IO Int
+casadi__OptiAdvanced__instance_number x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__instance_number errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_instance_number :: OptiAdvancedClass a => a -> IO Int
+optiAdvanced_instance_number x = casadi__OptiAdvanced__instance_number (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__is_parametric" c_casadi__OptiAdvanced__is_parametric
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> Ptr MX' -> IO CInt
+
+casadi__OptiAdvanced__is_parametric
+  :: OptiAdvanced -> MX -> IO Bool
+casadi__OptiAdvanced__is_parametric x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__is_parametric errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_is_parametric :: OptiAdvancedClass a => a -> MX -> IO Bool
+optiAdvanced_is_parametric x = casadi__OptiAdvanced__is_parametric (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__mark_problem_dirty__0" c_casadi__OptiAdvanced__mark_problem_dirty__0
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO ()
+
+casadi__OptiAdvanced__mark_problem_dirty__0
+  :: OptiAdvanced -> IO ()
+casadi__OptiAdvanced__mark_problem_dirty__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__mark_problem_dirty__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_mark_problem_dirty__0 :: OptiAdvancedClass a => a -> IO ()
+optiAdvanced_mark_problem_dirty__0 x = casadi__OptiAdvanced__mark_problem_dirty__0 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__mark_problem_dirty__1" c_casadi__OptiAdvanced__mark_problem_dirty__1
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> CInt -> IO ()
+
+casadi__OptiAdvanced__mark_problem_dirty__1
+  :: OptiAdvanced -> Bool -> IO ()
+casadi__OptiAdvanced__mark_problem_dirty__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__mark_problem_dirty__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_mark_problem_dirty__1 :: OptiAdvancedClass a => a -> Bool -> IO ()
+optiAdvanced_mark_problem_dirty__1 x = casadi__OptiAdvanced__mark_problem_dirty__1 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__mark_solved__0" c_casadi__OptiAdvanced__mark_solved__0
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO ()
+
+casadi__OptiAdvanced__mark_solved__0
+  :: OptiAdvanced -> IO ()
+casadi__OptiAdvanced__mark_solved__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__mark_solved__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_mark_solved__0 :: OptiAdvancedClass a => a -> IO ()
+optiAdvanced_mark_solved__0 x = casadi__OptiAdvanced__mark_solved__0 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__mark_solved__1" c_casadi__OptiAdvanced__mark_solved__1
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> CInt -> IO ()
+
+casadi__OptiAdvanced__mark_solved__1
+  :: OptiAdvanced -> Bool -> IO ()
+casadi__OptiAdvanced__mark_solved__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__mark_solved__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_mark_solved__1 :: OptiAdvancedClass a => a -> Bool -> IO ()
+optiAdvanced_mark_solved__1 x = casadi__OptiAdvanced__mark_solved__1 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__mark_solver_dirty__0" c_casadi__OptiAdvanced__mark_solver_dirty__0
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO ()
+
+casadi__OptiAdvanced__mark_solver_dirty__0
+  :: OptiAdvanced -> IO ()
+casadi__OptiAdvanced__mark_solver_dirty__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__mark_solver_dirty__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_mark_solver_dirty__0 :: OptiAdvancedClass a => a -> IO ()
+optiAdvanced_mark_solver_dirty__0 x = casadi__OptiAdvanced__mark_solver_dirty__0 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__mark_solver_dirty__1" c_casadi__OptiAdvanced__mark_solver_dirty__1
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> CInt -> IO ()
+
+casadi__OptiAdvanced__mark_solver_dirty__1
+  :: OptiAdvanced -> Bool -> IO ()
+casadi__OptiAdvanced__mark_solver_dirty__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__mark_solver_dirty__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_mark_solver_dirty__1 :: OptiAdvancedClass a => a -> Bool -> IO ()
+optiAdvanced_mark_solver_dirty__1 x = casadi__OptiAdvanced__mark_solver_dirty__1 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__objective" c_casadi__OptiAdvanced__objective
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO (Ptr MX')
+
+casadi__OptiAdvanced__objective
+  :: OptiAdvanced -> IO MX
+casadi__OptiAdvanced__objective x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__objective errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_objective :: OptiAdvancedClass a => a -> IO MX
+optiAdvanced_objective x = casadi__OptiAdvanced__objective (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__problem_dirty" c_casadi__OptiAdvanced__problem_dirty
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO CInt
+
+casadi__OptiAdvanced__problem_dirty
+  :: OptiAdvanced -> IO Bool
+casadi__OptiAdvanced__problem_dirty x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__problem_dirty errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_problem_dirty :: OptiAdvancedClass a => a -> IO Bool
+optiAdvanced_problem_dirty x = casadi__OptiAdvanced__problem_dirty (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__res__0" c_casadi__OptiAdvanced__res__0
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO (Ptr (StdMap StdString (Ptr DM')))
+
+casadi__OptiAdvanced__res__0
+  :: OptiAdvanced -> IO (M.Map String DM)
+casadi__OptiAdvanced__res__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__res__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_res__0 :: OptiAdvancedClass a => a -> IO (M.Map String DM)
+optiAdvanced_res__0 x = casadi__OptiAdvanced__res__0 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__res__1" c_casadi__OptiAdvanced__res__1
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> Ptr (StdMap StdString (Ptr DM')) -> IO ()
+
+casadi__OptiAdvanced__res__1
+  :: OptiAdvanced -> M.Map String DM -> IO ()
+casadi__OptiAdvanced__res__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__res__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_res__1 :: OptiAdvancedClass a => a -> M.Map String DM -> IO ()
+optiAdvanced_res__1 x = casadi__OptiAdvanced__res__1 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__set_meta" c_casadi__OptiAdvanced__set_meta
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> Ptr MX' -> Ptr MetaVar' -> IO ()
+
+casadi__OptiAdvanced__set_meta
+  :: OptiAdvanced -> MX -> MetaVar -> IO ()
+casadi__OptiAdvanced__set_meta x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__set_meta errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_set_meta :: OptiAdvancedClass a => a -> MX -> MetaVar -> IO ()
+optiAdvanced_set_meta x = casadi__OptiAdvanced__set_meta (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__set_meta_con" c_casadi__OptiAdvanced__set_meta_con
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> Ptr MX' -> Ptr MetaCon' -> IO ()
+
+casadi__OptiAdvanced__set_meta_con
+  :: OptiAdvanced -> MX -> MetaCon -> IO ()
+casadi__OptiAdvanced__set_meta_con x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__set_meta_con errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_set_meta_con :: OptiAdvancedClass a => a -> MX -> MetaCon -> IO ()
+optiAdvanced_set_meta_con x = casadi__OptiAdvanced__set_meta_con (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__show_infeasibilities__0" c_casadi__OptiAdvanced__show_infeasibilities__0
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO ()
+
+casadi__OptiAdvanced__show_infeasibilities__0
+  :: OptiAdvanced -> IO ()
+casadi__OptiAdvanced__show_infeasibilities__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__show_infeasibilities__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_show_infeasibilities__0 :: OptiAdvancedClass a => a -> IO ()
+optiAdvanced_show_infeasibilities__0 x = casadi__OptiAdvanced__show_infeasibilities__0 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__show_infeasibilities__1" c_casadi__OptiAdvanced__show_infeasibilities__1
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> CDouble -> IO ()
+
+casadi__OptiAdvanced__show_infeasibilities__1
+  :: OptiAdvanced -> Double -> IO ()
+casadi__OptiAdvanced__show_infeasibilities__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__show_infeasibilities__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_show_infeasibilities__1 :: OptiAdvancedClass a => a -> Double -> IO ()
+optiAdvanced_show_infeasibilities__1 x = casadi__OptiAdvanced__show_infeasibilities__1 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__solve_actual" c_casadi__OptiAdvanced__solve_actual
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> Ptr (StdMap StdString (Ptr DM')) -> IO (Ptr (StdMap StdString (Ptr DM')))
+
+casadi__OptiAdvanced__solve_actual
+  :: OptiAdvanced -> M.Map String DM -> IO (M.Map String DM)
+casadi__OptiAdvanced__solve_actual x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__solve_actual errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_solve_actual :: OptiAdvancedClass a => a -> M.Map String DM -> IO (M.Map String DM)
+optiAdvanced_solve_actual x = casadi__OptiAdvanced__solve_actual (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__solve_prepare" c_casadi__OptiAdvanced__solve_prepare
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO ()
+
+casadi__OptiAdvanced__solve_prepare
+  :: OptiAdvanced -> IO ()
+casadi__OptiAdvanced__solve_prepare x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__solve_prepare errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+optiAdvanced_solve_prepare :: OptiAdvancedClass a => a -> IO ()
+optiAdvanced_solve_prepare x = casadi__OptiAdvanced__solve_prepare (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__solved" c_casadi__OptiAdvanced__solved
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO CInt
+
+casadi__OptiAdvanced__solved
+  :: OptiAdvanced -> IO Bool
+casadi__OptiAdvanced__solved x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__solved errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_solved :: OptiAdvancedClass a => a -> IO Bool
+optiAdvanced_solved x = casadi__OptiAdvanced__solved (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__solver_dirty" c_casadi__OptiAdvanced__solver_dirty
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO CInt
+
+casadi__OptiAdvanced__solver_dirty
+  :: OptiAdvanced -> IO Bool
+casadi__OptiAdvanced__solver_dirty x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__solver_dirty errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_solver_dirty :: OptiAdvancedClass a => a -> IO Bool
+optiAdvanced_solver_dirty x = casadi__OptiAdvanced__solver_dirty (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__symvar__0" c_casadi__OptiAdvanced__symvar__0
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> Ptr MX' -> CInt -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__OptiAdvanced__symvar__0
+  :: OptiAdvanced -> MX -> VariableType -> IO (Vector MX)
+casadi__OptiAdvanced__symvar__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__symvar__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_symvar__0 :: OptiAdvancedClass a => a -> MX -> VariableType -> IO (Vector MX)
+optiAdvanced_symvar__0 x = casadi__OptiAdvanced__symvar__0 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__symvar__1" c_casadi__OptiAdvanced__symvar__1
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__OptiAdvanced__symvar__1
+  :: OptiAdvanced -> MX -> IO (Vector MX)
+casadi__OptiAdvanced__symvar__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__symvar__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_symvar__1 :: OptiAdvancedClass a => a -> MX -> IO (Vector MX)
+optiAdvanced_symvar__1 x = casadi__OptiAdvanced__symvar__1 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__symvar__2" c_casadi__OptiAdvanced__symvar__2
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__OptiAdvanced__symvar__2
+  :: OptiAdvanced -> IO (Vector MX)
+casadi__OptiAdvanced__symvar__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__symvar__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_symvar__2 :: OptiAdvancedClass a => a -> IO (Vector MX)
+optiAdvanced_symvar__2 x = casadi__OptiAdvanced__symvar__2 (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__x_describe" c_casadi__OptiAdvanced__x_describe
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> CLLong -> IO (Ptr StdString)
+
+casadi__OptiAdvanced__x_describe
+  :: OptiAdvanced -> Int -> IO String
+casadi__OptiAdvanced__x_describe x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__x_describe errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_x_describe :: OptiAdvancedClass a => a -> Int -> IO String
+optiAdvanced_x_describe x = casadi__OptiAdvanced__x_describe (castOptiAdvanced x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiAdvanced__x_lookup" c_casadi__OptiAdvanced__x_lookup
+  :: Ptr (Ptr StdString) -> Ptr OptiAdvanced' -> CLLong -> IO (Ptr MX')
+
+casadi__OptiAdvanced__x_lookup
+  :: OptiAdvanced -> Int -> IO MX
+casadi__OptiAdvanced__x_lookup x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiAdvanced__x_lookup errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiAdvanced_x_lookup :: OptiAdvancedClass a => a -> Int -> IO MX
+optiAdvanced_x_lookup x = casadi__OptiAdvanced__x_lookup (castOptiAdvanced x)
+
diff --git a/Casadi/Core/Classes/OptiCallback.hs b/Casadi/Core/Classes/OptiCallback.hs
new file mode 100644
--- /dev/null
+++ b/Casadi/Core/Classes/OptiCallback.hs
@@ -0,0 +1,116 @@
+{-# OPTIONS_GHC -Wall #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# Language ForeignFunctionInterface #-}
+{-# Language FlexibleInstances #-}
+{-# Language MultiParamTypeClasses #-}
+
+module Casadi.Core.Classes.OptiCallback
+       (
+         OptiCallback,
+         OptiCallbackClass(..),
+         optiCallback__0,
+         optiCallback__1,
+         optiCallback_call,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiCallback__CONSTRUCTOR__0" c_casadi__OptiCallback__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> Ptr OptiCallback' -> IO (Ptr OptiCallback')
+
+casadi__OptiCallback__CONSTRUCTOR__0
+  :: OptiCallback -> IO OptiCallback
+casadi__OptiCallback__CONSTRUCTOR__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiCallback__CONSTRUCTOR__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiCallback__0 :: OptiCallback -> IO OptiCallback
+optiCallback__0 = casadi__OptiCallback__CONSTRUCTOR__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiCallback__CONSTRUCTOR__1" c_casadi__OptiCallback__CONSTRUCTOR__1
+  :: Ptr (Ptr StdString) -> IO (Ptr OptiCallback')
+
+casadi__OptiCallback__CONSTRUCTOR__1
+  :: IO OptiCallback
+casadi__OptiCallback__CONSTRUCTOR__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiCallback__CONSTRUCTOR__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+optiCallback__1 :: IO OptiCallback
+optiCallback__1 = casadi__OptiCallback__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiCallback__call" c_casadi__OptiCallback__call
+  :: Ptr (Ptr StdString) -> Ptr OptiCallback' -> CLLong -> IO ()
+
+casadi__OptiCallback__call
+  :: OptiCallback -> Int -> IO ()
+casadi__OptiCallback__call x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiCallback__call errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+optiCallback_call :: OptiCallbackClass a => a -> Int -> IO ()
+optiCallback_call x = casadi__OptiCallback__call (castOptiCallback x)
+
diff --git a/Casadi/Core/Classes/OptiSol.hs b/Casadi/Core/Classes/OptiSol.hs
new file mode 100644
--- /dev/null
+++ b/Casadi/Core/Classes/OptiSol.hs
@@ -0,0 +1,414 @@
+{-# OPTIONS_GHC -Wall #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# Language ForeignFunctionInterface #-}
+{-# Language FlexibleInstances #-}
+{-# Language MultiParamTypeClasses #-}
+
+module Casadi.Core.Classes.OptiSol
+       (
+         OptiSol,
+         OptiSolClass(..),
+         optiSol_get_str__0,
+         optiSol_get_str__1,
+         optiSol_opti,
+         optiSol_stats,
+         optiSol_type_name,
+         optiSol_value__0,
+         optiSol_value__1,
+         optiSol_value__2,
+         optiSol_value__3,
+         optiSol_value__4,
+         optiSol_value__5,
+         optiSol_value_parameters,
+         optiSol_value_variables,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiSol__get_str__0" c_casadi__OptiSol__get_str__0
+  :: Ptr (Ptr StdString) -> Ptr OptiSol' -> IO (Ptr StdString)
+
+casadi__OptiSol__get_str__0
+  :: OptiSol -> IO String
+casadi__OptiSol__get_str__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiSol__get_str__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiSol_get_str__0 :: OptiSolClass a => a -> IO String
+optiSol_get_str__0 x = casadi__OptiSol__get_str__0 (castOptiSol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiSol__get_str__1" c_casadi__OptiSol__get_str__1
+  :: Ptr (Ptr StdString) -> Ptr OptiSol' -> CInt -> IO (Ptr StdString)
+
+casadi__OptiSol__get_str__1
+  :: OptiSol -> Bool -> IO String
+casadi__OptiSol__get_str__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiSol__get_str__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiSol_get_str__1 :: OptiSolClass a => a -> Bool -> IO String
+optiSol_get_str__1 x = casadi__OptiSol__get_str__1 (castOptiSol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiSol__opti" c_casadi__OptiSol__opti
+  :: Ptr (Ptr StdString) -> Ptr OptiSol' -> IO (Ptr Opti')
+
+casadi__OptiSol__opti
+  :: OptiSol -> IO Opti
+casadi__OptiSol__opti x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiSol__opti errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiSol_opti :: OptiSolClass a => a -> IO Opti
+optiSol_opti x = casadi__OptiSol__opti (castOptiSol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiSol__stats" c_casadi__OptiSol__stats
+  :: Ptr (Ptr StdString) -> Ptr OptiSol' -> IO (Ptr (StdMap StdString (Ptr GenericType')))
+
+casadi__OptiSol__stats
+  :: OptiSol -> IO (M.Map String GenericType)
+casadi__OptiSol__stats x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiSol__stats errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiSol_stats :: OptiSolClass a => a -> IO (M.Map String GenericType)
+optiSol_stats x = casadi__OptiSol__stats (castOptiSol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiSol__type_name" c_casadi__OptiSol__type_name
+  :: Ptr (Ptr StdString) -> Ptr OptiSol' -> IO (Ptr StdString)
+
+casadi__OptiSol__type_name
+  :: OptiSol -> IO String
+casadi__OptiSol__type_name x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiSol__type_name errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiSol_type_name :: OptiSolClass a => a -> IO String
+optiSol_type_name x = casadi__OptiSol__type_name (castOptiSol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiSol__value__0" c_casadi__OptiSol__value__0
+  :: Ptr (Ptr StdString) -> Ptr OptiSol' -> Ptr SX' -> IO (Ptr DM')
+
+casadi__OptiSol__value__0
+  :: OptiSol -> SX -> IO DM
+casadi__OptiSol__value__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiSol__value__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiSol_value__0 :: OptiSolClass a => a -> SX -> IO DM
+optiSol_value__0 x = casadi__OptiSol__value__0 (castOptiSol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiSol__value__1" c_casadi__OptiSol__value__1
+  :: Ptr (Ptr StdString) -> Ptr OptiSol' -> Ptr SX' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr DM')
+
+casadi__OptiSol__value__1
+  :: OptiSol -> SX -> Vector MX -> IO DM
+casadi__OptiSol__value__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiSol__value__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+optiSol_value__1 :: OptiSolClass a => a -> SX -> Vector MX -> IO DM
+optiSol_value__1 x = casadi__OptiSol__value__1 (castOptiSol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiSol__value__2" c_casadi__OptiSol__value__2
+  :: Ptr (Ptr StdString) -> Ptr OptiSol' -> Ptr DM' -> IO (Ptr DM')
+
+casadi__OptiSol__value__2
+  :: OptiSol -> DM -> IO DM
+casadi__OptiSol__value__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiSol__value__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiSol_value__2 :: OptiSolClass a => a -> DM -> IO DM
+optiSol_value__2 x = casadi__OptiSol__value__2 (castOptiSol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiSol__value__3" c_casadi__OptiSol__value__3
+  :: Ptr (Ptr StdString) -> Ptr OptiSol' -> Ptr DM' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr DM')
+
+casadi__OptiSol__value__3
+  :: OptiSol -> DM -> Vector MX -> IO DM
+casadi__OptiSol__value__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiSol__value__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+optiSol_value__3 :: OptiSolClass a => a -> DM -> Vector MX -> IO DM
+optiSol_value__3 x = casadi__OptiSol__value__3 (castOptiSol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiSol__value__4" c_casadi__OptiSol__value__4
+  :: Ptr (Ptr StdString) -> Ptr OptiSol' -> Ptr MX' -> IO (Ptr DM')
+
+casadi__OptiSol__value__4
+  :: OptiSol -> MX -> IO DM
+casadi__OptiSol__value__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiSol__value__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+optiSol_value__4 :: OptiSolClass a => a -> MX -> IO DM
+optiSol_value__4 x = casadi__OptiSol__value__4 (castOptiSol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiSol__value__5" c_casadi__OptiSol__value__5
+  :: Ptr (Ptr StdString) -> Ptr OptiSol' -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr DM')
+
+casadi__OptiSol__value__5
+  :: OptiSol -> MX -> Vector MX -> IO DM
+casadi__OptiSol__value__5 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiSol__value__5 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+optiSol_value__5 :: OptiSolClass a => a -> MX -> Vector MX -> IO DM
+optiSol_value__5 x = casadi__OptiSol__value__5 (castOptiSol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiSol__value_parameters" c_casadi__OptiSol__value_parameters
+  :: Ptr (Ptr StdString) -> Ptr OptiSol' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__OptiSol__value_parameters
+  :: OptiSol -> IO (Vector MX)
+casadi__OptiSol__value_parameters x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiSol__value_parameters errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiSol_value_parameters :: OptiSolClass a => a -> IO (Vector MX)
+optiSol_value_parameters x = casadi__OptiSol__value_parameters (castOptiSol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__OptiSol__value_variables" c_casadi__OptiSol__value_variables
+  :: Ptr (Ptr StdString) -> Ptr OptiSol' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi__OptiSol__value_variables
+  :: OptiSol -> IO (Vector MX)
+casadi__OptiSol__value_variables x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__OptiSol__value_variables errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+optiSol_value_variables :: OptiSolClass a => a -> IO (Vector MX)
+optiSol_value_variables x = casadi__OptiSol__value_variables (castOptiSol x)
+
diff --git a/Casadi/Core/Classes/PrintableCommon.hs b/Casadi/Core/Classes/PrintableCommon.hs
new file mode 100644
--- /dev/null
+++ b/Casadi/Core/Classes/PrintableCommon.hs
@@ -0,0 +1,31 @@
+{-# OPTIONS_GHC -Wall #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# Language ForeignFunctionInterface #-}
+{-# Language FlexibleInstances #-}
+{-# Language MultiParamTypeClasses #-}
+
+module Casadi.Core.Classes.PrintableCommon
+       (
+         PrintableCommon,
+         PrintableCommonClass(..),
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
diff --git a/Casadi/Core/Classes/SX.hs b/Casadi/Core/Classes/SX.hs
--- a/Casadi/Core/Classes/SX.hs
+++ b/Casadi/Core/Classes/SX.hs
@@ -25,5736 +25,4884 @@
          sx_binary,
          sx_clear,
          sx_colind,
-         sx_dep__0,
-         sx_dep__1,
-         sx_dim,
-         sx_element_hash,
-         sx_enlarge__0,
-         sx_enlarge__1,
-         sx_erase__0,
-         sx_erase__1,
-         sx_erase__2,
-         sx_erase__3,
-         sx_eye,
-         sx_getDescription,
-         sx_getEqualityCheckingDepth,
-         sx_getRepresentation,
-         sx_get__0,
-         sx_get__1,
-         sx_get__2,
-         sx_get__3,
-         sx_get__4,
-         sx_get__5,
-         sx_get__6,
-         sx_get_colind,
-         sx_get_free,
-         sx_get_input,
-         sx_get_nonzeros,
-         sx_get_nz__0,
-         sx_get_nz__1,
-         sx_get_row,
-         sx_get_sparsity,
-         sx_grad__0,
-         sx_grad__1,
-         sx_grad__2,
-         sx_grad__3,
-         sx_grad__4,
-         sx_grad__5,
-         sx_grad__6,
-         sx_has_duplicates,
-         sx_has_nz,
-         sx_has_zeros,
-         sx_hess__0,
-         sx_hess__1,
-         sx_hess__2,
-         sx_hess__3,
-         sx_hess__4,
-         sx_hess__5,
-         sx_hess__6,
-         sx_inf__0,
-         sx_inf__1,
-         sx_inf__2,
-         sx_inf__3,
-         sx_inf__4,
-         sx_is_column,
-         sx_is_commutative,
-         sx_is_constant,
-         sx_is_dense,
-         sx_is_empty__0,
-         sx_is_empty__1,
-         sx_is_identity,
-         sx_is_integer,
-         sx_is_leaf,
-         sx_is_minus_one,
-         sx_is_one,
-         sx_is_regular,
-         sx_is_row,
-         sx_is_scalar__0,
-         sx_is_scalar__1,
-         sx_is_smooth,
-         sx_is_square,
-         sx_is_symbolic,
-         sx_is_tril,
-         sx_is_triu,
-         sx_is_valid_input,
-         sx_is_vector,
-         sx_is_zero,
-         sx_jac__0,
-         sx_jac__1,
-         sx_jac__10,
-         sx_jac__11,
-         sx_jac__12,
-         sx_jac__13,
-         sx_jac__14,
-         sx_jac__2,
-         sx_jac__3,
-         sx_jac__4,
-         sx_jac__5,
-         sx_jac__6,
-         sx_jac__7,
-         sx_jac__8,
-         sx_jac__9,
-         sx_matrix_matrix,
-         sx_matrix_scalar,
-         sx_n_dep,
-         sx_name,
-         sx_nan__0,
-         sx_nan__1,
-         sx_nan__2,
-         sx_nan__3,
-         sx_nan__4,
-         sx_nnz,
-         sx_nnz_diag,
-         sx_nnz_lower,
-         sx_nnz_upper,
-         sx_numel__0,
-         sx_numel__1,
-         sx_ones__0,
-         sx_ones__1,
-         sx_ones__2,
-         sx_ones__3,
-         sx_ones__4,
-         sx_operator__minus,
-         sx_operator__plus,
-         sx_operator_double,
-         sx_operator_int,
-         sx_print_dense,
-         sx_print_scalar,
-         sx_print_sparse,
-         sx_print_split,
-         sx_print_vector,
-         sx_printme,
-         sx_remove,
-         sx_reserve__0,
-         sx_reserve__1,
-         sx_resetInput,
-         sx_resize,
-         sx_row,
-         sx_sanity_check__0,
-         sx_sanity_check__1,
-         sx_scalar_matrix,
-         sx_setEqualityCheckingDepth__0,
-         sx_setEqualityCheckingDepth__1,
-         sx_setPrecision,
-         sx_setScientific,
-         sx_setWidth,
-         sx_set__0,
-         sx_set__1,
-         sx_set__2,
-         sx_set__3,
-         sx_set__4,
-         sx_set__5,
-         sx_set__6,
-         sx_set_nz__0,
-         sx_set_nz__1,
-         sx_size1,
-         sx_size2,
-         sx_size__0,
-         sx_size__1,
-         sx_sparsity,
-         sx_sym__0,
-         sx_sym__1,
-         sx_sym__2,
-         sx_sym__3,
-         sx_sym__4,
-         sx_sym__5,
-         sx_sym__6,
-         sx_sym__7,
-         sx_sym__8,
-         sx_tang__0,
-         sx_tang__1,
-         sx_tang__2,
-         sx_tang__3,
-         sx_tang__4,
-         sx_tang__5,
-         sx_tang__6,
-         sx_triplet__0,
-         sx_triplet__1,
-         sx_triplet__2,
-         sx_type_name,
-         sx_unary,
-         sx_zeros__0,
-         sx_zeros__1,
-         sx_zeros__2,
-         sx_zeros__3,
-         sx_zeros__4,
-       ) where
-
-
-import Prelude hiding ( Functor )
-
-import Data.Vector ( Vector )
-import qualified Data.Map as M
-import Foreign.C.Types
-import Foreign.Marshal ( new, free )
-import Foreign.Storable ( peek )
-import Foreign.Ptr ( Ptr, nullPtr )
-import Foreign.ForeignPtr ( newForeignPtr )
-import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
-
-import Casadi.Internal.FormatException ( formatException )
-import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
-import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
-import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-import Casadi.Core.Data
-import Casadi.Core.Enums
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__0" c_casadi__SX__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr SX')
-
-casadi__SX__CONSTRUCTOR__0
-  :: DM -> IO SX
-casadi__SX__CONSTRUCTOR__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__CONSTRUCTOR__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx__0 :: DM -> IO SX
-sx__0 = casadi__SX__CONSTRUCTOR__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__1" c_casadi__SX__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr SX')
-
-casadi__SX__CONSTRUCTOR__1
-  :: Vector Double -> IO SX
-casadi__SX__CONSTRUCTOR__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__CONSTRUCTOR__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx__1 :: Vector Double -> IO SX
-sx__1 = casadi__SX__CONSTRUCTOR__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__2" c_casadi__SX__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr SX')
-
-casadi__SX__CONSTRUCTOR__2
-  :: IM -> IO SX
-casadi__SX__CONSTRUCTOR__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__CONSTRUCTOR__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx__2 :: IM -> IO SX
-sx__2 = casadi__SX__CONSTRUCTOR__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__3" c_casadi__SX__CONSTRUCTOR__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr SX')
-
-casadi__SX__CONSTRUCTOR__3
-  :: Vector Int -> IO SX
-casadi__SX__CONSTRUCTOR__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__CONSTRUCTOR__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx__3 :: Vector Int -> IO SX
-sx__3 = casadi__SX__CONSTRUCTOR__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__4" c_casadi__SX__CONSTRUCTOR__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec CDouble))) -> IO (Ptr SX')
-
-casadi__SX__CONSTRUCTOR__4
-  :: Vector (Vector Double) -> IO SX
-casadi__SX__CONSTRUCTOR__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__CONSTRUCTOR__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx__4 :: Vector (Vector Double) -> IO SX
-sx__4 = casadi__SX__CONSTRUCTOR__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__5" c_casadi__SX__CONSTRUCTOR__5
-  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr SX')
-
-casadi__SX__CONSTRUCTOR__5
-  :: Double -> IO SX
-casadi__SX__CONSTRUCTOR__5 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__CONSTRUCTOR__5 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx__5 :: Double -> IO SX
-sx__5 = casadi__SX__CONSTRUCTOR__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__6" c_casadi__SX__CONSTRUCTOR__6
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr SX' -> IO (Ptr SX')
-
-casadi__SX__CONSTRUCTOR__6
-  :: Sparsity -> SX -> IO SX
-casadi__SX__CONSTRUCTOR__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__CONSTRUCTOR__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx__6 :: Sparsity -> SX -> IO SX
-sx__6 = casadi__SX__CONSTRUCTOR__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__7" c_casadi__SX__CONSTRUCTOR__7
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
-
-casadi__SX__CONSTRUCTOR__7
-  :: Sparsity -> IO SX
-casadi__SX__CONSTRUCTOR__7 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__CONSTRUCTOR__7 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx__7 :: Sparsity -> IO SX
-sx__7 = casadi__SX__CONSTRUCTOR__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__8" c_casadi__SX__CONSTRUCTOR__8
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__CONSTRUCTOR__8
-  :: Int -> Int -> IO SX
-casadi__SX__CONSTRUCTOR__8 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__CONSTRUCTOR__8 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx__8 :: Int -> Int -> IO SX
-sx__8 = casadi__SX__CONSTRUCTOR__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__9" c_casadi__SX__CONSTRUCTOR__9
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi__SX__CONSTRUCTOR__9
-  :: SX -> IO SX
-casadi__SX__CONSTRUCTOR__9 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__CONSTRUCTOR__9 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx__9 :: SX -> IO SX
-sx__9 = casadi__SX__CONSTRUCTOR__9
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__10" c_casadi__SX__CONSTRUCTOR__10
-  :: Ptr (Ptr StdString) -> IO (Ptr SX')
-
-casadi__SX__CONSTRUCTOR__10
-  :: IO SX
-casadi__SX__CONSTRUCTOR__10  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__CONSTRUCTOR__10 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-sx__10 :: IO SX
-sx__10 = casadi__SX__CONSTRUCTOR__10
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__T" c_casadi__SX__T
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi__SX__T
-  :: SX -> IO SX
-casadi__SX__T x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__T errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_T :: SXClass a => a -> IO SX
-sx_T x = casadi__SX__T (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____nonzero__" c_casadi__SX____nonzero__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX____nonzero__
-  :: SX -> IO Bool
-casadi__SX____nonzero__ x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX____nonzero__ errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx___nonzero__ :: SXClass a => a -> IO Bool
-sx___nonzero__ x = casadi__SX____nonzero__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__binary" c_casadi__SX__binary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi__SX__binary
-  :: Int -> SX -> SX -> IO SX
-casadi__SX__binary x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__binary errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_binary :: Int -> SX -> SX -> IO SX
-sx_binary = casadi__SX__binary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__clear" c_casadi__SX__clear
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-
-casadi__SX__clear
-  :: SX -> IO ()
-casadi__SX__clear x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__clear errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-sx_clear :: SXClass a => a -> IO ()
-sx_clear x = casadi__SX__clear (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__colind" c_casadi__SX__colind
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
-
-casadi__SX__colind
-  :: SX -> Int -> IO Int
-casadi__SX__colind x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__colind errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_colind :: SXClass a => a -> Int -> IO Int
-sx_colind x = casadi__SX__colind (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__dep__0" c_casadi__SX__dep__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi__SX__dep__0
-  :: SX -> IO SX
-casadi__SX__dep__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__dep__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_dep__0 :: SXClass a => a -> IO SX
-sx_dep__0 x = casadi__SX__dep__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__dep__1" c_casadi__SX__dep__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
-
-casadi__SX__dep__1
-  :: SX -> Int -> IO SX
-casadi__SX__dep__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__dep__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_dep__1 :: SXClass a => a -> Int -> IO SX
-sx_dep__1 x = casadi__SX__dep__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__dim" c_casadi__SX__dim
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr StdString)
-
-casadi__SX__dim
-  :: SX -> IO String
-casadi__SX__dim x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__dim errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_dim :: SXClass a => a -> IO String
-sx_dim x = casadi__SX__dim (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__element_hash" c_casadi__SX__element_hash
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CSize
-
-casadi__SX__element_hash
-  :: SX -> IO CSize
-casadi__SX__element_hash x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__element_hash errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_element_hash :: SXClass a => a -> IO CSize
-sx_element_hash x = casadi__SX__element_hash (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__enlarge__0" c_casadi__SX__enlarge__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-
-casadi__SX__enlarge__0
-  :: SX -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casadi__SX__enlarge__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-sx_enlarge__0 :: SXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-sx_enlarge__0 x = casadi__SX__enlarge__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__enlarge__1" c_casadi__SX__enlarge__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__SX__enlarge__1
-  :: SX -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
-casadi__SX__enlarge__1 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ()
-
-
-
--- classy wrapper
-sx_enlarge__1 :: SXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
-sx_enlarge__1 x = casadi__SX__enlarge__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__erase__0" c_casadi__SX__erase__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> IO ()
-
-casadi__SX__erase__0
-  :: SX -> Vector Int -> IO ()
-casadi__SX__erase__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__erase__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-sx_erase__0 :: SXClass a => a -> Vector Int -> IO ()
-sx_erase__0 x = casadi__SX__erase__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__erase__1" c_casadi__SX__erase__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__SX__erase__1
-  :: SX -> Vector Int -> Bool -> IO ()
-casadi__SX__erase__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__erase__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-sx_erase__1 :: SXClass a => a -> Vector Int -> Bool -> IO ()
-sx_erase__1 x = casadi__SX__erase__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__erase__2" c_casadi__SX__erase__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-
-casadi__SX__erase__2
-  :: SX -> Vector Int -> Vector Int -> IO ()
-casadi__SX__erase__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__erase__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-sx_erase__2 :: SXClass a => a -> Vector Int -> Vector Int -> IO ()
-sx_erase__2 x = casadi__SX__erase__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__erase__3" c_casadi__SX__erase__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__SX__erase__3
-  :: SX -> Vector Int -> Vector Int -> Bool -> IO ()
-casadi__SX__erase__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__erase__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-sx_erase__3 :: SXClass a => a -> Vector Int -> Vector Int -> Bool -> IO ()
-sx_erase__3 x = casadi__SX__erase__3 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__eye" c_casadi__SX__eye
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
-
-casadi__SX__eye
-  :: Int -> IO SX
-casadi__SX__eye x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__eye errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_eye :: Int -> IO SX
-sx_eye = casadi__SX__eye
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get__0" c_casadi__SX__get__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
-
-casadi__SX__get__0
-  :: SX -> Bool -> IM -> IM -> IO (SX)
-casadi__SX__get__0 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get__0 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get__0/c_casadi__SX__get__0" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-sx_get__0 :: SXClass a => a -> Bool -> IM -> IM -> IO (SX)
-sx_get__0 x = casadi__SX__get__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get__1" c_casadi__SX__get__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
-
-casadi__SX__get__1
-  :: SX -> Bool -> IM -> Slice -> IO (SX)
-casadi__SX__get__1 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get__1 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get__1/c_casadi__SX__get__1" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-sx_get__1 :: SXClass a => a -> Bool -> IM -> Slice -> IO (SX)
-sx_get__1 x = casadi__SX__get__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get__2" c_casadi__SX__get__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
-
-casadi__SX__get__2
-  :: SX -> Bool -> Slice -> IM -> IO (SX)
-casadi__SX__get__2 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get__2 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get__2/c_casadi__SX__get__2" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-sx_get__2 :: SXClass a => a -> Bool -> Slice -> IM -> IO (SX)
-sx_get__2 x = casadi__SX__get__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get__3" c_casadi__SX__get__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
-
-casadi__SX__get__3
-  :: SX -> Bool -> Slice -> Slice -> IO (SX)
-casadi__SX__get__3 x0 x2 x3 x4 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get__3 errStrPtrP x0' o1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get__3/c_casadi__SX__get__3" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return (o1''')
-
-
-
--- classy wrapper
-sx_get__3 :: SXClass a => a -> Bool -> Slice -> Slice -> IO (SX)
-sx_get__3 x = casadi__SX__get__3 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get__4" c_casadi__SX__get__4
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr Sparsity' -> IO ()
-
-casadi__SX__get__4
-  :: SX -> Bool -> Sparsity -> IO (SX)
-casadi__SX__get__4 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get__4 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get__4/c_casadi__SX__get__4" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-sx_get__4 :: SXClass a => a -> Bool -> Sparsity -> IO (SX)
-sx_get__4 x = casadi__SX__get__4 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get__5" c_casadi__SX__get__5
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr IM' -> IO ()
-
-casadi__SX__get__5
-  :: SX -> Bool -> IM -> IO (SX)
-casadi__SX__get__5 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get__5 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get__5/c_casadi__SX__get__5" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-sx_get__5 :: SXClass a => a -> Bool -> IM -> IO (SX)
-sx_get__5 x = casadi__SX__get__5 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get__6" c_casadi__SX__get__6
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr Slice' -> IO ()
-
-casadi__SX__get__6
-  :: SX -> Bool -> Slice -> IO (SX)
-casadi__SX__get__6 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get__6 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get__6/c_casadi__SX__get__6" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-sx_get__6 :: SXClass a => a -> Bool -> Slice -> IO (SX)
-sx_get__6 x = casadi__SX__get__6 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__getEqualityCheckingDepth" c_casadi__SX__getEqualityCheckingDepth
-  :: Ptr (Ptr StdString) -> IO CInt
-
-casadi__SX__getEqualityCheckingDepth
-  :: IO Int
-casadi__SX__getEqualityCheckingDepth  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__getEqualityCheckingDepth errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-sx_getEqualityCheckingDepth :: IO Int
-sx_getEqualityCheckingDepth = casadi__SX__getEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get_colind" c_casadi__SX__get_colind
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec CInt))
-
-casadi__SX__get_colind
-  :: SX -> IO (Vector Int)
-casadi__SX__get_colind x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get_colind errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_get_colind :: SXClass a => a -> IO (Vector Int)
-sx_get_colind x = casadi__SX__get_colind (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get_free" c_casadi__SX__get_free
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi__SX__get_free
-  :: Function -> IO (Vector SX)
-casadi__SX__get_free x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get_free errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_get_free :: Function -> IO (Vector SX)
-sx_get_free = casadi__SX__get_free
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get_input" c_casadi__SX__get_input
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi__SX__get_input
-  :: Function -> IO (Vector SX)
-casadi__SX__get_input x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get_input errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_get_input :: Function -> IO (Vector SX)
-sx_get_input = casadi__SX__get_input
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get_nonzeros" c_casadi__SX__get_nonzeros
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SXElem')))
-
-casadi__SX__get_nonzeros
-  :: SX -> IO (Vector SXElem)
-casadi__SX__get_nonzeros x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get_nonzeros errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_get_nonzeros :: SXClass a => a -> IO (Vector SXElem)
-sx_get_nonzeros x = casadi__SX__get_nonzeros (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get_nz__0" c_casadi__SX__get_nz__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr IM' -> IO ()
-
-casadi__SX__get_nz__0
-  :: SX -> Bool -> IM -> IO (SX)
-casadi__SX__get_nz__0 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get_nz__0 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get_nz__0/c_casadi__SX__get_nz__0" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-sx_get_nz__0 :: SXClass a => a -> Bool -> IM -> IO (SX)
-sx_get_nz__0 x = casadi__SX__get_nz__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get_nz__1" c_casadi__SX__get_nz__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr Slice' -> IO ()
-
-casadi__SX__get_nz__1
-  :: SX -> Bool -> Slice -> IO (SX)
-casadi__SX__get_nz__1 x0 x2 x3 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get_nz__1 errStrPtrP x0' o1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get_nz__1/c_casadi__SX__get_nz__1" else wrapReturn o1''
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return (o1''')
-
-
-
--- classy wrapper
-sx_get_nz__1 :: SXClass a => a -> Bool -> Slice -> IO (SX)
-sx_get_nz__1 x = casadi__SX__get_nz__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get_row" c_casadi__SX__get_row
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec CInt))
-
-casadi__SX__get_row
-  :: SX -> IO (Vector Int)
-casadi__SX__get_row x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get_row errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_get_row :: SXClass a => a -> IO (Vector Int)
-sx_get_row x = casadi__SX__get_row (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get_sparsity" c_casadi__SX__get_sparsity
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr Sparsity')
-
-casadi__SX__get_sparsity
-  :: SX -> IO Sparsity
-casadi__SX__get_sparsity x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__get_sparsity errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_get_sparsity :: SXClass a => a -> IO Sparsity
-sx_get_sparsity x = casadi__SX__get_sparsity (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__grad__0" c_casadi__SX__grad__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr SX')
-
-casadi__SX__grad__0
-  :: Function -> String -> String -> IO SX
-casadi__SX__grad__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__grad__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_grad__0 :: Function -> String -> String -> IO SX
-sx_grad__0 = casadi__SX__grad__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__grad__1" c_casadi__SX__grad__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr SX')
-
-casadi__SX__grad__1
-  :: Function -> Int -> String -> IO SX
-casadi__SX__grad__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__grad__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_grad__1 :: Function -> Int -> String -> IO SX
-sx_grad__1 = casadi__SX__grad__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__grad__2" c_casadi__SX__grad__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr SX')
-
-casadi__SX__grad__2
-  :: Function -> String -> IO SX
-casadi__SX__grad__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__grad__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_grad__2 :: Function -> String -> IO SX
-sx_grad__2 = casadi__SX__grad__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__grad__3" c_casadi__SX__grad__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr SX')
-
-casadi__SX__grad__3
-  :: Function -> String -> Int -> IO SX
-casadi__SX__grad__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__grad__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_grad__3 :: Function -> String -> Int -> IO SX
-sx_grad__3 = casadi__SX__grad__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__grad__4" c_casadi__SX__grad__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr SX')
-
-casadi__SX__grad__4
-  :: Function -> IO SX
-casadi__SX__grad__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__grad__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_grad__4 :: Function -> IO SX
-sx_grad__4 = casadi__SX__grad__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__grad__5" c_casadi__SX__grad__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr SX')
-
-casadi__SX__grad__5
-  :: Function -> Int -> IO SX
-casadi__SX__grad__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__grad__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_grad__5 :: Function -> Int -> IO SX
-sx_grad__5 = casadi__SX__grad__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__grad__6" c_casadi__SX__grad__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__grad__6
-  :: Function -> Int -> Int -> IO SX
-casadi__SX__grad__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__grad__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_grad__6 :: Function -> Int -> Int -> IO SX
-sx_grad__6 = casadi__SX__grad__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__has_duplicates" c_casadi__SX__has_duplicates
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__has_duplicates
-  :: SX -> IO Bool
-casadi__SX__has_duplicates x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__has_duplicates errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_has_duplicates :: SXClass a => a -> IO Bool
-sx_has_duplicates x = casadi__SX__has_duplicates (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__has_nz" c_casadi__SX__has_nz
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO CInt
-
-casadi__SX__has_nz
-  :: SX -> Int -> Int -> IO Bool
-casadi__SX__has_nz x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__has_nz errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_has_nz :: SXClass a => a -> Int -> Int -> IO Bool
-sx_has_nz x = casadi__SX__has_nz (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__has_zeros" c_casadi__SX__has_zeros
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__has_zeros
-  :: SX -> IO Bool
-casadi__SX__has_zeros x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__has_zeros errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_has_zeros :: SXClass a => a -> IO Bool
-sx_has_zeros x = casadi__SX__has_zeros (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__hess__0" c_casadi__SX__hess__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr SX')
-
-casadi__SX__hess__0
-  :: Function -> String -> String -> IO SX
-casadi__SX__hess__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__hess__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_hess__0 :: Function -> String -> String -> IO SX
-sx_hess__0 = casadi__SX__hess__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__hess__1" c_casadi__SX__hess__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr SX')
-
-casadi__SX__hess__1
-  :: Function -> Int -> String -> IO SX
-casadi__SX__hess__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__hess__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_hess__1 :: Function -> Int -> String -> IO SX
-sx_hess__1 = casadi__SX__hess__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__hess__2" c_casadi__SX__hess__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr SX')
-
-casadi__SX__hess__2
-  :: Function -> String -> IO SX
-casadi__SX__hess__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__hess__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_hess__2 :: Function -> String -> IO SX
-sx_hess__2 = casadi__SX__hess__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__hess__3" c_casadi__SX__hess__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr SX')
-
-casadi__SX__hess__3
-  :: Function -> String -> Int -> IO SX
-casadi__SX__hess__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__hess__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_hess__3 :: Function -> String -> Int -> IO SX
-sx_hess__3 = casadi__SX__hess__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__hess__4" c_casadi__SX__hess__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr SX')
-
-casadi__SX__hess__4
-  :: Function -> IO SX
-casadi__SX__hess__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__hess__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_hess__4 :: Function -> IO SX
-sx_hess__4 = casadi__SX__hess__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__hess__5" c_casadi__SX__hess__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr SX')
-
-casadi__SX__hess__5
-  :: Function -> Int -> IO SX
-casadi__SX__hess__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__hess__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_hess__5 :: Function -> Int -> IO SX
-sx_hess__5 = casadi__SX__hess__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__hess__6" c_casadi__SX__hess__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__hess__6
-  :: Function -> Int -> Int -> IO SX
-casadi__SX__hess__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__hess__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_hess__6 :: Function -> Int -> Int -> IO SX
-sx_hess__6 = casadi__SX__hess__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__inf__0" c_casadi__SX__inf__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr SX')
-
-casadi__SX__inf__0
-  :: (Int, Int) -> IO SX
-casadi__SX__inf__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__inf__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_inf__0 :: (Int, Int) -> IO SX
-sx_inf__0 = casadi__SX__inf__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__inf__1" c_casadi__SX__inf__1
-  :: Ptr (Ptr StdString) -> IO (Ptr SX')
-
-casadi__SX__inf__1
-  :: IO SX
-casadi__SX__inf__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__inf__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-sx_inf__1 :: IO SX
-sx_inf__1 = casadi__SX__inf__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__inf__2" c_casadi__SX__inf__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
-
-casadi__SX__inf__2
-  :: Int -> IO SX
-casadi__SX__inf__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__inf__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_inf__2 :: Int -> IO SX
-sx_inf__2 = casadi__SX__inf__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__inf__3" c_casadi__SX__inf__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__inf__3
-  :: Int -> Int -> IO SX
-casadi__SX__inf__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__inf__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_inf__3 :: Int -> Int -> IO SX
-sx_inf__3 = casadi__SX__inf__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__inf__4" c_casadi__SX__inf__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
-
-casadi__SX__inf__4
-  :: Sparsity -> IO SX
-casadi__SX__inf__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__inf__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_inf__4 :: Sparsity -> IO SX
-sx_inf__4 = casadi__SX__inf__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_column" c_casadi__SX__is_column
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_column
-  :: SX -> IO Bool
-casadi__SX__is_column x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_column errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_column :: SXClass a => a -> IO Bool
-sx_is_column x = casadi__SX__is_column (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_commutative" c_casadi__SX__is_commutative
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_commutative
-  :: SX -> IO Bool
-casadi__SX__is_commutative x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_commutative errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_commutative :: SXClass a => a -> IO Bool
-sx_is_commutative x = casadi__SX__is_commutative (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_constant" c_casadi__SX__is_constant
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_constant
-  :: SX -> IO Bool
-casadi__SX__is_constant x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_constant errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_constant :: SXClass a => a -> IO Bool
-sx_is_constant x = casadi__SX__is_constant (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_dense" c_casadi__SX__is_dense
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_dense
-  :: SX -> IO Bool
-casadi__SX__is_dense x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_dense errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_dense :: SXClass a => a -> IO Bool
-sx_is_dense x = casadi__SX__is_dense (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_empty__0" c_casadi__SX__is_empty__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_empty__0
-  :: SX -> IO Bool
-casadi__SX__is_empty__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_empty__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_empty__0 :: SXClass a => a -> IO Bool
-sx_is_empty__0 x = casadi__SX__is_empty__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_empty__1" c_casadi__SX__is_empty__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
-
-casadi__SX__is_empty__1
-  :: SX -> Bool -> IO Bool
-casadi__SX__is_empty__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_empty__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_empty__1 :: SXClass a => a -> Bool -> IO Bool
-sx_is_empty__1 x = casadi__SX__is_empty__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_identity" c_casadi__SX__is_identity
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_identity
-  :: SX -> IO Bool
-casadi__SX__is_identity x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_identity errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_identity :: SXClass a => a -> IO Bool
-sx_is_identity x = casadi__SX__is_identity (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_integer" c_casadi__SX__is_integer
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_integer
-  :: SX -> IO Bool
-casadi__SX__is_integer x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_integer errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_integer :: SXClass a => a -> IO Bool
-sx_is_integer x = casadi__SX__is_integer (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_leaf" c_casadi__SX__is_leaf
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_leaf
-  :: SX -> IO Bool
-casadi__SX__is_leaf x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_leaf errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_leaf :: SXClass a => a -> IO Bool
-sx_is_leaf x = casadi__SX__is_leaf (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_minus_one" c_casadi__SX__is_minus_one
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_minus_one
-  :: SX -> IO Bool
-casadi__SX__is_minus_one x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_minus_one errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_minus_one :: SXClass a => a -> IO Bool
-sx_is_minus_one x = casadi__SX__is_minus_one (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_one" c_casadi__SX__is_one
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_one
-  :: SX -> IO Bool
-casadi__SX__is_one x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_one errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_one :: SXClass a => a -> IO Bool
-sx_is_one x = casadi__SX__is_one (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_regular" c_casadi__SX__is_regular
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_regular
-  :: SX -> IO Bool
-casadi__SX__is_regular x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_regular errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_regular :: SXClass a => a -> IO Bool
-sx_is_regular x = casadi__SX__is_regular (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_row" c_casadi__SX__is_row
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_row
-  :: SX -> IO Bool
-casadi__SX__is_row x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_row errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_row :: SXClass a => a -> IO Bool
-sx_is_row x = casadi__SX__is_row (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_scalar__0" c_casadi__SX__is_scalar__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_scalar__0
-  :: SX -> IO Bool
-casadi__SX__is_scalar__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_scalar__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_scalar__0 :: SXClass a => a -> IO Bool
-sx_is_scalar__0 x = casadi__SX__is_scalar__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_scalar__1" c_casadi__SX__is_scalar__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
-
-casadi__SX__is_scalar__1
-  :: SX -> Bool -> IO Bool
-casadi__SX__is_scalar__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_scalar__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_scalar__1 :: SXClass a => a -> Bool -> IO Bool
-sx_is_scalar__1 x = casadi__SX__is_scalar__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_smooth" c_casadi__SX__is_smooth
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_smooth
-  :: SX -> IO Bool
-casadi__SX__is_smooth x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_smooth errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_smooth :: SXClass a => a -> IO Bool
-sx_is_smooth x = casadi__SX__is_smooth (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_square" c_casadi__SX__is_square
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_square
-  :: SX -> IO Bool
-casadi__SX__is_square x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_square errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_square :: SXClass a => a -> IO Bool
-sx_is_square x = casadi__SX__is_square (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_symbolic" c_casadi__SX__is_symbolic
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_symbolic
-  :: SX -> IO Bool
-casadi__SX__is_symbolic x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_symbolic errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_symbolic :: SXClass a => a -> IO Bool
-sx_is_symbolic x = casadi__SX__is_symbolic (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_tril" c_casadi__SX__is_tril
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_tril
-  :: SX -> IO Bool
-casadi__SX__is_tril x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_tril errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_tril :: SXClass a => a -> IO Bool
-sx_is_tril x = casadi__SX__is_tril (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_triu" c_casadi__SX__is_triu
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_triu
-  :: SX -> IO Bool
-casadi__SX__is_triu x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_triu errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_triu :: SXClass a => a -> IO Bool
-sx_is_triu x = casadi__SX__is_triu (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_valid_input" c_casadi__SX__is_valid_input
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_valid_input
-  :: SX -> IO Bool
-casadi__SX__is_valid_input x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_valid_input errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_valid_input :: SXClass a => a -> IO Bool
-sx_is_valid_input x = casadi__SX__is_valid_input (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_vector" c_casadi__SX__is_vector
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_vector
-  :: SX -> IO Bool
-casadi__SX__is_vector x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_vector errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_vector :: SXClass a => a -> IO Bool
-sx_is_vector x = casadi__SX__is_vector (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__is_zero" c_casadi__SX__is_zero
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__is_zero
-  :: SX -> IO Bool
-casadi__SX__is_zero x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__is_zero errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_is_zero :: SXClass a => a -> IO Bool
-sx_is_zero x = casadi__SX__is_zero (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__0" c_casadi__SX__jac__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr SX')
-
-casadi__SX__jac__0
-  :: Function -> String -> String -> IO SX
-casadi__SX__jac__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__0 :: Function -> String -> String -> IO SX
-sx_jac__0 = casadi__SX__jac__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__1" c_casadi__SX__jac__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> IO (Ptr SX')
-
-casadi__SX__jac__1
-  :: Function -> String -> String -> Bool -> IO SX
-casadi__SX__jac__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__1 :: Function -> String -> String -> Bool -> IO SX
-sx_jac__1 = casadi__SX__jac__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__2" c_casadi__SX__jac__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__jac__2
-  :: Function -> String -> String -> Bool -> Bool -> IO SX
-casadi__SX__jac__2 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__2 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__2 :: Function -> String -> String -> Bool -> Bool -> IO SX
-sx_jac__2 = casadi__SX__jac__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__3" c_casadi__SX__jac__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr SX')
-
-casadi__SX__jac__3
-  :: Function -> Int -> String -> IO SX
-casadi__SX__jac__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__3 :: Function -> Int -> String -> IO SX
-sx_jac__3 = casadi__SX__jac__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__4" c_casadi__SX__jac__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> CInt -> IO (Ptr SX')
-
-casadi__SX__jac__4
-  :: Function -> Int -> String -> Bool -> IO SX
-casadi__SX__jac__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__4 :: Function -> Int -> String -> Bool -> IO SX
-sx_jac__4 = casadi__SX__jac__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__5" c_casadi__SX__jac__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__jac__5
-  :: Function -> Int -> String -> Bool -> Bool -> IO SX
-casadi__SX__jac__5 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__5 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__5 :: Function -> Int -> String -> Bool -> Bool -> IO SX
-sx_jac__5 = casadi__SX__jac__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__6" c_casadi__SX__jac__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr SX')
-
-casadi__SX__jac__6
-  :: Function -> String -> IO SX
-casadi__SX__jac__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__6 :: Function -> String -> IO SX
-sx_jac__6 = casadi__SX__jac__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__7" c_casadi__SX__jac__7
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr SX')
-
-casadi__SX__jac__7
-  :: Function -> String -> Int -> IO SX
-casadi__SX__jac__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__7 :: Function -> String -> Int -> IO SX
-sx_jac__7 = casadi__SX__jac__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__8" c_casadi__SX__jac__8
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__jac__8
-  :: Function -> String -> Int -> Bool -> IO SX
-casadi__SX__jac__8 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__8 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__8 :: Function -> String -> Int -> Bool -> IO SX
-sx_jac__8 = casadi__SX__jac__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__9" c_casadi__SX__jac__9
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__jac__9
-  :: Function -> String -> Int -> Bool -> Bool -> IO SX
-casadi__SX__jac__9 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__9 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__9 :: Function -> String -> Int -> Bool -> Bool -> IO SX
-sx_jac__9 = casadi__SX__jac__9
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__10" c_casadi__SX__jac__10
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr SX')
-
-casadi__SX__jac__10
-  :: Function -> IO SX
-casadi__SX__jac__10 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__10 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__10 :: Function -> IO SX
-sx_jac__10 = casadi__SX__jac__10
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__11" c_casadi__SX__jac__11
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr SX')
-
-casadi__SX__jac__11
-  :: Function -> Int -> IO SX
-casadi__SX__jac__11 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__11 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__11 :: Function -> Int -> IO SX
-sx_jac__11 = casadi__SX__jac__11
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__12" c_casadi__SX__jac__12
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__jac__12
-  :: Function -> Int -> Int -> IO SX
-casadi__SX__jac__12 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__12 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__12 :: Function -> Int -> Int -> IO SX
-sx_jac__12 = casadi__SX__jac__12
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__13" c_casadi__SX__jac__13
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__jac__13
-  :: Function -> Int -> Int -> Bool -> IO SX
-casadi__SX__jac__13 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__13 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__13 :: Function -> Int -> Int -> Bool -> IO SX
-sx_jac__13 = casadi__SX__jac__13
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__jac__14" c_casadi__SX__jac__14
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__jac__14
-  :: Function -> Int -> Int -> Bool -> Bool -> IO SX
-casadi__SX__jac__14 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__jac__14 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-sx_jac__14 :: Function -> Int -> Int -> Bool -> Bool -> IO SX
-sx_jac__14 = casadi__SX__jac__14
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__matrix_matrix" c_casadi__SX__matrix_matrix
-  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi__SX__matrix_matrix
-  :: Int -> SX -> SX -> IO SX
-casadi__SX__matrix_matrix x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__matrix_matrix errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_matrix_matrix :: Int -> SX -> SX -> IO SX
-sx_matrix_matrix = casadi__SX__matrix_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__matrix_scalar" c_casadi__SX__matrix_scalar
-  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi__SX__matrix_scalar
-  :: Int -> SX -> SX -> IO SX
-casadi__SX__matrix_scalar x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__matrix_scalar errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_matrix_scalar :: Int -> SX -> SX -> IO SX
-sx_matrix_scalar = casadi__SX__matrix_scalar
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__n_dep" c_casadi__SX__n_dep
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__n_dep
-  :: SX -> IO Int
-casadi__SX__n_dep x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__n_dep errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_n_dep :: SXClass a => a -> IO Int
-sx_n_dep x = casadi__SX__n_dep (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__name" c_casadi__SX__name
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr StdString)
-
-casadi__SX__name
-  :: SX -> IO String
-casadi__SX__name x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__name errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_name :: SXClass a => a -> IO String
-sx_name x = casadi__SX__name (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nan__0" c_casadi__SX__nan__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr SX')
-
-casadi__SX__nan__0
-  :: (Int, Int) -> IO SX
-casadi__SX__nan__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__nan__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_nan__0 :: (Int, Int) -> IO SX
-sx_nan__0 = casadi__SX__nan__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nan__1" c_casadi__SX__nan__1
-  :: Ptr (Ptr StdString) -> IO (Ptr SX')
-
-casadi__SX__nan__1
-  :: IO SX
-casadi__SX__nan__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__nan__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-sx_nan__1 :: IO SX
-sx_nan__1 = casadi__SX__nan__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nan__2" c_casadi__SX__nan__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
-
-casadi__SX__nan__2
-  :: Int -> IO SX
-casadi__SX__nan__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__nan__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_nan__2 :: Int -> IO SX
-sx_nan__2 = casadi__SX__nan__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nan__3" c_casadi__SX__nan__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__nan__3
-  :: Int -> Int -> IO SX
-casadi__SX__nan__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__nan__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_nan__3 :: Int -> Int -> IO SX
-sx_nan__3 = casadi__SX__nan__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nan__4" c_casadi__SX__nan__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
-
-casadi__SX__nan__4
-  :: Sparsity -> IO SX
-casadi__SX__nan__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__nan__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_nan__4 :: Sparsity -> IO SX
-sx_nan__4 = casadi__SX__nan__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nnz" c_casadi__SX__nnz
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__nnz
-  :: SX -> IO Int
-casadi__SX__nnz x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__nnz errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_nnz :: SXClass a => a -> IO Int
-sx_nnz x = casadi__SX__nnz (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nnz_diag" c_casadi__SX__nnz_diag
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__nnz_diag
-  :: SX -> IO Int
-casadi__SX__nnz_diag x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__nnz_diag errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_nnz_diag :: SXClass a => a -> IO Int
-sx_nnz_diag x = casadi__SX__nnz_diag (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nnz_lower" c_casadi__SX__nnz_lower
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__nnz_lower
-  :: SX -> IO Int
-casadi__SX__nnz_lower x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__nnz_lower errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_nnz_lower :: SXClass a => a -> IO Int
-sx_nnz_lower x = casadi__SX__nnz_lower (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nnz_upper" c_casadi__SX__nnz_upper
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__nnz_upper
-  :: SX -> IO Int
-casadi__SX__nnz_upper x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__nnz_upper errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_nnz_upper :: SXClass a => a -> IO Int
-sx_nnz_upper x = casadi__SX__nnz_upper (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__numel__0" c_casadi__SX__numel__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
-
-casadi__SX__numel__0
-  :: SX -> Int -> IO Int
-casadi__SX__numel__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__numel__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_numel__0 :: SXClass a => a -> Int -> IO Int
-sx_numel__0 x = casadi__SX__numel__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__numel__1" c_casadi__SX__numel__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__numel__1
-  :: SX -> IO Int
-casadi__SX__numel__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__numel__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_numel__1 :: SXClass a => a -> IO Int
-sx_numel__1 x = casadi__SX__numel__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__ones__0" c_casadi__SX__ones__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr SX')
-
-casadi__SX__ones__0
-  :: (Int, Int) -> IO SX
-casadi__SX__ones__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__ones__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_ones__0 :: (Int, Int) -> IO SX
-sx_ones__0 = casadi__SX__ones__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__ones__1" c_casadi__SX__ones__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
-
-casadi__SX__ones__1
-  :: Sparsity -> IO SX
-casadi__SX__ones__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__ones__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_ones__1 :: Sparsity -> IO SX
-sx_ones__1 = casadi__SX__ones__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__ones__2" c_casadi__SX__ones__2
-  :: Ptr (Ptr StdString) -> IO (Ptr SX')
-
-casadi__SX__ones__2
-  :: IO SX
-casadi__SX__ones__2  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__ones__2 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-sx_ones__2 :: IO SX
-sx_ones__2 = casadi__SX__ones__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__ones__3" c_casadi__SX__ones__3
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
-
-casadi__SX__ones__3
-  :: Int -> IO SX
-casadi__SX__ones__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__ones__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_ones__3 :: Int -> IO SX
-sx_ones__3 = casadi__SX__ones__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__ones__4" c_casadi__SX__ones__4
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__ones__4
-  :: Int -> Int -> IO SX
-casadi__SX__ones__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__ones__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_ones__4 :: Int -> Int -> IO SX
-sx_ones__4 = casadi__SX__ones__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__operator__plus" c_casadi__SX__operator__plus
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi__SX__operator__plus
-  :: SX -> IO SX
-casadi__SX__operator__plus x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__operator__plus errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_operator__plus :: SXClass a => a -> IO SX
-sx_operator__plus x = casadi__SX__operator__plus (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__operator__minus" c_casadi__SX__operator__minus
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi__SX__operator__minus
-  :: SX -> IO SX
-casadi__SX__operator__minus x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__operator__minus errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_operator__minus :: SXClass a => a -> IO SX
-sx_operator__minus x = casadi__SX__operator__minus (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__operator_double" c_casadi__SX__operator_double
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CDouble
-
-casadi__SX__operator_double
-  :: SX -> IO Double
-casadi__SX__operator_double x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__operator_double errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_operator_double :: SXClass a => a -> IO Double
-sx_operator_double x = casadi__SX__operator_double (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__operator_int" c_casadi__SX__operator_int
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__operator_int
-  :: SX -> IO Int
-casadi__SX__operator_int x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__operator_int errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_operator_int :: SXClass a => a -> IO Int
-sx_operator_int x = casadi__SX__operator_int (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__print_dense" c_casadi__SX__print_dense
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-
-casadi__SX__print_dense
-  :: SX -> IO ()
-casadi__SX__print_dense x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__print_dense errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-sx_print_dense :: SXClass a => a -> IO ()
-sx_print_dense x = casadi__SX__print_dense (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__print_scalar" c_casadi__SX__print_scalar
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-
-casadi__SX__print_scalar
-  :: SX -> IO ()
-casadi__SX__print_scalar x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__print_scalar errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-sx_print_scalar :: SXClass a => a -> IO ()
-sx_print_scalar x = casadi__SX__print_scalar (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__print_sparse" c_casadi__SX__print_sparse
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-
-casadi__SX__print_sparse
-  :: SX -> IO ()
-casadi__SX__print_sparse x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__print_sparse errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-sx_print_sparse :: SXClass a => a -> IO ()
-sx_print_sparse x = casadi__SX__print_sparse (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__print_split" c_casadi__SX__print_split
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr (StdVec (Ptr StdString))) -> Ptr (Ptr (StdVec (Ptr StdString))) -> IO ()
-
-casadi__SX__print_split
-  :: SX -> IO (Vector String, Vector String)
-casadi__SX__print_split x0 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__print_split errStrPtrP x0' o1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__print_split/c_casadi__SX__print_split" else wrapReturn o1''
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__SX__print_split/c_casadi__SX__print_split" else wrapReturn o2''
-
-  return (o1''', o2''')
-
-
-
--- classy wrapper
-sx_print_split :: SXClass a => a -> IO (Vector String, Vector String)
-sx_print_split x = casadi__SX__print_split (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__print_vector" c_casadi__SX__print_vector
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-
-casadi__SX__print_vector
-  :: SX -> IO ()
-casadi__SX__print_vector x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__print_vector errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-sx_print_vector :: SXClass a => a -> IO ()
-sx_print_vector x = casadi__SX__print_vector (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__printme" c_casadi__SX__printme
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi__SX__printme
-  :: SX -> SX -> IO SX
-casadi__SX__printme x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__printme errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_printme :: SXClass a => a -> SX -> IO SX
-sx_printme x = casadi__SX__printme (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__remove" c_casadi__SX__remove
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-
-casadi__SX__remove
-  :: SX -> Vector Int -> Vector Int -> IO ()
-casadi__SX__remove x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__remove errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-sx_remove :: SXClass a => a -> Vector Int -> Vector Int -> IO ()
-sx_remove x = casadi__SX__remove (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__reserve__0" c_casadi__SX__reserve__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO ()
-
-casadi__SX__reserve__0
-  :: SX -> Int -> Int -> IO ()
-casadi__SX__reserve__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__reserve__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-sx_reserve__0 :: SXClass a => a -> Int -> Int -> IO ()
-sx_reserve__0 x = casadi__SX__reserve__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__reserve__1" c_casadi__SX__reserve__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO ()
-
-casadi__SX__reserve__1
-  :: SX -> Int -> IO ()
-casadi__SX__reserve__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__reserve__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-sx_reserve__1 :: SXClass a => a -> Int -> IO ()
-sx_reserve__1 x = casadi__SX__reserve__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__resetInput" c_casadi__SX__resetInput
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-
-casadi__SX__resetInput
-  :: SX -> IO ()
-casadi__SX__resetInput x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__resetInput errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-sx_resetInput :: SXClass a => a -> IO ()
-sx_resetInput x = casadi__SX__resetInput (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__resize" c_casadi__SX__resize
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO ()
-
-casadi__SX__resize
-  :: SX -> Int -> Int -> IO ()
-casadi__SX__resize x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__resize errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-sx_resize :: SXClass a => a -> Int -> Int -> IO ()
-sx_resize x = casadi__SX__resize (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__row" c_casadi__SX__row
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
-
-casadi__SX__row
-  :: SX -> Int -> IO Int
-casadi__SX__row x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__row errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_row :: SXClass a => a -> Int -> IO Int
-sx_row x = casadi__SX__row (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sanity_check__0" c_casadi__SX__sanity_check__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-
-casadi__SX__sanity_check__0
-  :: SX -> IO ()
-casadi__SX__sanity_check__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__sanity_check__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-sx_sanity_check__0 :: SXClass a => a -> IO ()
-sx_sanity_check__0 x = casadi__SX__sanity_check__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sanity_check__1" c_casadi__SX__sanity_check__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO ()
-
-casadi__SX__sanity_check__1
-  :: SX -> Bool -> IO ()
-casadi__SX__sanity_check__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__sanity_check__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-sx_sanity_check__1 :: SXClass a => a -> Bool -> IO ()
-sx_sanity_check__1 x = casadi__SX__sanity_check__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__scalar_matrix" c_casadi__SX__scalar_matrix
-  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi__SX__scalar_matrix
-  :: Int -> SX -> SX -> IO SX
-casadi__SX__scalar_matrix x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__scalar_matrix errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_scalar_matrix :: Int -> SX -> SX -> IO SX
-sx_scalar_matrix = casadi__SX__scalar_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set__0" c_casadi__SX__set__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
-
-casadi__SX__set__0
-  :: SX -> SX -> Bool -> IM -> IM -> IO ()
-casadi__SX__set__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__set__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-sx_set__0 :: SXClass a => a -> SX -> Bool -> IM -> IM -> IO ()
-sx_set__0 x = casadi__SX__set__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set__1" c_casadi__SX__set__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
-
-casadi__SX__set__1
-  :: SX -> SX -> Bool -> IM -> Slice -> IO ()
-casadi__SX__set__1 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__set__1 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-sx_set__1 :: SXClass a => a -> SX -> Bool -> IM -> Slice -> IO ()
-sx_set__1 x = casadi__SX__set__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set__2" c_casadi__SX__set__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
-
-casadi__SX__set__2
-  :: SX -> SX -> Bool -> Slice -> IM -> IO ()
-casadi__SX__set__2 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__set__2 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-sx_set__2 :: SXClass a => a -> SX -> Bool -> Slice -> IM -> IO ()
-sx_set__2 x = casadi__SX__set__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set__3" c_casadi__SX__set__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
-
-casadi__SX__set__3
-  :: SX -> SX -> Bool -> Slice -> Slice -> IO ()
-casadi__SX__set__3 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__set__3 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-sx_set__3 :: SXClass a => a -> SX -> Bool -> Slice -> Slice -> IO ()
-sx_set__3 x = casadi__SX__set__3 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set__4" c_casadi__SX__set__4
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Sparsity' -> IO ()
-
-casadi__SX__set__4
-  :: SX -> SX -> Bool -> Sparsity -> IO ()
-casadi__SX__set__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__set__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-sx_set__4 :: SXClass a => a -> SX -> Bool -> Sparsity -> IO ()
-sx_set__4 x = casadi__SX__set__4 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set__5" c_casadi__SX__set__5
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr IM' -> IO ()
-
-casadi__SX__set__5
-  :: SX -> SX -> Bool -> IM -> IO ()
-casadi__SX__set__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__set__5 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-sx_set__5 :: SXClass a => a -> SX -> Bool -> IM -> IO ()
-sx_set__5 x = casadi__SX__set__5 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set__6" c_casadi__SX__set__6
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Slice' -> IO ()
-
-casadi__SX__set__6
-  :: SX -> SX -> Bool -> Slice -> IO ()
-casadi__SX__set__6 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__set__6 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-sx_set__6 :: SXClass a => a -> SX -> Bool -> Slice -> IO ()
-sx_set__6 x = casadi__SX__set__6 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setEqualityCheckingDepth__0" c_casadi__SX__setEqualityCheckingDepth__0
-  :: Ptr (Ptr StdString) -> IO ()
-
-casadi__SX__setEqualityCheckingDepth__0
-  :: IO ()
-casadi__SX__setEqualityCheckingDepth__0  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__setEqualityCheckingDepth__0 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ()
-
-
-
--- classy wrapper
-sx_setEqualityCheckingDepth__0 :: IO ()
-sx_setEqualityCheckingDepth__0 = casadi__SX__setEqualityCheckingDepth__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setEqualityCheckingDepth__1" c_casadi__SX__setEqualityCheckingDepth__1
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-
-casadi__SX__setEqualityCheckingDepth__1
-  :: Int -> IO ()
-casadi__SX__setEqualityCheckingDepth__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__setEqualityCheckingDepth__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-sx_setEqualityCheckingDepth__1 :: Int -> IO ()
-sx_setEqualityCheckingDepth__1 = casadi__SX__setEqualityCheckingDepth__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setPrecision" c_casadi__SX__setPrecision
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-
-casadi__SX__setPrecision
-  :: Int -> IO ()
-casadi__SX__setPrecision x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__setPrecision errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-sx_setPrecision :: Int -> IO ()
-sx_setPrecision = casadi__SX__setPrecision
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setScientific" c_casadi__SX__setScientific
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-
-casadi__SX__setScientific
-  :: Bool -> IO ()
-casadi__SX__setScientific x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__setScientific errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-sx_setScientific :: Bool -> IO ()
-sx_setScientific = casadi__SX__setScientific
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setWidth" c_casadi__SX__setWidth
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-
-casadi__SX__setWidth
-  :: Int -> IO ()
-casadi__SX__setWidth x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__setWidth errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-sx_setWidth :: Int -> IO ()
-sx_setWidth = casadi__SX__setWidth
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set_nz__0" c_casadi__SX__set_nz__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr IM' -> IO ()
-
-casadi__SX__set_nz__0
-  :: SX -> SX -> Bool -> IM -> IO ()
-casadi__SX__set_nz__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__set_nz__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-sx_set_nz__0 :: SXClass a => a -> SX -> Bool -> IM -> IO ()
-sx_set_nz__0 x = casadi__SX__set_nz__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set_nz__1" c_casadi__SX__set_nz__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Slice' -> IO ()
-
-casadi__SX__set_nz__1
-  :: SX -> SX -> Bool -> Slice -> IO ()
-casadi__SX__set_nz__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__set_nz__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-sx_set_nz__1 :: SXClass a => a -> SX -> Bool -> Slice -> IO ()
-sx_set_nz__1 x = casadi__SX__set_nz__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__size__0" c_casadi__SX__size__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
-
-casadi__SX__size__0
-  :: SX -> Int -> IO Int
-casadi__SX__size__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__size__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_size__0 :: SXClass a => a -> Int -> IO Int
-sx_size__0 x = casadi__SX__size__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__size__1" c_casadi__SX__size__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdPair CInt CInt))
-
-casadi__SX__size__1
-  :: SX -> IO (Int, Int)
-casadi__SX__size__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__size__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_size__1 :: SXClass a => a -> IO (Int, Int)
-sx_size__1 x = casadi__SX__size__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__size1" c_casadi__SX__size1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__size1
-  :: SX -> IO Int
-casadi__SX__size1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__size1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_size1 :: SXClass a => a -> IO Int
-sx_size1 x = casadi__SX__size1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__size2" c_casadi__SX__size2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi__SX__size2
-  :: SX -> IO Int
-casadi__SX__size2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__size2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_size2 :: SXClass a => a -> IO Int
-sx_size2 x = casadi__SX__size2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sparsity" c_casadi__SX__sparsity
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr Sparsity')
-
-casadi__SX__sparsity
-  :: SX -> IO Sparsity
-casadi__SX__sparsity x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__sparsity errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_sparsity :: SXClass a => a -> IO Sparsity
-sx_sparsity x = casadi__SX__sparsity (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__0" c_casadi__SX__sym__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
-
-casadi__SX__sym__0
-  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector SX))
-casadi__SX__sym__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__sym__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-sx_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector SX))
-sx_sym__0 = casadi__SX__sym__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__1" c_casadi__SX__sym__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
-
-casadi__SX__sym__1
-  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector SX))
-casadi__SX__sym__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__sym__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-sx_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector SX))
-sx_sym__1 = casadi__SX__sym__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__2" c_casadi__SX__sym__2
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi__SX__sym__2
-  :: String -> Int -> Int -> Int -> IO (Vector SX)
-casadi__SX__sym__2 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__sym__2 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-sx_sym__2 :: String -> Int -> Int -> Int -> IO (Vector SX)
-sx_sym__2 = casadi__SX__sym__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__3" c_casadi__SX__sym__3
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi__SX__sym__3
-  :: String -> Sparsity -> Int -> IO (Vector SX)
-casadi__SX__sym__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__sym__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_sym__3 :: String -> Sparsity -> Int -> IO (Vector SX)
-sx_sym__3 = casadi__SX__sym__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__4" c_casadi__SX__sym__4
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr SX')
-
-casadi__SX__sym__4
-  :: String -> Sparsity -> IO SX
-casadi__SX__sym__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__sym__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_sym__4 :: String -> Sparsity -> IO SX
-sx_sym__4 = casadi__SX__sym__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__5" c_casadi__SX__sym__5
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdPair CInt CInt) -> IO (Ptr SX')
-
-casadi__SX__sym__5
-  :: String -> (Int, Int) -> IO SX
-casadi__SX__sym__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__sym__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_sym__5 :: String -> (Int, Int) -> IO SX
-sx_sym__5 = casadi__SX__sym__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__6" c_casadi__SX__sym__6
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr SX')
-
-casadi__SX__sym__6
-  :: String -> IO SX
-casadi__SX__sym__6 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__sym__6 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_sym__6 :: String -> IO SX
-sx_sym__6 = casadi__SX__sym__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__7" c_casadi__SX__sym__7
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> IO (Ptr SX')
-
-casadi__SX__sym__7
-  :: String -> Int -> IO SX
-casadi__SX__sym__7 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__sym__7 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_sym__7 :: String -> Int -> IO SX
-sx_sym__7 = casadi__SX__sym__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__8" c_casadi__SX__sym__8
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__sym__8
-  :: String -> Int -> Int -> IO SX
-casadi__SX__sym__8 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__sym__8 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_sym__8 :: String -> Int -> Int -> IO SX
-sx_sym__8 = casadi__SX__sym__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__tang__0" c_casadi__SX__tang__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr SX')
-
-casadi__SX__tang__0
-  :: Function -> String -> String -> IO SX
-casadi__SX__tang__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__tang__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_tang__0 :: Function -> String -> String -> IO SX
-sx_tang__0 = casadi__SX__tang__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__tang__1" c_casadi__SX__tang__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr SX')
-
-casadi__SX__tang__1
-  :: Function -> Int -> String -> IO SX
-casadi__SX__tang__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__tang__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_tang__1 :: Function -> Int -> String -> IO SX
-sx_tang__1 = casadi__SX__tang__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__tang__2" c_casadi__SX__tang__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr SX')
-
-casadi__SX__tang__2
-  :: Function -> String -> IO SX
-casadi__SX__tang__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__tang__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_tang__2 :: Function -> String -> IO SX
-sx_tang__2 = casadi__SX__tang__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__tang__3" c_casadi__SX__tang__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr SX')
-
-casadi__SX__tang__3
-  :: Function -> String -> Int -> IO SX
-casadi__SX__tang__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__tang__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_tang__3 :: Function -> String -> Int -> IO SX
-sx_tang__3 = casadi__SX__tang__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__tang__4" c_casadi__SX__tang__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr SX')
-
-casadi__SX__tang__4
-  :: Function -> IO SX
-casadi__SX__tang__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__tang__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_tang__4 :: Function -> IO SX
-sx_tang__4 = casadi__SX__tang__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__tang__5" c_casadi__SX__tang__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr SX')
-
-casadi__SX__tang__5
-  :: Function -> Int -> IO SX
-casadi__SX__tang__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__tang__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_tang__5 :: Function -> Int -> IO SX
-sx_tang__5 = casadi__SX__tang__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__tang__6" c_casadi__SX__tang__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__tang__6
-  :: Function -> Int -> Int -> IO SX
-casadi__SX__tang__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__tang__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_tang__6 :: Function -> Int -> Int -> IO SX
-sx_tang__6 = casadi__SX__tang__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__triplet__0" c_casadi__SX__triplet__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr SX' -> Ptr (StdPair CInt CInt) -> IO (Ptr SX')
-
-casadi__SX__triplet__0
-  :: Vector Int -> Vector Int -> SX -> (Int, Int) -> IO SX
-casadi__SX__triplet__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__triplet__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-sx_triplet__0 :: Vector Int -> Vector Int -> SX -> (Int, Int) -> IO SX
-sx_triplet__0 = casadi__SX__triplet__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__triplet__1" c_casadi__SX__triplet__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__triplet__1
-  :: Vector Int -> Vector Int -> SX -> Int -> Int -> IO SX
-casadi__SX__triplet__1 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__triplet__1 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-sx_triplet__1 :: Vector Int -> Vector Int -> SX -> Int -> Int -> IO SX
-sx_triplet__1 = casadi__SX__triplet__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__triplet__2" c_casadi__SX__triplet__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr SX' -> IO (Ptr SX')
-
-casadi__SX__triplet__2
-  :: Vector Int -> Vector Int -> SX -> IO SX
-casadi__SX__triplet__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__triplet__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sx_triplet__2 :: Vector Int -> Vector Int -> SX -> IO SX
-sx_triplet__2 = casadi__SX__triplet__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__type_name" c_casadi__SX__type_name
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-
-casadi__SX__type_name
-  :: IO String
-casadi__SX__type_name  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__type_name errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-sx_type_name :: IO String
-sx_type_name = casadi__SX__type_name
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__unary" c_casadi__SX__unary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> IO (Ptr SX')
-
-casadi__SX__unary
-  :: Int -> SX -> IO SX
-casadi__SX__unary x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__unary errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_unary :: Int -> SX -> IO SX
-sx_unary = casadi__SX__unary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__zeros__0" c_casadi__SX__zeros__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr SX')
-
-casadi__SX__zeros__0
-  :: (Int, Int) -> IO SX
-casadi__SX__zeros__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__zeros__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_zeros__0 :: (Int, Int) -> IO SX
-sx_zeros__0 = casadi__SX__zeros__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__zeros__1" c_casadi__SX__zeros__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
-
-casadi__SX__zeros__1
-  :: Sparsity -> IO SX
-casadi__SX__zeros__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__zeros__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_zeros__1 :: Sparsity -> IO SX
-sx_zeros__1 = casadi__SX__zeros__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__zeros__2" c_casadi__SX__zeros__2
-  :: Ptr (Ptr StdString) -> IO (Ptr SX')
-
-casadi__SX__zeros__2
-  :: IO SX
-casadi__SX__zeros__2  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__zeros__2 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-sx_zeros__2 :: IO SX
-sx_zeros__2 = casadi__SX__zeros__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__zeros__3" c_casadi__SX__zeros__3
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
-
-casadi__SX__zeros__3
-  :: Int -> IO SX
-casadi__SX__zeros__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__zeros__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_zeros__3 :: Int -> IO SX
-sx_zeros__3 = casadi__SX__zeros__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__zeros__4" c_casadi__SX__zeros__4
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
-
-casadi__SX__zeros__4
-  :: Int -> Int -> IO SX
-casadi__SX__zeros__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__zeros__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sx_zeros__4 :: Int -> Int -> IO SX
-sx_zeros__4 = casadi__SX__zeros__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__getRepresentation" c_casadi__SX__getRepresentation
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr StdString)
-
-casadi__SX__getRepresentation
-  :: SX -> IO String
-casadi__SX__getRepresentation x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__getRepresentation errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_getRepresentation :: SXClass a => a -> IO String
-sx_getRepresentation x = casadi__SX__getRepresentation (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__getDescription" c_casadi__SX__getDescription
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr StdString)
-
-casadi__SX__getDescription
-  :: SX -> IO String
-casadi__SX__getDescription x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SX__getDescription errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sx_getDescription :: SXClass a => a -> IO String
-sx_getDescription x = casadi__SX__getDescription (castSX x)
+         sx_columns,
+         sx_dep__0,
+         sx_dep__1,
+         sx_dim__0,
+         sx_dim__1,
+         sx_element_hash,
+         sx_enlarge__0,
+         sx_enlarge__1,
+         sx_erase__0,
+         sx_erase__1,
+         sx_erase__2,
+         sx_erase__3,
+         sx_export_code,
+         sx_eye,
+         sx_from_info,
+         sx_get__0,
+         sx_get__1,
+         sx_get__2,
+         sx_get__3,
+         sx_get__4,
+         sx_get__5,
+         sx_get__6,
+         sx_get_colind,
+         sx_get_elements,
+         sx_get_free,
+         sx_get_input,
+         sx_get_max_depth,
+         sx_get_nonzeros,
+         sx_get_nz__0,
+         sx_get_nz__1,
+         sx_get_row,
+         sx_get_sparsity,
+         sx_get_str__0,
+         sx_get_str__1,
+         sx_has_duplicates,
+         sx_has_nz,
+         sx_has_zeros,
+         sx_inf__0,
+         sx_inf__1,
+         sx_inf__2,
+         sx_inf__3,
+         sx_inf__4,
+         sx_info,
+         sx_is_column,
+         sx_is_commutative,
+         sx_is_constant,
+         sx_is_dense,
+         sx_is_empty__0,
+         sx_is_empty__1,
+         sx_is_eye,
+         sx_is_integer,
+         sx_is_leaf,
+         sx_is_minus_one,
+         sx_is_one,
+         sx_is_op,
+         sx_is_regular,
+         sx_is_row,
+         sx_is_scalar__0,
+         sx_is_scalar__1,
+         sx_is_smooth,
+         sx_is_square,
+         sx_is_symbolic,
+         sx_is_tril,
+         sx_is_triu,
+         sx_is_valid_input,
+         sx_is_vector,
+         sx_is_zero,
+         sx_matrix_matrix,
+         sx_matrix_scalar,
+         sx_n_dep,
+         sx_name,
+         sx_nan__0,
+         sx_nan__1,
+         sx_nan__2,
+         sx_nan__3,
+         sx_nan__4,
+         sx_nnz,
+         sx_nnz_diag,
+         sx_nnz_lower,
+         sx_nnz_upper,
+         sx_numel,
+         sx_ones__0,
+         sx_ones__1,
+         sx_ones__2,
+         sx_ones__3,
+         sx_ones__4,
+         sx_op,
+         sx_operator__minus,
+         sx_operator__plus,
+         sx_operator_casadi_int,
+         sx_operator_double,
+         sx_print_split,
+         sx_printme,
+         sx_rand__0,
+         sx_rand__1,
+         sx_rand__2,
+         sx_rand__3,
+         sx_rand__4,
+         sx_remove,
+         sx_reserve__0,
+         sx_reserve__1,
+         sx_reset_input,
+         sx_resize,
+         sx_rng,
+         sx_row,
+         sx_rows,
+         sx_scalar_matrix,
+         sx_set__0,
+         sx_set__1,
+         sx_set__2,
+         sx_set__3,
+         sx_set__4,
+         sx_set__5,
+         sx_set__6,
+         sx_set_max_depth__0,
+         sx_set_max_depth__1,
+         sx_set_nz__0,
+         sx_set_nz__1,
+         sx_set_precision,
+         sx_set_scientific,
+         sx_set_width,
+         sx_size1,
+         sx_size2,
+         sx_size__0,
+         sx_size__1,
+         sx_sparsity,
+         sx_sym__0,
+         sx_sym__1,
+         sx_sym__2,
+         sx_sym__3,
+         sx_sym__4,
+         sx_sym__5,
+         sx_sym__6,
+         sx_sym__7,
+         sx_sym__8,
+         sx_to_file__0,
+         sx_to_file__1,
+         sx_triplet__0,
+         sx_triplet__1,
+         sx_triplet__2,
+         sx_type_name,
+         sx_unary,
+         sx_zeros__0,
+         sx_zeros__1,
+         sx_zeros__2,
+         sx_zeros__3,
+         sx_zeros__4,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__0" c_casadi__SX__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr SX')
+
+casadi__SX__CONSTRUCTOR__0
+  :: DM -> IO SX
+casadi__SX__CONSTRUCTOR__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__CONSTRUCTOR__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx__0 :: DM -> IO SX
+sx__0 = casadi__SX__CONSTRUCTOR__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__1" c_casadi__SX__CONSTRUCTOR__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr SX')
+
+casadi__SX__CONSTRUCTOR__1
+  :: Vector Double -> IO SX
+casadi__SX__CONSTRUCTOR__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__CONSTRUCTOR__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx__1 :: Vector Double -> IO SX
+sx__1 = casadi__SX__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__2" c_casadi__SX__CONSTRUCTOR__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr SX')
+
+casadi__SX__CONSTRUCTOR__2
+  :: IM -> IO SX
+casadi__SX__CONSTRUCTOR__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__CONSTRUCTOR__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx__2 :: IM -> IO SX
+sx__2 = casadi__SX__CONSTRUCTOR__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__3" c_casadi__SX__CONSTRUCTOR__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> IO (Ptr SX')
+
+casadi__SX__CONSTRUCTOR__3
+  :: Vector Int -> IO SX
+casadi__SX__CONSTRUCTOR__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__CONSTRUCTOR__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx__3 :: Vector Int -> IO SX
+sx__3 = casadi__SX__CONSTRUCTOR__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__4" c_casadi__SX__CONSTRUCTOR__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec CDouble))) -> IO (Ptr SX')
+
+casadi__SX__CONSTRUCTOR__4
+  :: Vector (Vector Double) -> IO SX
+casadi__SX__CONSTRUCTOR__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__CONSTRUCTOR__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx__4 :: Vector (Vector Double) -> IO SX
+sx__4 = casadi__SX__CONSTRUCTOR__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__5" c_casadi__SX__CONSTRUCTOR__5
+  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr SX')
+
+casadi__SX__CONSTRUCTOR__5
+  :: Double -> IO SX
+casadi__SX__CONSTRUCTOR__5 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__CONSTRUCTOR__5 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx__5 :: Double -> IO SX
+sx__5 = casadi__SX__CONSTRUCTOR__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__6" c_casadi__SX__CONSTRUCTOR__6
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr SX' -> IO (Ptr SX')
+
+casadi__SX__CONSTRUCTOR__6
+  :: Sparsity -> SX -> IO SX
+casadi__SX__CONSTRUCTOR__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__CONSTRUCTOR__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx__6 :: Sparsity -> SX -> IO SX
+sx__6 = casadi__SX__CONSTRUCTOR__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__7" c_casadi__SX__CONSTRUCTOR__7
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
+
+casadi__SX__CONSTRUCTOR__7
+  :: Sparsity -> IO SX
+casadi__SX__CONSTRUCTOR__7 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__CONSTRUCTOR__7 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx__7 :: Sparsity -> IO SX
+sx__7 = casadi__SX__CONSTRUCTOR__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__8" c_casadi__SX__CONSTRUCTOR__8
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr SX')
+
+casadi__SX__CONSTRUCTOR__8
+  :: Int -> Int -> IO SX
+casadi__SX__CONSTRUCTOR__8 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__CONSTRUCTOR__8 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx__8 :: Int -> Int -> IO SX
+sx__8 = casadi__SX__CONSTRUCTOR__8
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__9" c_casadi__SX__CONSTRUCTOR__9
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi__SX__CONSTRUCTOR__9
+  :: SX -> IO SX
+casadi__SX__CONSTRUCTOR__9 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__CONSTRUCTOR__9 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx__9 :: SX -> IO SX
+sx__9 = casadi__SX__CONSTRUCTOR__9
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__10" c_casadi__SX__CONSTRUCTOR__10
+  :: Ptr (Ptr StdString) -> IO (Ptr SX')
+
+casadi__SX__CONSTRUCTOR__10
+  :: IO SX
+casadi__SX__CONSTRUCTOR__10  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__CONSTRUCTOR__10 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+sx__10 :: IO SX
+sx__10 = casadi__SX__CONSTRUCTOR__10
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__T" c_casadi__SX__T
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi__SX__T
+  :: SX -> IO SX
+casadi__SX__T x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__T errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_T :: SXClass a => a -> IO SX
+sx_T x = casadi__SX__T (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX____nonzero__" c_casadi__SX____nonzero__
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX____nonzero__
+  :: SX -> IO Bool
+casadi__SX____nonzero__ x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX____nonzero__ errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx___nonzero__ :: SXClass a => a -> IO Bool
+sx___nonzero__ x = casadi__SX____nonzero__ (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__binary" c_casadi__SX__binary
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi__SX__binary
+  :: Int -> SX -> SX -> IO SX
+casadi__SX__binary x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__binary errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_binary :: Int -> SX -> SX -> IO SX
+sx_binary = casadi__SX__binary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__clear" c_casadi__SX__clear
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
+
+casadi__SX__clear
+  :: SX -> IO ()
+casadi__SX__clear x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__clear errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_clear :: SXClass a => a -> IO ()
+sx_clear x = casadi__SX__clear (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__colind" c_casadi__SX__colind
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> IO CLLong
+
+casadi__SX__colind
+  :: SX -> Int -> IO Int
+casadi__SX__colind x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__colind errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_colind :: SXClass a => a -> Int -> IO Int
+sx_colind x = casadi__SX__colind (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__columns" c_casadi__SX__columns
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi__SX__columns
+  :: SX -> IO Int
+casadi__SX__columns x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__columns errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_columns :: SXClass a => a -> IO Int
+sx_columns x = casadi__SX__columns (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__dep__0" c_casadi__SX__dep__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi__SX__dep__0
+  :: SX -> IO SX
+casadi__SX__dep__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__dep__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_dep__0 :: SXClass a => a -> IO SX
+sx_dep__0 x = casadi__SX__dep__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__dep__1" c_casadi__SX__dep__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> IO (Ptr SX')
+
+casadi__SX__dep__1
+  :: SX -> Int -> IO SX
+casadi__SX__dep__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__dep__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_dep__1 :: SXClass a => a -> Int -> IO SX
+sx_dep__1 x = casadi__SX__dep__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__dim__0" c_casadi__SX__dim__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr StdString)
+
+casadi__SX__dim__0
+  :: SX -> IO String
+casadi__SX__dim__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__dim__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_dim__0 :: SXClass a => a -> IO String
+sx_dim__0 x = casadi__SX__dim__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__dim__1" c_casadi__SX__dim__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr StdString)
+
+casadi__SX__dim__1
+  :: SX -> Bool -> IO String
+casadi__SX__dim__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__dim__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_dim__1 :: SXClass a => a -> Bool -> IO String
+sx_dim__1 x = casadi__SX__dim__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__element_hash" c_casadi__SX__element_hash
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi__SX__element_hash
+  :: SX -> IO Int
+casadi__SX__element_hash x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__element_hash errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_element_hash :: SXClass a => a -> IO Int
+sx_element_hash x = casadi__SX__element_hash (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__enlarge__0" c_casadi__SX__enlarge__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__SX__enlarge__0
+  :: SX -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+casadi__SX__enlarge__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_enlarge__0 :: SXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+sx_enlarge__0 x = casadi__SX__enlarge__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__enlarge__1" c_casadi__SX__enlarge__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__SX__enlarge__1
+  :: SX -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__SX__enlarge__1 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_enlarge__1 :: SXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+sx_enlarge__1 x = casadi__SX__enlarge__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__erase__0" c_casadi__SX__erase__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__SX__erase__0
+  :: SX -> Vector Int -> IO ()
+casadi__SX__erase__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__erase__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_erase__0 :: SXClass a => a -> Vector Int -> IO ()
+sx_erase__0 x = casadi__SX__erase__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__erase__1" c_casadi__SX__erase__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__SX__erase__1
+  :: SX -> Vector Int -> Bool -> IO ()
+casadi__SX__erase__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__erase__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_erase__1 :: SXClass a => a -> Vector Int -> Bool -> IO ()
+sx_erase__1 x = casadi__SX__erase__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__erase__2" c_casadi__SX__erase__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__SX__erase__2
+  :: SX -> Vector Int -> Vector Int -> IO ()
+casadi__SX__erase__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__erase__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_erase__2 :: SXClass a => a -> Vector Int -> Vector Int -> IO ()
+sx_erase__2 x = casadi__SX__erase__2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__erase__3" c_casadi__SX__erase__3
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__SX__erase__3
+  :: SX -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__SX__erase__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__erase__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_erase__3 :: SXClass a => a -> Vector Int -> Vector Int -> Bool -> IO ()
+sx_erase__3 x = casadi__SX__erase__3 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__export_code" c_casadi__SX__export_code
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr StdString -> IO ()
+
+casadi__SX__export_code
+  :: SX -> String -> IO ()
+casadi__SX__export_code x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__export_code errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_export_code :: SXClass a => a -> String -> IO ()
+sx_export_code x = casadi__SX__export_code (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__eye" c_casadi__SX__eye
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr SX')
+
+casadi__SX__eye
+  :: Int -> IO SX
+casadi__SX__eye x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__eye errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_eye :: Int -> IO SX
+sx_eye = casadi__SX__eye
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__from_info" c_casadi__SX__from_info
+  :: Ptr (Ptr StdString) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr SX')
+
+casadi__SX__from_info
+  :: M.Map String GenericType -> IO SX
+casadi__SX__from_info x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__from_info errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_from_info :: M.Map String GenericType -> IO SX
+sx_from_info = casadi__SX__from_info
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get__0" c_casadi__SX__get__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
+
+casadi__SX__get__0
+  :: SX -> Bool -> IM -> IM -> IO (SX)
+casadi__SX__get__0 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get__0 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get__0/c_casadi__SX__get__0" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+sx_get__0 :: SXClass a => a -> Bool -> IM -> IM -> IO (SX)
+sx_get__0 x = casadi__SX__get__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get__1" c_casadi__SX__get__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
+
+casadi__SX__get__1
+  :: SX -> Bool -> IM -> Slice -> IO (SX)
+casadi__SX__get__1 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get__1 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get__1/c_casadi__SX__get__1" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+sx_get__1 :: SXClass a => a -> Bool -> IM -> Slice -> IO (SX)
+sx_get__1 x = casadi__SX__get__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get__2" c_casadi__SX__get__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
+
+casadi__SX__get__2
+  :: SX -> Bool -> Slice -> IM -> IO (SX)
+casadi__SX__get__2 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get__2 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get__2/c_casadi__SX__get__2" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+sx_get__2 :: SXClass a => a -> Bool -> Slice -> IM -> IO (SX)
+sx_get__2 x = casadi__SX__get__2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get__3" c_casadi__SX__get__3
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
+
+casadi__SX__get__3
+  :: SX -> Bool -> Slice -> Slice -> IO (SX)
+casadi__SX__get__3 x0 x2 x3 x4 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get__3 errStrPtrP x0' o1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get__3/c_casadi__SX__get__3" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+sx_get__3 :: SXClass a => a -> Bool -> Slice -> Slice -> IO (SX)
+sx_get__3 x = casadi__SX__get__3 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get__4" c_casadi__SX__get__4
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr Sparsity' -> IO ()
+
+casadi__SX__get__4
+  :: SX -> Bool -> Sparsity -> IO (SX)
+casadi__SX__get__4 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get__4 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get__4/c_casadi__SX__get__4" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+sx_get__4 :: SXClass a => a -> Bool -> Sparsity -> IO (SX)
+sx_get__4 x = casadi__SX__get__4 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get__5" c_casadi__SX__get__5
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr IM' -> IO ()
+
+casadi__SX__get__5
+  :: SX -> Bool -> IM -> IO (SX)
+casadi__SX__get__5 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get__5 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get__5/c_casadi__SX__get__5" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+sx_get__5 :: SXClass a => a -> Bool -> IM -> IO (SX)
+sx_get__5 x = casadi__SX__get__5 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get__6" c_casadi__SX__get__6
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr Slice' -> IO ()
+
+casadi__SX__get__6
+  :: SX -> Bool -> Slice -> IO (SX)
+casadi__SX__get__6 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get__6 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get__6/c_casadi__SX__get__6" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+sx_get__6 :: SXClass a => a -> Bool -> Slice -> IO (SX)
+sx_get__6 x = casadi__SX__get__6 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get_colind" c_casadi__SX__get_colind
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec CLLong))
+
+casadi__SX__get_colind
+  :: SX -> IO (Vector Int)
+casadi__SX__get_colind x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get_colind errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_get_colind :: SXClass a => a -> IO (Vector Int)
+sx_get_colind x = casadi__SX__get_colind (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get_elements" c_casadi__SX__get_elements
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SXElem')))
+
+casadi__SX__get_elements
+  :: SX -> IO (Vector SXElem)
+casadi__SX__get_elements x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get_elements errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_get_elements :: SXClass a => a -> IO (Vector SXElem)
+sx_get_elements x = casadi__SX__get_elements (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get_free" c_casadi__SX__get_free
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi__SX__get_free
+  :: Function -> IO (Vector SX)
+casadi__SX__get_free x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get_free errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_get_free :: Function -> IO (Vector SX)
+sx_get_free = casadi__SX__get_free
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get_input" c_casadi__SX__get_input
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi__SX__get_input
+  :: Function -> IO (Vector SX)
+casadi__SX__get_input x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get_input errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_get_input :: Function -> IO (Vector SX)
+sx_get_input = casadi__SX__get_input
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get_max_depth" c_casadi__SX__get_max_depth
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+casadi__SX__get_max_depth
+  :: IO Int
+casadi__SX__get_max_depth  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get_max_depth errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+sx_get_max_depth :: IO Int
+sx_get_max_depth = casadi__SX__get_max_depth
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get_nonzeros" c_casadi__SX__get_nonzeros
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SXElem')))
+
+casadi__SX__get_nonzeros
+  :: SX -> IO (Vector SXElem)
+casadi__SX__get_nonzeros x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get_nonzeros errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_get_nonzeros :: SXClass a => a -> IO (Vector SXElem)
+sx_get_nonzeros x = casadi__SX__get_nonzeros (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get_nz__0" c_casadi__SX__get_nz__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr IM' -> IO ()
+
+casadi__SX__get_nz__0
+  :: SX -> Bool -> IM -> IO (SX)
+casadi__SX__get_nz__0 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get_nz__0 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get_nz__0/c_casadi__SX__get_nz__0" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+sx_get_nz__0 :: SXClass a => a -> Bool -> IM -> IO (SX)
+sx_get_nz__0 x = casadi__SX__get_nz__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get_nz__1" c_casadi__SX__get_nz__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr SX') -> CInt -> Ptr Slice' -> IO ()
+
+casadi__SX__get_nz__1
+  :: SX -> Bool -> Slice -> IO (SX)
+casadi__SX__get_nz__1 x0 x2 x3 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get_nz__1 errStrPtrP x0' o1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__get_nz__1/c_casadi__SX__get_nz__1" else wrapReturn o1''
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return (o1''')
+
+
+
+-- classy wrapper
+sx_get_nz__1 :: SXClass a => a -> Bool -> Slice -> IO (SX)
+sx_get_nz__1 x = casadi__SX__get_nz__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get_row" c_casadi__SX__get_row
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec CLLong))
+
+casadi__SX__get_row
+  :: SX -> IO (Vector Int)
+casadi__SX__get_row x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get_row errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_get_row :: SXClass a => a -> IO (Vector Int)
+sx_get_row x = casadi__SX__get_row (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get_sparsity" c_casadi__SX__get_sparsity
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr Sparsity')
+
+casadi__SX__get_sparsity
+  :: SX -> IO Sparsity
+casadi__SX__get_sparsity x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get_sparsity errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_get_sparsity :: SXClass a => a -> IO Sparsity
+sx_get_sparsity x = casadi__SX__get_sparsity (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get_str__0" c_casadi__SX__get_str__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr StdString)
+
+casadi__SX__get_str__0
+  :: SX -> IO String
+casadi__SX__get_str__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get_str__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_get_str__0 :: SXClass a => a -> IO String
+sx_get_str__0 x = casadi__SX__get_str__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get_str__1" c_casadi__SX__get_str__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr StdString)
+
+casadi__SX__get_str__1
+  :: SX -> Bool -> IO String
+casadi__SX__get_str__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__get_str__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_get_str__1 :: SXClass a => a -> Bool -> IO String
+sx_get_str__1 x = casadi__SX__get_str__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__has_duplicates" c_casadi__SX__has_duplicates
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__has_duplicates
+  :: SX -> IO Bool
+casadi__SX__has_duplicates x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__has_duplicates errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_has_duplicates :: SXClass a => a -> IO Bool
+sx_has_duplicates x = casadi__SX__has_duplicates (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__has_nz" c_casadi__SX__has_nz
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> CLLong -> IO CInt
+
+casadi__SX__has_nz
+  :: SX -> Int -> Int -> IO Bool
+casadi__SX__has_nz x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__has_nz errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_has_nz :: SXClass a => a -> Int -> Int -> IO Bool
+sx_has_nz x = casadi__SX__has_nz (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__has_zeros" c_casadi__SX__has_zeros
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__has_zeros
+  :: SX -> IO Bool
+casadi__SX__has_zeros x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__has_zeros errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_has_zeros :: SXClass a => a -> IO Bool
+sx_has_zeros x = casadi__SX__has_zeros (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__inf__0" c_casadi__SX__inf__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr SX')
+
+casadi__SX__inf__0
+  :: (Int, Int) -> IO SX
+casadi__SX__inf__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__inf__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_inf__0 :: (Int, Int) -> IO SX
+sx_inf__0 = casadi__SX__inf__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__inf__1" c_casadi__SX__inf__1
+  :: Ptr (Ptr StdString) -> IO (Ptr SX')
+
+casadi__SX__inf__1
+  :: IO SX
+casadi__SX__inf__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__inf__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+sx_inf__1 :: IO SX
+sx_inf__1 = casadi__SX__inf__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__inf__2" c_casadi__SX__inf__2
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr SX')
+
+casadi__SX__inf__2
+  :: Int -> IO SX
+casadi__SX__inf__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__inf__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_inf__2 :: Int -> IO SX
+sx_inf__2 = casadi__SX__inf__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__inf__3" c_casadi__SX__inf__3
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr SX')
+
+casadi__SX__inf__3
+  :: Int -> Int -> IO SX
+casadi__SX__inf__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__inf__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_inf__3 :: Int -> Int -> IO SX
+sx_inf__3 = casadi__SX__inf__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__inf__4" c_casadi__SX__inf__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
+
+casadi__SX__inf__4
+  :: Sparsity -> IO SX
+casadi__SX__inf__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__inf__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_inf__4 :: Sparsity -> IO SX
+sx_inf__4 = casadi__SX__inf__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__info" c_casadi__SX__info
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdMap StdString (Ptr GenericType')))
+
+casadi__SX__info
+  :: SX -> IO (M.Map String GenericType)
+casadi__SX__info x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__info errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_info :: SXClass a => a -> IO (M.Map String GenericType)
+sx_info x = casadi__SX__info (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_column" c_casadi__SX__is_column
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_column
+  :: SX -> IO Bool
+casadi__SX__is_column x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_column errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_column :: SXClass a => a -> IO Bool
+sx_is_column x = casadi__SX__is_column (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_commutative" c_casadi__SX__is_commutative
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_commutative
+  :: SX -> IO Bool
+casadi__SX__is_commutative x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_commutative errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_commutative :: SXClass a => a -> IO Bool
+sx_is_commutative x = casadi__SX__is_commutative (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_constant" c_casadi__SX__is_constant
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_constant
+  :: SX -> IO Bool
+casadi__SX__is_constant x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_constant errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_constant :: SXClass a => a -> IO Bool
+sx_is_constant x = casadi__SX__is_constant (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_dense" c_casadi__SX__is_dense
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_dense
+  :: SX -> IO Bool
+casadi__SX__is_dense x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_dense errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_dense :: SXClass a => a -> IO Bool
+sx_is_dense x = casadi__SX__is_dense (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_empty__0" c_casadi__SX__is_empty__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_empty__0
+  :: SX -> IO Bool
+casadi__SX__is_empty__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_empty__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_empty__0 :: SXClass a => a -> IO Bool
+sx_is_empty__0 x = casadi__SX__is_empty__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_empty__1" c_casadi__SX__is_empty__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
+
+casadi__SX__is_empty__1
+  :: SX -> Bool -> IO Bool
+casadi__SX__is_empty__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_empty__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_empty__1 :: SXClass a => a -> Bool -> IO Bool
+sx_is_empty__1 x = casadi__SX__is_empty__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_eye" c_casadi__SX__is_eye
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_eye
+  :: SX -> IO Bool
+casadi__SX__is_eye x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_eye errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_eye :: SXClass a => a -> IO Bool
+sx_is_eye x = casadi__SX__is_eye (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_integer" c_casadi__SX__is_integer
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_integer
+  :: SX -> IO Bool
+casadi__SX__is_integer x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_integer errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_integer :: SXClass a => a -> IO Bool
+sx_is_integer x = casadi__SX__is_integer (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_leaf" c_casadi__SX__is_leaf
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_leaf
+  :: SX -> IO Bool
+casadi__SX__is_leaf x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_leaf errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_leaf :: SXClass a => a -> IO Bool
+sx_is_leaf x = casadi__SX__is_leaf (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_minus_one" c_casadi__SX__is_minus_one
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_minus_one
+  :: SX -> IO Bool
+casadi__SX__is_minus_one x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_minus_one errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_minus_one :: SXClass a => a -> IO Bool
+sx_is_minus_one x = casadi__SX__is_minus_one (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_one" c_casadi__SX__is_one
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_one
+  :: SX -> IO Bool
+casadi__SX__is_one x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_one errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_one :: SXClass a => a -> IO Bool
+sx_is_one x = casadi__SX__is_one (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_op" c_casadi__SX__is_op
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> IO CInt
+
+casadi__SX__is_op
+  :: SX -> Int -> IO Bool
+casadi__SX__is_op x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_op errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_op :: SXClass a => a -> Int -> IO Bool
+sx_is_op x = casadi__SX__is_op (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_regular" c_casadi__SX__is_regular
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_regular
+  :: SX -> IO Bool
+casadi__SX__is_regular x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_regular errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_regular :: SXClass a => a -> IO Bool
+sx_is_regular x = casadi__SX__is_regular (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_row" c_casadi__SX__is_row
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_row
+  :: SX -> IO Bool
+casadi__SX__is_row x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_row errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_row :: SXClass a => a -> IO Bool
+sx_is_row x = casadi__SX__is_row (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_scalar__0" c_casadi__SX__is_scalar__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_scalar__0
+  :: SX -> IO Bool
+casadi__SX__is_scalar__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_scalar__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_scalar__0 :: SXClass a => a -> IO Bool
+sx_is_scalar__0 x = casadi__SX__is_scalar__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_scalar__1" c_casadi__SX__is_scalar__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
+
+casadi__SX__is_scalar__1
+  :: SX -> Bool -> IO Bool
+casadi__SX__is_scalar__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_scalar__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_scalar__1 :: SXClass a => a -> Bool -> IO Bool
+sx_is_scalar__1 x = casadi__SX__is_scalar__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_smooth" c_casadi__SX__is_smooth
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_smooth
+  :: SX -> IO Bool
+casadi__SX__is_smooth x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_smooth errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_smooth :: SXClass a => a -> IO Bool
+sx_is_smooth x = casadi__SX__is_smooth (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_square" c_casadi__SX__is_square
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_square
+  :: SX -> IO Bool
+casadi__SX__is_square x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_square errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_square :: SXClass a => a -> IO Bool
+sx_is_square x = casadi__SX__is_square (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_symbolic" c_casadi__SX__is_symbolic
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_symbolic
+  :: SX -> IO Bool
+casadi__SX__is_symbolic x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_symbolic errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_symbolic :: SXClass a => a -> IO Bool
+sx_is_symbolic x = casadi__SX__is_symbolic (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_tril" c_casadi__SX__is_tril
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_tril
+  :: SX -> IO Bool
+casadi__SX__is_tril x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_tril errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_tril :: SXClass a => a -> IO Bool
+sx_is_tril x = casadi__SX__is_tril (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_triu" c_casadi__SX__is_triu
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_triu
+  :: SX -> IO Bool
+casadi__SX__is_triu x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_triu errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_triu :: SXClass a => a -> IO Bool
+sx_is_triu x = casadi__SX__is_triu (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_valid_input" c_casadi__SX__is_valid_input
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_valid_input
+  :: SX -> IO Bool
+casadi__SX__is_valid_input x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_valid_input errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_valid_input :: SXClass a => a -> IO Bool
+sx_is_valid_input x = casadi__SX__is_valid_input (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_vector" c_casadi__SX__is_vector
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_vector
+  :: SX -> IO Bool
+casadi__SX__is_vector x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_vector errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_vector :: SXClass a => a -> IO Bool
+sx_is_vector x = casadi__SX__is_vector (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__is_zero" c_casadi__SX__is_zero
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+
+casadi__SX__is_zero
+  :: SX -> IO Bool
+casadi__SX__is_zero x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__is_zero errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_is_zero :: SXClass a => a -> IO Bool
+sx_is_zero x = casadi__SX__is_zero (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__matrix_matrix" c_casadi__SX__matrix_matrix
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi__SX__matrix_matrix
+  :: Int -> SX -> SX -> IO SX
+casadi__SX__matrix_matrix x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__matrix_matrix errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_matrix_matrix :: Int -> SX -> SX -> IO SX
+sx_matrix_matrix = casadi__SX__matrix_matrix
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__matrix_scalar" c_casadi__SX__matrix_scalar
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi__SX__matrix_scalar
+  :: Int -> SX -> SX -> IO SX
+casadi__SX__matrix_scalar x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__matrix_scalar errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_matrix_scalar :: Int -> SX -> SX -> IO SX
+sx_matrix_scalar = casadi__SX__matrix_scalar
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__n_dep" c_casadi__SX__n_dep
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi__SX__n_dep
+  :: SX -> IO Int
+casadi__SX__n_dep x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__n_dep errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_n_dep :: SXClass a => a -> IO Int
+sx_n_dep x = casadi__SX__n_dep (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__name" c_casadi__SX__name
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr StdString)
+
+casadi__SX__name
+  :: SX -> IO String
+casadi__SX__name x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__name errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_name :: SXClass a => a -> IO String
+sx_name x = casadi__SX__name (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__nan__0" c_casadi__SX__nan__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr SX')
+
+casadi__SX__nan__0
+  :: (Int, Int) -> IO SX
+casadi__SX__nan__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__nan__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_nan__0 :: (Int, Int) -> IO SX
+sx_nan__0 = casadi__SX__nan__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__nan__1" c_casadi__SX__nan__1
+  :: Ptr (Ptr StdString) -> IO (Ptr SX')
+
+casadi__SX__nan__1
+  :: IO SX
+casadi__SX__nan__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__nan__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+sx_nan__1 :: IO SX
+sx_nan__1 = casadi__SX__nan__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__nan__2" c_casadi__SX__nan__2
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr SX')
+
+casadi__SX__nan__2
+  :: Int -> IO SX
+casadi__SX__nan__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__nan__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_nan__2 :: Int -> IO SX
+sx_nan__2 = casadi__SX__nan__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__nan__3" c_casadi__SX__nan__3
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr SX')
+
+casadi__SX__nan__3
+  :: Int -> Int -> IO SX
+casadi__SX__nan__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__nan__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_nan__3 :: Int -> Int -> IO SX
+sx_nan__3 = casadi__SX__nan__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__nan__4" c_casadi__SX__nan__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
+
+casadi__SX__nan__4
+  :: Sparsity -> IO SX
+casadi__SX__nan__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__nan__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_nan__4 :: Sparsity -> IO SX
+sx_nan__4 = casadi__SX__nan__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__nnz" c_casadi__SX__nnz
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi__SX__nnz
+  :: SX -> IO Int
+casadi__SX__nnz x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__nnz errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_nnz :: SXClass a => a -> IO Int
+sx_nnz x = casadi__SX__nnz (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__nnz_diag" c_casadi__SX__nnz_diag
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi__SX__nnz_diag
+  :: SX -> IO Int
+casadi__SX__nnz_diag x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__nnz_diag errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_nnz_diag :: SXClass a => a -> IO Int
+sx_nnz_diag x = casadi__SX__nnz_diag (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__nnz_lower" c_casadi__SX__nnz_lower
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi__SX__nnz_lower
+  :: SX -> IO Int
+casadi__SX__nnz_lower x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__nnz_lower errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_nnz_lower :: SXClass a => a -> IO Int
+sx_nnz_lower x = casadi__SX__nnz_lower (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__nnz_upper" c_casadi__SX__nnz_upper
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi__SX__nnz_upper
+  :: SX -> IO Int
+casadi__SX__nnz_upper x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__nnz_upper errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_nnz_upper :: SXClass a => a -> IO Int
+sx_nnz_upper x = casadi__SX__nnz_upper (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__numel" c_casadi__SX__numel
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi__SX__numel
+  :: SX -> IO Int
+casadi__SX__numel x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__numel errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_numel :: SXClass a => a -> IO Int
+sx_numel x = casadi__SX__numel (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__ones__0" c_casadi__SX__ones__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr SX')
+
+casadi__SX__ones__0
+  :: (Int, Int) -> IO SX
+casadi__SX__ones__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__ones__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_ones__0 :: (Int, Int) -> IO SX
+sx_ones__0 = casadi__SX__ones__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__ones__1" c_casadi__SX__ones__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
+
+casadi__SX__ones__1
+  :: Sparsity -> IO SX
+casadi__SX__ones__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__ones__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_ones__1 :: Sparsity -> IO SX
+sx_ones__1 = casadi__SX__ones__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__ones__2" c_casadi__SX__ones__2
+  :: Ptr (Ptr StdString) -> IO (Ptr SX')
+
+casadi__SX__ones__2
+  :: IO SX
+casadi__SX__ones__2  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__ones__2 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+sx_ones__2 :: IO SX
+sx_ones__2 = casadi__SX__ones__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__ones__3" c_casadi__SX__ones__3
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr SX')
+
+casadi__SX__ones__3
+  :: Int -> IO SX
+casadi__SX__ones__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__ones__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_ones__3 :: Int -> IO SX
+sx_ones__3 = casadi__SX__ones__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__ones__4" c_casadi__SX__ones__4
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr SX')
+
+casadi__SX__ones__4
+  :: Int -> Int -> IO SX
+casadi__SX__ones__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__ones__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_ones__4 :: Int -> Int -> IO SX
+sx_ones__4 = casadi__SX__ones__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__op" c_casadi__SX__op
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi__SX__op
+  :: SX -> IO Int
+casadi__SX__op x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__op errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_op :: SXClass a => a -> IO Int
+sx_op x = casadi__SX__op (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__operator__plus" c_casadi__SX__operator__plus
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi__SX__operator__plus
+  :: SX -> IO SX
+casadi__SX__operator__plus x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__operator__plus errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_operator__plus :: SXClass a => a -> IO SX
+sx_operator__plus x = casadi__SX__operator__plus (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__operator__minus" c_casadi__SX__operator__minus
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi__SX__operator__minus
+  :: SX -> IO SX
+casadi__SX__operator__minus x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__operator__minus errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_operator__minus :: SXClass a => a -> IO SX
+sx_operator__minus x = casadi__SX__operator__minus (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__operator_casadi_int" c_casadi__SX__operator_casadi_int
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi__SX__operator_casadi_int
+  :: SX -> IO Int
+casadi__SX__operator_casadi_int x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__operator_casadi_int errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_operator_casadi_int :: SXClass a => a -> IO Int
+sx_operator_casadi_int x = casadi__SX__operator_casadi_int (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__operator_double" c_casadi__SX__operator_double
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CDouble
+
+casadi__SX__operator_double
+  :: SX -> IO Double
+casadi__SX__operator_double x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__operator_double errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_operator_double :: SXClass a => a -> IO Double
+sx_operator_double x = casadi__SX__operator_double (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__print_split" c_casadi__SX__print_split
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (Ptr (StdVec (Ptr StdString))) -> Ptr (Ptr (StdVec (Ptr StdString))) -> IO ()
+
+casadi__SX__print_split
+  :: SX -> IO (Vector String, Vector String)
+casadi__SX__print_split x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__print_split errStrPtrP x0' o1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__SX__print_split/c_casadi__SX__print_split" else wrapReturn o1''
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__SX__print_split/c_casadi__SX__print_split" else wrapReturn o2''
+
+  return (o1''', o2''')
+
+
+
+-- classy wrapper
+sx_print_split :: SXClass a => a -> IO (Vector String, Vector String)
+sx_print_split x = casadi__SX__print_split (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__printme" c_casadi__SX__printme
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi__SX__printme
+  :: SX -> SX -> IO SX
+casadi__SX__printme x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__printme errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_printme :: SXClass a => a -> SX -> IO SX
+sx_printme x = casadi__SX__printme (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__rand__0" c_casadi__SX__rand__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr SX')
+
+casadi__SX__rand__0
+  :: (Int, Int) -> IO SX
+casadi__SX__rand__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__rand__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_rand__0 :: (Int, Int) -> IO SX
+sx_rand__0 = casadi__SX__rand__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__rand__1" c_casadi__SX__rand__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
+
+casadi__SX__rand__1
+  :: Sparsity -> IO SX
+casadi__SX__rand__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__rand__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_rand__1 :: Sparsity -> IO SX
+sx_rand__1 = casadi__SX__rand__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__rand__2" c_casadi__SX__rand__2
+  :: Ptr (Ptr StdString) -> IO (Ptr SX')
+
+casadi__SX__rand__2
+  :: IO SX
+casadi__SX__rand__2  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__rand__2 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+sx_rand__2 :: IO SX
+sx_rand__2 = casadi__SX__rand__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__rand__3" c_casadi__SX__rand__3
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr SX')
+
+casadi__SX__rand__3
+  :: Int -> IO SX
+casadi__SX__rand__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__rand__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_rand__3 :: Int -> IO SX
+sx_rand__3 = casadi__SX__rand__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__rand__4" c_casadi__SX__rand__4
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr SX')
+
+casadi__SX__rand__4
+  :: Int -> Int -> IO SX
+casadi__SX__rand__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__rand__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_rand__4 :: Int -> Int -> IO SX
+sx_rand__4 = casadi__SX__rand__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__remove" c_casadi__SX__remove
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__SX__remove
+  :: SX -> Vector Int -> Vector Int -> IO ()
+casadi__SX__remove x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__remove errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_remove :: SXClass a => a -> Vector Int -> Vector Int -> IO ()
+sx_remove x = casadi__SX__remove (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__reserve__0" c_casadi__SX__reserve__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> CLLong -> IO ()
+
+casadi__SX__reserve__0
+  :: SX -> Int -> Int -> IO ()
+casadi__SX__reserve__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__reserve__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_reserve__0 :: SXClass a => a -> Int -> Int -> IO ()
+sx_reserve__0 x = casadi__SX__reserve__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__reserve__1" c_casadi__SX__reserve__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> IO ()
+
+casadi__SX__reserve__1
+  :: SX -> Int -> IO ()
+casadi__SX__reserve__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__reserve__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_reserve__1 :: SXClass a => a -> Int -> IO ()
+sx_reserve__1 x = casadi__SX__reserve__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__reset_input" c_casadi__SX__reset_input
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
+
+casadi__SX__reset_input
+  :: SX -> IO ()
+casadi__SX__reset_input x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__reset_input errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_reset_input :: SXClass a => a -> IO ()
+sx_reset_input x = casadi__SX__reset_input (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__resize" c_casadi__SX__resize
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> CLLong -> IO ()
+
+casadi__SX__resize
+  :: SX -> Int -> Int -> IO ()
+casadi__SX__resize x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__resize errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_resize :: SXClass a => a -> Int -> Int -> IO ()
+sx_resize x = casadi__SX__resize (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__rng" c_casadi__SX__rng
+  :: Ptr (Ptr StdString) -> CLLong -> IO ()
+
+casadi__SX__rng
+  :: Int -> IO ()
+casadi__SX__rng x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__rng errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_rng :: Int -> IO ()
+sx_rng = casadi__SX__rng
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__row" c_casadi__SX__row
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> IO CLLong
+
+casadi__SX__row
+  :: SX -> Int -> IO Int
+casadi__SX__row x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__row errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_row :: SXClass a => a -> Int -> IO Int
+sx_row x = casadi__SX__row (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__rows" c_casadi__SX__rows
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi__SX__rows
+  :: SX -> IO Int
+casadi__SX__rows x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__rows errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_rows :: SXClass a => a -> IO Int
+sx_rows x = casadi__SX__rows (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__scalar_matrix" c_casadi__SX__scalar_matrix
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi__SX__scalar_matrix
+  :: Int -> SX -> SX -> IO SX
+casadi__SX__scalar_matrix x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__scalar_matrix errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_scalar_matrix :: Int -> SX -> SX -> IO SX
+sx_scalar_matrix = casadi__SX__scalar_matrix
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set__0" c_casadi__SX__set__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr IM' -> Ptr IM' -> IO ()
+
+casadi__SX__set__0
+  :: SX -> SX -> Bool -> IM -> IM -> IO ()
+casadi__SX__set__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__set__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_set__0 :: SXClass a => a -> SX -> Bool -> IM -> IM -> IO ()
+sx_set__0 x = casadi__SX__set__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set__1" c_casadi__SX__set__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr IM' -> Ptr Slice' -> IO ()
+
+casadi__SX__set__1
+  :: SX -> SX -> Bool -> IM -> Slice -> IO ()
+casadi__SX__set__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__set__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_set__1 :: SXClass a => a -> SX -> Bool -> IM -> Slice -> IO ()
+sx_set__1 x = casadi__SX__set__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set__2" c_casadi__SX__set__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Slice' -> Ptr IM' -> IO ()
+
+casadi__SX__set__2
+  :: SX -> SX -> Bool -> Slice -> IM -> IO ()
+casadi__SX__set__2 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__set__2 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_set__2 :: SXClass a => a -> SX -> Bool -> Slice -> IM -> IO ()
+sx_set__2 x = casadi__SX__set__2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set__3" c_casadi__SX__set__3
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
+
+casadi__SX__set__3
+  :: SX -> SX -> Bool -> Slice -> Slice -> IO ()
+casadi__SX__set__3 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__set__3 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_set__3 :: SXClass a => a -> SX -> Bool -> Slice -> Slice -> IO ()
+sx_set__3 x = casadi__SX__set__3 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set__4" c_casadi__SX__set__4
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Sparsity' -> IO ()
+
+casadi__SX__set__4
+  :: SX -> SX -> Bool -> Sparsity -> IO ()
+casadi__SX__set__4 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__set__4 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_set__4 :: SXClass a => a -> SX -> Bool -> Sparsity -> IO ()
+sx_set__4 x = casadi__SX__set__4 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set__5" c_casadi__SX__set__5
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr IM' -> IO ()
+
+casadi__SX__set__5
+  :: SX -> SX -> Bool -> IM -> IO ()
+casadi__SX__set__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__set__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_set__5 :: SXClass a => a -> SX -> Bool -> IM -> IO ()
+sx_set__5 x = casadi__SX__set__5 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set__6" c_casadi__SX__set__6
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Slice' -> IO ()
+
+casadi__SX__set__6
+  :: SX -> SX -> Bool -> Slice -> IO ()
+casadi__SX__set__6 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__set__6 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_set__6 :: SXClass a => a -> SX -> Bool -> Slice -> IO ()
+sx_set__6 x = casadi__SX__set__6 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set_max_depth__0" c_casadi__SX__set_max_depth__0
+  :: Ptr (Ptr StdString) -> IO ()
+
+casadi__SX__set_max_depth__0
+  :: IO ()
+casadi__SX__set_max_depth__0  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__set_max_depth__0 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ()
+
+
+
+-- classy wrapper
+sx_set_max_depth__0 :: IO ()
+sx_set_max_depth__0 = casadi__SX__set_max_depth__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set_max_depth__1" c_casadi__SX__set_max_depth__1
+  :: Ptr (Ptr StdString) -> CLLong -> IO ()
+
+casadi__SX__set_max_depth__1
+  :: Int -> IO ()
+casadi__SX__set_max_depth__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__set_max_depth__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_set_max_depth__1 :: Int -> IO ()
+sx_set_max_depth__1 = casadi__SX__set_max_depth__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set_nz__0" c_casadi__SX__set_nz__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr IM' -> IO ()
+
+casadi__SX__set_nz__0
+  :: SX -> SX -> Bool -> IM -> IO ()
+casadi__SX__set_nz__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__set_nz__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_set_nz__0 :: SXClass a => a -> SX -> Bool -> IM -> IO ()
+sx_set_nz__0 x = casadi__SX__set_nz__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set_nz__1" c_casadi__SX__set_nz__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Slice' -> IO ()
+
+casadi__SX__set_nz__1
+  :: SX -> SX -> Bool -> Slice -> IO ()
+casadi__SX__set_nz__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__set_nz__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_set_nz__1 :: SXClass a => a -> SX -> Bool -> Slice -> IO ()
+sx_set_nz__1 x = casadi__SX__set_nz__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set_precision" c_casadi__SX__set_precision
+  :: Ptr (Ptr StdString) -> CLLong -> IO ()
+
+casadi__SX__set_precision
+  :: Int -> IO ()
+casadi__SX__set_precision x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__set_precision errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_set_precision :: Int -> IO ()
+sx_set_precision = casadi__SX__set_precision
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set_scientific" c_casadi__SX__set_scientific
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+
+casadi__SX__set_scientific
+  :: Bool -> IO ()
+casadi__SX__set_scientific x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__set_scientific errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_set_scientific :: Bool -> IO ()
+sx_set_scientific = casadi__SX__set_scientific
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set_width" c_casadi__SX__set_width
+  :: Ptr (Ptr StdString) -> CLLong -> IO ()
+
+casadi__SX__set_width
+  :: Int -> IO ()
+casadi__SX__set_width x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__set_width errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_set_width :: Int -> IO ()
+sx_set_width = casadi__SX__set_width
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__size__0" c_casadi__SX__size__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> IO CLLong
+
+casadi__SX__size__0
+  :: SX -> Int -> IO Int
+casadi__SX__size__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__size__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_size__0 :: SXClass a => a -> Int -> IO Int
+sx_size__0 x = casadi__SX__size__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__size__1" c_casadi__SX__size__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdPair CLLong CLLong))
+
+casadi__SX__size__1
+  :: SX -> IO (Int, Int)
+casadi__SX__size__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__size__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_size__1 :: SXClass a => a -> IO (Int, Int)
+sx_size__1 x = casadi__SX__size__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__size1" c_casadi__SX__size1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi__SX__size1
+  :: SX -> IO Int
+casadi__SX__size1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__size1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_size1 :: SXClass a => a -> IO Int
+sx_size1 x = casadi__SX__size1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__size2" c_casadi__SX__size2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi__SX__size2
+  :: SX -> IO Int
+casadi__SX__size2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__size2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_size2 :: SXClass a => a -> IO Int
+sx_size2 x = casadi__SX__size2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sparsity" c_casadi__SX__sparsity
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr Sparsity')
+
+casadi__SX__sparsity
+  :: SX -> IO Sparsity
+casadi__SX__sparsity x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__sparsity errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_sparsity :: SXClass a => a -> IO Sparsity
+sx_sparsity x = casadi__SX__sparsity (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__0" c_casadi__SX__sym__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> CLLong -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
+
+casadi__SX__sym__0
+  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector SX))
+casadi__SX__sym__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__sym__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector SX))
+sx_sym__0 = casadi__SX__sym__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__1" c_casadi__SX__sym__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
+
+casadi__SX__sym__1
+  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector SX))
+casadi__SX__sym__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__sym__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector SX))
+sx_sym__1 = casadi__SX__sym__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__2" c_casadi__SX__sym__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi__SX__sym__2
+  :: String -> Int -> Int -> Int -> IO (Vector SX)
+casadi__SX__sym__2 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__sym__2 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_sym__2 :: String -> Int -> Int -> Int -> IO (Vector SX)
+sx_sym__2 = casadi__SX__sym__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__3" c_casadi__SX__sym__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CLLong -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi__SX__sym__3
+  :: String -> Sparsity -> Int -> IO (Vector SX)
+casadi__SX__sym__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__sym__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_sym__3 :: String -> Sparsity -> Int -> IO (Vector SX)
+sx_sym__3 = casadi__SX__sym__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__4" c_casadi__SX__sym__4
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr SX')
+
+casadi__SX__sym__4
+  :: String -> Sparsity -> IO SX
+casadi__SX__sym__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__sym__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_sym__4 :: String -> Sparsity -> IO SX
+sx_sym__4 = casadi__SX__sym__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__5" c_casadi__SX__sym__5
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdPair CLLong CLLong) -> IO (Ptr SX')
+
+casadi__SX__sym__5
+  :: String -> (Int, Int) -> IO SX
+casadi__SX__sym__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__sym__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_sym__5 :: String -> (Int, Int) -> IO SX
+sx_sym__5 = casadi__SX__sym__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__6" c_casadi__SX__sym__6
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr SX')
+
+casadi__SX__sym__6
+  :: String -> IO SX
+casadi__SX__sym__6 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__sym__6 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_sym__6 :: String -> IO SX
+sx_sym__6 = casadi__SX__sym__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__7" c_casadi__SX__sym__7
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> IO (Ptr SX')
+
+casadi__SX__sym__7
+  :: String -> Int -> IO SX
+casadi__SX__sym__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__sym__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_sym__7 :: String -> Int -> IO SX
+sx_sym__7 = casadi__SX__sym__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__8" c_casadi__SX__sym__8
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CLLong -> CLLong -> IO (Ptr SX')
+
+casadi__SX__sym__8
+  :: String -> Int -> Int -> IO SX
+casadi__SX__sym__8 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__sym__8 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_sym__8 :: String -> Int -> Int -> IO SX
+sx_sym__8 = casadi__SX__sym__8
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__to_file__0" c_casadi__SX__to_file__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr StdString -> IO ()
+
+casadi__SX__to_file__0
+  :: SX -> String -> IO ()
+casadi__SX__to_file__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__to_file__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_to_file__0 :: SXClass a => a -> String -> IO ()
+sx_to_file__0 x = casadi__SX__to_file__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__to_file__1" c_casadi__SX__to_file__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr StdString -> Ptr StdString -> IO ()
+
+casadi__SX__to_file__1
+  :: SX -> String -> String -> IO ()
+casadi__SX__to_file__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__to_file__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+sx_to_file__1 :: SXClass a => a -> String -> String -> IO ()
+sx_to_file__1 x = casadi__SX__to_file__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__triplet__0" c_casadi__SX__triplet__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr SX' -> Ptr (StdPair CLLong CLLong) -> IO (Ptr SX')
+
+casadi__SX__triplet__0
+  :: Vector Int -> Vector Int -> SX -> (Int, Int) -> IO SX
+casadi__SX__triplet__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__triplet__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_triplet__0 :: Vector Int -> Vector Int -> SX -> (Int, Int) -> IO SX
+sx_triplet__0 = casadi__SX__triplet__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__triplet__1" c_casadi__SX__triplet__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr SX' -> CLLong -> CLLong -> IO (Ptr SX')
+
+casadi__SX__triplet__1
+  :: Vector Int -> Vector Int -> SX -> Int -> Int -> IO SX
+casadi__SX__triplet__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__triplet__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_triplet__1 :: Vector Int -> Vector Int -> SX -> Int -> Int -> IO SX
+sx_triplet__1 = casadi__SX__triplet__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__triplet__2" c_casadi__SX__triplet__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr SX' -> IO (Ptr SX')
+
+casadi__SX__triplet__2
+  :: Vector Int -> Vector Int -> SX -> IO SX
+casadi__SX__triplet__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__triplet__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_triplet__2 :: Vector Int -> Vector Int -> SX -> IO SX
+sx_triplet__2 = casadi__SX__triplet__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__type_name" c_casadi__SX__type_name
+  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
+
+casadi__SX__type_name
+  :: IO String
+casadi__SX__type_name  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__type_name errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+sx_type_name :: IO String
+sx_type_name = casadi__SX__type_name
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__unary" c_casadi__SX__unary
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr SX' -> IO (Ptr SX')
+
+casadi__SX__unary
+  :: Int -> SX -> IO SX
+casadi__SX__unary x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__unary errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_unary :: Int -> SX -> IO SX
+sx_unary = casadi__SX__unary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zeros__0" c_casadi__SX__zeros__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr SX')
+
+casadi__SX__zeros__0
+  :: (Int, Int) -> IO SX
+casadi__SX__zeros__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__zeros__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_zeros__0 :: (Int, Int) -> IO SX
+sx_zeros__0 = casadi__SX__zeros__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zeros__1" c_casadi__SX__zeros__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
+
+casadi__SX__zeros__1
+  :: Sparsity -> IO SX
+casadi__SX__zeros__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__zeros__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_zeros__1 :: Sparsity -> IO SX
+sx_zeros__1 = casadi__SX__zeros__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zeros__2" c_casadi__SX__zeros__2
+  :: Ptr (Ptr StdString) -> IO (Ptr SX')
+
+casadi__SX__zeros__2
+  :: IO SX
+casadi__SX__zeros__2  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__zeros__2 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+sx_zeros__2 :: IO SX
+sx_zeros__2 = casadi__SX__zeros__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zeros__3" c_casadi__SX__zeros__3
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr SX')
+
+casadi__SX__zeros__3
+  :: Int -> IO SX
+casadi__SX__zeros__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__zeros__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_zeros__3 :: Int -> IO SX
+sx_zeros__3 = casadi__SX__zeros__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zeros__4" c_casadi__SX__zeros__4
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr SX')
+
+casadi__SX__zeros__4
+  :: Int -> Int -> IO SX
+casadi__SX__zeros__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SX__zeros__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sx_zeros__4 :: Int -> Int -> IO SX
+sx_zeros__4 = casadi__SX__zeros__4
 
diff --git a/Casadi/Core/Classes/SharedObject.hs b/Casadi/Core/Classes/SharedObject.hs
--- a/Casadi/Core/Classes/SharedObject.hs
+++ b/Casadi/Core/Classes/SharedObject.hs
@@ -10,10 +10,11 @@
          SharedObject,
          SharedObjectClass(..),
          sharedObject___hash__,
-         sharedObject_getDescription,
-         sharedObject_getRepresentation,
+         sharedObject_class_name,
+         sharedObject_get_str__0,
+         sharedObject_get_str__1,
          sharedObject_is_null,
-         sharedObject_printPtr,
+         sharedObject_print_ptr,
        ) where
 
 
@@ -36,10 +37,10 @@
 import Casadi.Core.Enums
 -- direct wrapper
 foreign import ccall unsafe "casadi__SharedObject____hash__" c_casadi__SharedObject____hash__
-  :: Ptr (Ptr StdString) -> Ptr SharedObject' -> IO CSize
+  :: Ptr (Ptr StdString) -> Ptr SharedObject' -> IO CLLong
 
 casadi__SharedObject____hash__
-  :: SharedObject -> IO CSize
+  :: SharedObject -> IO Int
 casadi__SharedObject____hash__ x0 = do
   x0' <- marshal x0
 
@@ -57,21 +58,21 @@
 
 
 -- classy wrapper
-sharedObject___hash__ :: SharedObjectClass a => a -> IO CSize
+sharedObject___hash__ :: SharedObjectClass a => a -> IO Int
 sharedObject___hash__ x = casadi__SharedObject____hash__ (castSharedObject x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__SharedObject__is_null" c_casadi__SharedObject__is_null
-  :: Ptr (Ptr StdString) -> Ptr SharedObject' -> IO CInt
+foreign import ccall unsafe "casadi__SharedObject__class_name" c_casadi__SharedObject__class_name
+  :: Ptr (Ptr StdString) -> Ptr SharedObject' -> IO (Ptr StdString)
 
-casadi__SharedObject__is_null
-  :: SharedObject -> IO Bool
-casadi__SharedObject__is_null x0 = do
+casadi__SharedObject__class_name
+  :: SharedObject -> IO String
+casadi__SharedObject__class_name x0 = do
   x0' <- marshal x0
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SharedObject__is_null errStrPtrP x0'
+  ret0 <- c_casadi__SharedObject__class_name errStrPtrP x0'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -84,75 +85,77 @@
 
 
 -- classy wrapper
-sharedObject_is_null :: SharedObjectClass a => a -> IO Bool
-sharedObject_is_null x = casadi__SharedObject__is_null (castSharedObject x)
+sharedObject_class_name :: SharedObjectClass a => a -> IO String
+sharedObject_class_name x = casadi__SharedObject__class_name (castSharedObject x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__SharedObject__printPtr" c_casadi__SharedObject__printPtr
-  :: Ptr (Ptr StdString) -> Ptr SharedObject' -> IO ()
+foreign import ccall unsafe "casadi__SharedObject__get_str__0" c_casadi__SharedObject__get_str__0
+  :: Ptr (Ptr StdString) -> Ptr SharedObject' -> IO (Ptr StdString)
 
-casadi__SharedObject__printPtr
-  :: SharedObject -> IO ()
-casadi__SharedObject__printPtr x0 = do
+casadi__SharedObject__get_str__0
+  :: SharedObject -> IO String
+casadi__SharedObject__get_str__0 x0 = do
   x0' <- marshal x0
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SharedObject__printPtr errStrPtrP x0'
+  ret0 <- c_casadi__SharedObject__get_str__0 errStrPtrP x0'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
 
   marshalFree x0 x0'
 
-  return ()
+  return ret
 
 
 
 -- classy wrapper
-sharedObject_printPtr :: SharedObjectClass a => a -> IO ()
-sharedObject_printPtr x = casadi__SharedObject__printPtr (castSharedObject x)
+sharedObject_get_str__0 :: SharedObjectClass a => a -> IO String
+sharedObject_get_str__0 x = casadi__SharedObject__get_str__0 (castSharedObject x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__SharedObject__getRepresentation" c_casadi__SharedObject__getRepresentation
-  :: Ptr (Ptr StdString) -> Ptr SharedObject' -> IO (Ptr StdString)
+foreign import ccall unsafe "casadi__SharedObject__get_str__1" c_casadi__SharedObject__get_str__1
+  :: Ptr (Ptr StdString) -> Ptr SharedObject' -> CInt -> IO (Ptr StdString)
 
-casadi__SharedObject__getRepresentation
-  :: SharedObject -> IO String
-casadi__SharedObject__getRepresentation x0 = do
+casadi__SharedObject__get_str__1
+  :: SharedObject -> Bool -> IO String
+casadi__SharedObject__get_str__1 x0 x1 = do
   x0' <- marshal x0
+  x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SharedObject__getRepresentation errStrPtrP x0'
+  ret0 <- c_casadi__SharedObject__get_str__1 errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
   ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
 
   marshalFree x0 x0'
+  marshalFree x1 x1'
 
   return ret
 
 
 
 -- classy wrapper
-sharedObject_getRepresentation :: SharedObjectClass a => a -> IO String
-sharedObject_getRepresentation x = casadi__SharedObject__getRepresentation (castSharedObject x)
+sharedObject_get_str__1 :: SharedObjectClass a => a -> Bool -> IO String
+sharedObject_get_str__1 x = casadi__SharedObject__get_str__1 (castSharedObject x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__SharedObject__getDescription" c_casadi__SharedObject__getDescription
-  :: Ptr (Ptr StdString) -> Ptr SharedObject' -> IO (Ptr StdString)
+foreign import ccall unsafe "casadi__SharedObject__is_null" c_casadi__SharedObject__is_null
+  :: Ptr (Ptr StdString) -> Ptr SharedObject' -> IO CInt
 
-casadi__SharedObject__getDescription
-  :: SharedObject -> IO String
-casadi__SharedObject__getDescription x0 = do
+casadi__SharedObject__is_null
+  :: SharedObject -> IO Bool
+casadi__SharedObject__is_null x0 = do
   x0' <- marshal x0
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__SharedObject__getDescription errStrPtrP x0'
+  ret0 <- c_casadi__SharedObject__is_null errStrPtrP x0'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -165,6 +168,33 @@
 
 
 -- classy wrapper
-sharedObject_getDescription :: SharedObjectClass a => a -> IO String
-sharedObject_getDescription x = casadi__SharedObject__getDescription (castSharedObject x)
+sharedObject_is_null :: SharedObjectClass a => a -> IO Bool
+sharedObject_is_null x = casadi__SharedObject__is_null (castSharedObject x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SharedObject__print_ptr" c_casadi__SharedObject__print_ptr
+  :: Ptr (Ptr StdString) -> Ptr SharedObject' -> IO ()
+
+casadi__SharedObject__print_ptr
+  :: SharedObject -> IO ()
+casadi__SharedObject__print_ptr x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__SharedObject__print_ptr errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+sharedObject_print_ptr :: SharedObjectClass a => a -> IO ()
+sharedObject_print_ptr x = casadi__SharedObject__print_ptr (castSharedObject x)
 
diff --git a/Casadi/Core/Classes/Slice.hs b/Casadi/Core/Classes/Slice.hs
--- a/Casadi/Core/Classes/Slice.hs
+++ b/Casadi/Core/Classes/Slice.hs
@@ -11,18 +11,26 @@
          SliceClass(..),
          slice__0,
          slice__1,
+         slice__10,
          slice__2,
          slice__3,
          slice__4,
+         slice__5,
+         slice__6,
+         slice__7,
+         slice__8,
+         slice__9,
          slice_all__0,
          slice_all__1,
          slice_all__2,
-         slice_getDescription,
-         slice_getRepresentation,
+         slice_get_str__0,
+         slice_get_str__1,
+         slice_info,
          slice_is_scalar,
          slice_operator__equals,
          slice_operator__nequals,
          slice_scalar,
+         slice_type_name,
        ) where
 
 
@@ -45,7 +53,7 @@
 import Casadi.Core.Enums
 -- direct wrapper
 foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__0" c_casadi__Slice__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Slice')
+  :: Ptr (Ptr StdString) -> CLLong -> CInt -> IO (Ptr Slice')
 
 casadi__Slice__CONSTRUCTOR__0
   :: Int -> Int -> IO Slice
@@ -74,7 +82,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__1" c_casadi__Slice__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> CInt -> IO (Ptr Slice')
+  :: Ptr (Ptr StdString) -> CLLong -> CInt -> CInt -> IO (Ptr Slice')
 
 casadi__Slice__CONSTRUCTOR__1
   :: Int -> Int -> Int -> IO Slice
@@ -105,43 +113,46 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__2" c_casadi__Slice__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Slice')
+  :: Ptr (Ptr StdString) -> CInt -> CLLong -> IO (Ptr Slice')
 
 casadi__Slice__CONSTRUCTOR__2
-  :: Int -> IO Slice
-casadi__Slice__CONSTRUCTOR__2 x0 = do
+  :: Int -> Int -> IO Slice
+casadi__Slice__CONSTRUCTOR__2 x0 x1 = do
   x0' <- marshal x0
+  x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Slice__CONSTRUCTOR__2 errStrPtrP x0'
+  ret0 <- c_casadi__Slice__CONSTRUCTOR__2 errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
   ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
 
   marshalFree x0 x0'
+  marshalFree x1 x1'
 
   return ret
 
 
 
 -- classy wrapper
-slice__2 :: Int -> IO Slice
+slice__2 :: Int -> Int -> IO Slice
 slice__2 = casadi__Slice__CONSTRUCTOR__2
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__3" c_casadi__Slice__CONSTRUCTOR__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Slice')
+  :: Ptr (Ptr StdString) -> CInt -> CLLong -> CInt -> IO (Ptr Slice')
 
 casadi__Slice__CONSTRUCTOR__3
-  :: Int -> Bool -> IO Slice
-casadi__Slice__CONSTRUCTOR__3 x0 x1 = do
+  :: Int -> Int -> Int -> IO Slice
+casadi__Slice__CONSTRUCTOR__3 x0 x1 x2 = do
   x0' <- marshal x0
   x1' <- marshal x1
+  x2' <- marshal x2
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Slice__CONSTRUCTOR__3 errStrPtrP x0' x1'
+  ret0 <- c_casadi__Slice__CONSTRUCTOR__3 errStrPtrP x0' x1' x2'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -149,27 +160,204 @@
 
   marshalFree x0 x0'
   marshalFree x1 x1'
+  marshalFree x2 x2'
 
   return ret
 
 
 
 -- classy wrapper
-slice__3 :: Int -> Bool -> IO Slice
+slice__3 :: Int -> Int -> Int -> IO Slice
 slice__3 = casadi__Slice__CONSTRUCTOR__3
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__4" c_casadi__Slice__CONSTRUCTOR__4
-  :: Ptr (Ptr StdString) -> IO (Ptr Slice')
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Slice')
 
 casadi__Slice__CONSTRUCTOR__4
+  :: Int -> Int -> IO Slice
+casadi__Slice__CONSTRUCTOR__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Slice__CONSTRUCTOR__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+slice__4 :: Int -> Int -> IO Slice
+slice__4 = casadi__Slice__CONSTRUCTOR__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__5" c_casadi__Slice__CONSTRUCTOR__5
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> CInt -> IO (Ptr Slice')
+
+casadi__Slice__CONSTRUCTOR__5
+  :: Int -> Int -> Int -> IO Slice
+casadi__Slice__CONSTRUCTOR__5 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Slice__CONSTRUCTOR__5 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+slice__5 :: Int -> Int -> Int -> IO Slice
+slice__5 = casadi__Slice__CONSTRUCTOR__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__6" c_casadi__Slice__CONSTRUCTOR__6
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr Slice')
+
+casadi__Slice__CONSTRUCTOR__6
+  :: Int -> Int -> IO Slice
+casadi__Slice__CONSTRUCTOR__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Slice__CONSTRUCTOR__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+slice__6 :: Int -> Int -> IO Slice
+slice__6 = casadi__Slice__CONSTRUCTOR__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__7" c_casadi__Slice__CONSTRUCTOR__7
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> CLLong -> IO (Ptr Slice')
+
+casadi__Slice__CONSTRUCTOR__7
+  :: Int -> Int -> Int -> IO Slice
+casadi__Slice__CONSTRUCTOR__7 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Slice__CONSTRUCTOR__7 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+slice__7 :: Int -> Int -> Int -> IO Slice
+slice__7 = casadi__Slice__CONSTRUCTOR__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__8" c_casadi__Slice__CONSTRUCTOR__8
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr Slice')
+
+casadi__Slice__CONSTRUCTOR__8
+  :: Int -> IO Slice
+casadi__Slice__CONSTRUCTOR__8 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Slice__CONSTRUCTOR__8 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+slice__8 :: Int -> IO Slice
+slice__8 = casadi__Slice__CONSTRUCTOR__8
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__9" c_casadi__Slice__CONSTRUCTOR__9
+  :: Ptr (Ptr StdString) -> CLLong -> CInt -> IO (Ptr Slice')
+
+casadi__Slice__CONSTRUCTOR__9
+  :: Int -> Bool -> IO Slice
+casadi__Slice__CONSTRUCTOR__9 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Slice__CONSTRUCTOR__9 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+slice__9 :: Int -> Bool -> IO Slice
+slice__9 = casadi__Slice__CONSTRUCTOR__9
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__10" c_casadi__Slice__CONSTRUCTOR__10
+  :: Ptr (Ptr StdString) -> IO (Ptr Slice')
+
+casadi__Slice__CONSTRUCTOR__10
   :: IO Slice
-casadi__Slice__CONSTRUCTOR__4  = do
+casadi__Slice__CONSTRUCTOR__10  = do
 
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Slice__CONSTRUCTOR__4 errStrPtrP 
+  ret0 <- c_casadi__Slice__CONSTRUCTOR__10 errStrPtrP 
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -182,13 +370,13 @@
 
 
 -- classy wrapper
-slice__4 :: IO Slice
-slice__4 = casadi__Slice__CONSTRUCTOR__4
+slice__10 :: IO Slice
+slice__10 = casadi__Slice__CONSTRUCTOR__10
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Slice__all__0" c_casadi__Slice__all__0
-  :: Ptr (Ptr StdString) -> Ptr Slice' -> Ptr Slice' -> CInt -> IO (Ptr (StdVec CInt))
+  :: Ptr (Ptr StdString) -> Ptr Slice' -> Ptr Slice' -> CLLong -> IO (Ptr (StdVec CLLong))
 
 casadi__Slice__all__0
   :: Slice -> Slice -> Int -> IO (Vector Int)
@@ -219,7 +407,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Slice__all__1" c_casadi__Slice__all__1
-  :: Ptr (Ptr StdString) -> Ptr Slice' -> CInt -> IO (Ptr (StdVec CInt))
+  :: Ptr (Ptr StdString) -> Ptr Slice' -> CLLong -> IO (Ptr (StdVec CLLong))
 
 casadi__Slice__all__1
   :: Slice -> Int -> IO (Vector Int)
@@ -248,7 +436,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Slice__all__2" c_casadi__Slice__all__2
-  :: Ptr (Ptr StdString) -> Ptr Slice' -> CInt -> CInt -> IO (Ptr (StdVec CInt))
+  :: Ptr (Ptr StdString) -> Ptr Slice' -> CLLong -> CInt -> IO (Ptr (StdVec CLLong))
 
 casadi__Slice__all__2
   :: Slice -> Int -> Bool -> IO (Vector Int)
@@ -278,8 +466,91 @@
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__Slice__get_str__0" c_casadi__Slice__get_str__0
+  :: Ptr (Ptr StdString) -> Ptr Slice' -> IO (Ptr StdString)
+
+casadi__Slice__get_str__0
+  :: Slice -> IO String
+casadi__Slice__get_str__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Slice__get_str__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+slice_get_str__0 :: SliceClass a => a -> IO String
+slice_get_str__0 x = casadi__Slice__get_str__0 (castSlice x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Slice__get_str__1" c_casadi__Slice__get_str__1
+  :: Ptr (Ptr StdString) -> Ptr Slice' -> CInt -> IO (Ptr StdString)
+
+casadi__Slice__get_str__1
+  :: Slice -> Bool -> IO String
+casadi__Slice__get_str__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Slice__get_str__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+slice_get_str__1 :: SliceClass a => a -> Bool -> IO String
+slice_get_str__1 x = casadi__Slice__get_str__1 (castSlice x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Slice__info" c_casadi__Slice__info
+  :: Ptr (Ptr StdString) -> Ptr Slice' -> IO (Ptr (StdMap StdString (Ptr GenericType')))
+
+casadi__Slice__info
+  :: Slice -> IO (M.Map String GenericType)
+casadi__Slice__info x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Slice__info errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+slice_info :: SliceClass a => a -> IO (M.Map String GenericType)
+slice_info x = casadi__Slice__info (castSlice x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__Slice__is_scalar" c_casadi__Slice__is_scalar
-  :: Ptr (Ptr StdString) -> Ptr Slice' -> CInt -> IO CInt
+  :: Ptr (Ptr StdString) -> Ptr Slice' -> CLLong -> IO CInt
 
 casadi__Slice__is_scalar
   :: Slice -> Int -> IO Bool
@@ -366,7 +637,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Slice__scalar" c_casadi__Slice__scalar
-  :: Ptr (Ptr StdString) -> Ptr Slice' -> CInt -> IO CInt
+  :: Ptr (Ptr StdString) -> Ptr Slice' -> CLLong -> IO CLLong
 
 casadi__Slice__scalar
   :: Slice -> Int -> IO Int
@@ -394,43 +665,16 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Slice__getRepresentation" c_casadi__Slice__getRepresentation
-  :: Ptr (Ptr StdString) -> Ptr Slice' -> IO (Ptr StdString)
-
-casadi__Slice__getRepresentation
-  :: Slice -> IO String
-casadi__Slice__getRepresentation x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Slice__getRepresentation errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-slice_getRepresentation :: SliceClass a => a -> IO String
-slice_getRepresentation x = casadi__Slice__getRepresentation (castSlice x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Slice__getDescription" c_casadi__Slice__getDescription
+foreign import ccall unsafe "casadi__Slice__type_name" c_casadi__Slice__type_name
   :: Ptr (Ptr StdString) -> Ptr Slice' -> IO (Ptr StdString)
 
-casadi__Slice__getDescription
+casadi__Slice__type_name
   :: Slice -> IO String
-casadi__Slice__getDescription x0 = do
+casadi__Slice__type_name x0 = do
   x0' <- marshal x0
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Slice__getDescription errStrPtrP x0'
+  ret0 <- c_casadi__Slice__type_name errStrPtrP x0'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -443,6 +687,6 @@
 
 
 -- classy wrapper
-slice_getDescription :: SliceClass a => a -> IO String
-slice_getDescription x = casadi__Slice__getDescription (castSlice x)
+slice_type_name :: SliceClass a => a -> IO String
+slice_type_name x = casadi__Slice__type_name (castSlice x)
 
diff --git a/Casadi/Core/Classes/Sparsity.hs b/Casadi/Core/Classes/Sparsity.hs
--- a/Casadi/Core/Classes/Sparsity.hs
+++ b/Casadi/Core/Classes/Sparsity.hs
@@ -15,4030 +15,4796 @@
          sparsity__2,
          sparsity__3,
          sparsity__4,
-         sparsity_add_nz,
-         sparsity_append,
-         sparsity_appendColumns,
-         sparsity_band,
-         sparsity_banded,
-         sparsity_btf__0,
-         sparsity_btf__1,
-         sparsity_bw_lower,
-         sparsity_bw_upper,
-         sparsity_colind,
-         sparsity_combine,
-         sparsity_compress,
-         sparsity_compressed,
-         sparsity_dense__0,
-         sparsity_dense__1,
-         sparsity_dense__2,
-         sparsity_dfs,
-         sparsity_diag__0,
-         sparsity_diag__1,
-         sparsity_diag__2,
-         sparsity_dim,
-         sparsity_enlargeColumns__0,
-         sparsity_enlargeColumns__1,
-         sparsity_enlargeRows__0,
-         sparsity_enlargeRows__1,
-         sparsity_enlarge__0,
-         sparsity_enlarge__1,
-         sparsity_erase__0,
-         sparsity_erase__1,
-         sparsity_erase__2,
-         sparsity_erase__3,
-         sparsity_etree__0,
-         sparsity_etree__1,
-         sparsity_find__0,
-         sparsity_find__1,
-         sparsity_get_ccs,
-         sparsity_get_col,
-         sparsity_get_colind,
-         sparsity_get_crs,
-         sparsity_get_diag,
-         sparsity_get_lower,
-         sparsity_get_nz__0,
-         sparsity_get_nz__1,
-         sparsity_get_nz__2,
-         sparsity_get_row,
-         sparsity_get_triplet,
-         sparsity_get_upper,
-         sparsity_has_nz,
-         sparsity_hash,
-         sparsity_intersect,
-         sparsity_isReshape,
-         sparsity_is_column,
-         sparsity_is_dense,
-         sparsity_is_diag,
-         sparsity_is_empty__0,
-         sparsity_is_empty__1,
-         sparsity_is_equal__0,
-         sparsity_is_equal__1,
-         sparsity_is_row,
-         sparsity_is_scalar__0,
-         sparsity_is_scalar__1,
-         sparsity_is_singular,
-         sparsity_is_square,
-         sparsity_is_symmetric,
-         sparsity_is_transpose,
-         sparsity_is_tril,
-         sparsity_is_triu,
-         sparsity_is_vector,
-         sparsity_largest_first,
-         sparsity_lower,
-         sparsity_makeDense,
-         sparsity_nnz,
-         sparsity_nnz_diag,
-         sparsity_nnz_lower__0,
-         sparsity_nnz_lower__1,
-         sparsity_nnz_upper__0,
-         sparsity_nnz_upper__1,
-         sparsity_numel,
-         sparsity_operator__equals,
-         sparsity_operator__mul,
-         sparsity_operator__nequals,
-         sparsity_operator__plus,
-         sparsity_pattern_inverse,
-         sparsity_pmult__0,
-         sparsity_pmult__1,
-         sparsity_pmult__2,
-         sparsity_pmult__3,
-         sparsity_print_compact,
-         sparsity_removeDuplicates,
-         sparsity_resize,
-         sparsity_row,
-         sparsity_rowcol,
-         sparsity_rowsSequential__0,
-         sparsity_rowsSequential__1,
-         sparsity_sanity_check__0,
-         sparsity_sanity_check__1,
-         sparsity_scalar__0,
-         sparsity_scalar__1,
-         sparsity_scc,
-         sparsity_size1,
-         sparsity_size2,
-         sparsity_size__0,
-         sparsity_size__1,
-         sparsity_spy,
-         sparsity_spy_matlab,
-         sparsity_star_coloring2__0,
-         sparsity_star_coloring2__1,
-         sparsity_star_coloring2__2,
-         sparsity_star_coloring__0,
-         sparsity_star_coloring__1,
-         sparsity_star_coloring__2,
-         sparsity_sub__0,
-         sparsity_sub__1,
-         sparsity_sub__2,
-         sparsity_sub__3,
-         sparsity_transpose__0,
-         sparsity_transpose__1,
-         sparsity_triplet__0,
-         sparsity_triplet__1,
-         sparsity_uni_coloring__0,
-         sparsity_uni_coloring__1,
-         sparsity_uni_coloring__2,
-         sparsity_unit,
-         sparsity_unite,
-         sparsity_upper,
-       ) where
-
-
-import Prelude hiding ( Functor )
-
-import Data.Vector ( Vector )
-import qualified Data.Map as M
-import Foreign.C.Types
-import Foreign.Marshal ( new, free )
-import Foreign.Storable ( peek )
-import Foreign.Ptr ( Ptr, nullPtr )
-import Foreign.ForeignPtr ( newForeignPtr )
-import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
-
-import Casadi.Internal.FormatException ( formatException )
-import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
-import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
-import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-import Casadi.Core.Data
-import Casadi.Core.Enums
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__0" c_casadi__Sparsity__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr Sparsity')
-
-casadi__Sparsity__CONSTRUCTOR__0
-  :: (Int, Int) -> IO Sparsity
-casadi__Sparsity__CONSTRUCTOR__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity__0 :: (Int, Int) -> IO Sparsity
-sparsity__0 = casadi__Sparsity__CONSTRUCTOR__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__1" c_casadi__Sparsity__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
-
-casadi__Sparsity__CONSTRUCTOR__1
-  :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
-casadi__Sparsity__CONSTRUCTOR__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity__1 :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
-sparsity__1 = casadi__Sparsity__CONSTRUCTOR__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__2" c_casadi__Sparsity__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__CONSTRUCTOR__2
-  :: Int -> Int -> IO Sparsity
-casadi__Sparsity__CONSTRUCTOR__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity__2 :: Int -> Int -> IO Sparsity
-sparsity__2 = casadi__Sparsity__CONSTRUCTOR__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__3" c_casadi__Sparsity__CONSTRUCTOR__3
-  :: Ptr (Ptr StdString) -> IO (Ptr Sparsity')
-
-casadi__Sparsity__CONSTRUCTOR__3
-  :: IO Sparsity
-casadi__Sparsity__CONSTRUCTOR__3  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__3 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-sparsity__3 :: IO Sparsity
-sparsity__3 = casadi__Sparsity__CONSTRUCTOR__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__4" c_casadi__Sparsity__CONSTRUCTOR__4
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__CONSTRUCTOR__4
-  :: Int -> IO Sparsity
-casadi__Sparsity__CONSTRUCTOR__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity__4 :: Int -> IO Sparsity
-sparsity__4 = casadi__Sparsity__CONSTRUCTOR__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__T" c_casadi__Sparsity__T
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi__Sparsity__T
-  :: Sparsity -> IO Sparsity
-casadi__Sparsity__T x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__T errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_T :: SparsityClass a => a -> IO Sparsity
-sparsity_T x = casadi__Sparsity__T (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__add_nz" c_casadi__Sparsity__add_nz
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO CInt
-
-casadi__Sparsity__add_nz
-  :: Sparsity -> Int -> Int -> IO Int
-casadi__Sparsity__add_nz x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__add_nz errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_add_nz :: SparsityClass a => a -> Int -> Int -> IO Int
-sparsity_add_nz x = casadi__Sparsity__add_nz (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__append" c_casadi__Sparsity__append
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO ()
-
-casadi__Sparsity__append
-  :: Sparsity -> Sparsity -> IO ()
-casadi__Sparsity__append x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__append errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_append :: SparsityClass a => a -> Sparsity -> IO ()
-sparsity_append x = casadi__Sparsity__append (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__appendColumns" c_casadi__Sparsity__appendColumns
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO ()
-
-casadi__Sparsity__appendColumns
-  :: Sparsity -> Sparsity -> IO ()
-casadi__Sparsity__appendColumns x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__appendColumns errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_appendColumns :: SparsityClass a => a -> Sparsity -> IO ()
-sparsity_appendColumns x = casadi__Sparsity__appendColumns (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__band" c_casadi__Sparsity__band
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__band
-  :: Int -> Int -> IO Sparsity
-casadi__Sparsity__band x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__band errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_band :: Int -> Int -> IO Sparsity
-sparsity_band = casadi__Sparsity__band
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__banded" c_casadi__Sparsity__banded
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__banded
-  :: Int -> Int -> IO Sparsity
-casadi__Sparsity__banded x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__banded errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_banded :: Int -> Int -> IO Sparsity
-sparsity_banded = casadi__Sparsity__banded
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__btf__0" c_casadi__Sparsity__btf__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> Ptr (Ptr (StdVec CInt)) -> Ptr (Ptr (StdVec CInt)) -> Ptr (Ptr (StdVec CInt)) -> Ptr (Ptr (StdVec CInt)) -> Ptr (Ptr (StdVec CInt)) -> IO CInt
-
-casadi__Sparsity__btf__0
-  :: Sparsity -> IO (Int, Vector Int, Vector Int, Vector Int, Vector Int, Vector Int, Vector Int)
-casadi__Sparsity__btf__0 x0 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  o2' <- new nullPtr
-  o3' <- new nullPtr
-  o4' <- new nullPtr
-  o5' <- new nullPtr
-  o6' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__btf__0 errStrPtrP x0' o1' o2' o3' o4' o5' o6'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__btf__0/c_casadi__Sparsity__btf__0" else wrapReturn o1''
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Sparsity__btf__0/c_casadi__Sparsity__btf__0" else wrapReturn o2''
-  o3'' <- peek o3'
-  free o3'
-  o3''' <- if o3'' == nullPtr then error "swig output o3' was not set in casadi__Sparsity__btf__0/c_casadi__Sparsity__btf__0" else wrapReturn o3''
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Sparsity__btf__0/c_casadi__Sparsity__btf__0" else wrapReturn o4''
-  o5'' <- peek o5'
-  free o5'
-  o5''' <- if o5'' == nullPtr then error "swig output o5' was not set in casadi__Sparsity__btf__0/c_casadi__Sparsity__btf__0" else wrapReturn o5''
-  o6'' <- peek o6'
-  free o6'
-  o6''' <- if o6'' == nullPtr then error "swig output o6' was not set in casadi__Sparsity__btf__0/c_casadi__Sparsity__btf__0" else wrapReturn o6''
-
-  return (ret, o1''', o2''', o3''', o4''', o5''', o6''')
-
-
-
--- classy wrapper
-sparsity_btf__0 :: SparsityClass a => a -> IO (Int, Vector Int, Vector Int, Vector Int, Vector Int, Vector Int, Vector Int)
-sparsity_btf__0 x = casadi__Sparsity__btf__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__btf__1" c_casadi__Sparsity__btf__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> Ptr (Ptr (StdVec CInt)) -> Ptr (Ptr (StdVec CInt)) -> Ptr (Ptr (StdVec CInt)) -> Ptr (Ptr (StdVec CInt)) -> Ptr (Ptr (StdVec CInt)) -> CInt -> IO CInt
-
-casadi__Sparsity__btf__1
-  :: Sparsity -> Int -> IO (Int, Vector Int, Vector Int, Vector Int, Vector Int, Vector Int, Vector Int)
-casadi__Sparsity__btf__1 x0 x7 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  o2' <- new nullPtr
-  o3' <- new nullPtr
-  o4' <- new nullPtr
-  o5' <- new nullPtr
-  o6' <- new nullPtr
-  x7' <- marshal x7
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__btf__1 errStrPtrP x0' o1' o2' o3' o4' o5' o6' x7'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__btf__1/c_casadi__Sparsity__btf__1" else wrapReturn o1''
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Sparsity__btf__1/c_casadi__Sparsity__btf__1" else wrapReturn o2''
-  o3'' <- peek o3'
-  free o3'
-  o3''' <- if o3'' == nullPtr then error "swig output o3' was not set in casadi__Sparsity__btf__1/c_casadi__Sparsity__btf__1" else wrapReturn o3''
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Sparsity__btf__1/c_casadi__Sparsity__btf__1" else wrapReturn o4''
-  o5'' <- peek o5'
-  free o5'
-  o5''' <- if o5'' == nullPtr then error "swig output o5' was not set in casadi__Sparsity__btf__1/c_casadi__Sparsity__btf__1" else wrapReturn o5''
-  o6'' <- peek o6'
-  free o6'
-  o6''' <- if o6'' == nullPtr then error "swig output o6' was not set in casadi__Sparsity__btf__1/c_casadi__Sparsity__btf__1" else wrapReturn o6''
-  marshalFree x7 x7'
-
-  return (ret, o1''', o2''', o3''', o4''', o5''', o6''')
-
-
-
--- classy wrapper
-sparsity_btf__1 :: SparsityClass a => a -> Int -> IO (Int, Vector Int, Vector Int, Vector Int, Vector Int, Vector Int, Vector Int)
-sparsity_btf__1 x = casadi__Sparsity__btf__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__bw_lower" c_casadi__Sparsity__bw_lower
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__bw_lower
-  :: Sparsity -> IO Int
-casadi__Sparsity__bw_lower x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__bw_lower errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_bw_lower :: SparsityClass a => a -> IO Int
-sparsity_bw_lower x = casadi__Sparsity__bw_lower (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__bw_upper" c_casadi__Sparsity__bw_upper
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__bw_upper
-  :: Sparsity -> IO Int
-casadi__Sparsity__bw_upper x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__bw_upper errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_bw_upper :: SparsityClass a => a -> IO Int
-sparsity_bw_upper x = casadi__Sparsity__bw_upper (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__colind" c_casadi__Sparsity__colind
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
-
-casadi__Sparsity__colind
-  :: Sparsity -> Int -> IO Int
-casadi__Sparsity__colind x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__colind errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_colind :: SparsityClass a => a -> Int -> IO Int
-sparsity_colind x = casadi__Sparsity__colind (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__combine" c_casadi__Sparsity__combine
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__combine
-  :: Sparsity -> Sparsity -> Bool -> Bool -> IO Sparsity
-casadi__Sparsity__combine x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__combine errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_combine :: SparsityClass a => a -> Sparsity -> Bool -> Bool -> IO Sparsity
-sparsity_combine x = casadi__Sparsity__combine (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__compress" c_casadi__Sparsity__compress
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__compress
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__compress x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__compress errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_compress :: SparsityClass a => a -> IO (Vector Int)
-sparsity_compress x = casadi__Sparsity__compress (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__compressed" c_casadi__Sparsity__compressed
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
-
-casadi__Sparsity__compressed
-  :: Vector Int -> IO Sparsity
-casadi__Sparsity__compressed x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__compressed errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_compressed :: Vector Int -> IO Sparsity
-sparsity_compressed = casadi__Sparsity__compressed
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__dense__0" c_casadi__Sparsity__dense__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr Sparsity')
-
-casadi__Sparsity__dense__0
-  :: (Int, Int) -> IO Sparsity
-casadi__Sparsity__dense__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__dense__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_dense__0 :: (Int, Int) -> IO Sparsity
-sparsity_dense__0 = casadi__Sparsity__dense__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__dense__1" c_casadi__Sparsity__dense__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__dense__1
-  :: Int -> IO Sparsity
-casadi__Sparsity__dense__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__dense__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_dense__1 :: Int -> IO Sparsity
-sparsity_dense__1 = casadi__Sparsity__dense__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__dense__2" c_casadi__Sparsity__dense__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__dense__2
-  :: Int -> Int -> IO Sparsity
-casadi__Sparsity__dense__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__dense__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_dense__2 :: Int -> Int -> IO Sparsity
-sparsity_dense__2 = casadi__Sparsity__dense__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__dfs" c_casadi__Sparsity__dfs
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
-
-casadi__Sparsity__dfs
-  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Vector Bool -> IO Int
-casadi__Sparsity__dfs x0 x1 x2 x3 x4 x5 x6 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-  x6' <- marshal x6
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__dfs errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-  marshalFree x6 x6'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_dfs :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Vector Bool -> IO Int
-sparsity_dfs x = casadi__Sparsity__dfs (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__diag__0" c_casadi__Sparsity__diag__0
-  :: Ptr (Ptr StdString) -> Ptr (StdPair CInt CInt) -> IO (Ptr Sparsity')
-
-casadi__Sparsity__diag__0
-  :: (Int, Int) -> IO Sparsity
-casadi__Sparsity__diag__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__diag__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_diag__0 :: (Int, Int) -> IO Sparsity
-sparsity_diag__0 = casadi__Sparsity__diag__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__diag__1" c_casadi__Sparsity__diag__1
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__diag__1
-  :: Int -> Int -> IO Sparsity
-casadi__Sparsity__diag__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__diag__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_diag__1 :: Int -> Int -> IO Sparsity
-sparsity_diag__1 = casadi__Sparsity__diag__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__diag__2" c_casadi__Sparsity__diag__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__diag__2
-  :: Int -> IO Sparsity
-casadi__Sparsity__diag__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__diag__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_diag__2 :: Int -> IO Sparsity
-sparsity_diag__2 = casadi__Sparsity__diag__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__dim" c_casadi__Sparsity__dim
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr StdString)
-
-casadi__Sparsity__dim
-  :: Sparsity -> IO String
-casadi__Sparsity__dim x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__dim errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_dim :: SparsityClass a => a -> IO String
-sparsity_dim x = casadi__Sparsity__dim (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__enlarge__0" c_casadi__Sparsity__enlarge__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-
-casadi__Sparsity__enlarge__0
-  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casadi__Sparsity__enlarge__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_enlarge__0 :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-sparsity_enlarge__0 x = casadi__Sparsity__enlarge__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__enlarge__1" c_casadi__Sparsity__enlarge__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__Sparsity__enlarge__1
-  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
-casadi__Sparsity__enlarge__1 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_enlarge__1 :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
-sparsity_enlarge__1 x = casadi__Sparsity__enlarge__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__enlargeColumns__0" c_casadi__Sparsity__enlargeColumns__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> Ptr (StdVec CInt) -> IO ()
-
-casadi__Sparsity__enlargeColumns__0
-  :: Sparsity -> Int -> Vector Int -> IO ()
-casadi__Sparsity__enlargeColumns__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__enlargeColumns__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_enlargeColumns__0 :: SparsityClass a => a -> Int -> Vector Int -> IO ()
-sparsity_enlargeColumns__0 x = casadi__Sparsity__enlargeColumns__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__enlargeColumns__1" c_casadi__Sparsity__enlargeColumns__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__Sparsity__enlargeColumns__1
-  :: Sparsity -> Int -> Vector Int -> Bool -> IO ()
-casadi__Sparsity__enlargeColumns__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__enlargeColumns__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_enlargeColumns__1 :: SparsityClass a => a -> Int -> Vector Int -> Bool -> IO ()
-sparsity_enlargeColumns__1 x = casadi__Sparsity__enlargeColumns__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__enlargeRows__0" c_casadi__Sparsity__enlargeRows__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> Ptr (StdVec CInt) -> IO ()
-
-casadi__Sparsity__enlargeRows__0
-  :: Sparsity -> Int -> Vector Int -> IO ()
-casadi__Sparsity__enlargeRows__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__enlargeRows__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_enlargeRows__0 :: SparsityClass a => a -> Int -> Vector Int -> IO ()
-sparsity_enlargeRows__0 x = casadi__Sparsity__enlargeRows__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__enlargeRows__1" c_casadi__Sparsity__enlargeRows__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> Ptr (StdVec CInt) -> CInt -> IO ()
-
-casadi__Sparsity__enlargeRows__1
-  :: Sparsity -> Int -> Vector Int -> Bool -> IO ()
-casadi__Sparsity__enlargeRows__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__enlargeRows__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_enlargeRows__1 :: SparsityClass a => a -> Int -> Vector Int -> Bool -> IO ()
-sparsity_enlargeRows__1 x = casadi__Sparsity__enlargeRows__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__erase__0" c_casadi__Sparsity__erase__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__erase__0
-  :: Sparsity -> Vector Int -> IO (Vector Int)
-casadi__Sparsity__erase__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__erase__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_erase__0 :: SparsityClass a => a -> Vector Int -> IO (Vector Int)
-sparsity_erase__0 x = casadi__Sparsity__erase__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__erase__1" c_casadi__Sparsity__erase__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__erase__1
-  :: Sparsity -> Vector Int -> Bool -> IO (Vector Int)
-casadi__Sparsity__erase__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__erase__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_erase__1 :: SparsityClass a => a -> Vector Int -> Bool -> IO (Vector Int)
-sparsity_erase__1 x = casadi__Sparsity__erase__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__erase__2" c_casadi__Sparsity__erase__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__erase__2
-  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector Int)
-casadi__Sparsity__erase__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__erase__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_erase__2 :: SparsityClass a => a -> Vector Int -> Vector Int -> IO (Vector Int)
-sparsity_erase__2 x = casadi__Sparsity__erase__2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__erase__3" c_casadi__Sparsity__erase__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__erase__3
-  :: Sparsity -> Vector Int -> Vector Int -> Bool -> IO (Vector Int)
-casadi__Sparsity__erase__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__erase__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_erase__3 :: SparsityClass a => a -> Vector Int -> Vector Int -> Bool -> IO (Vector Int)
-sparsity_erase__3 x = casadi__Sparsity__erase__3 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__etree__0" c_casadi__Sparsity__etree__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__etree__0
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__etree__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__etree__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_etree__0 :: SparsityClass a => a -> IO (Vector Int)
-sparsity_etree__0 x = casadi__Sparsity__etree__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__etree__1" c_casadi__Sparsity__etree__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__etree__1
-  :: Sparsity -> Bool -> IO (Vector Int)
-casadi__Sparsity__etree__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__etree__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_etree__1 :: SparsityClass a => a -> Bool -> IO (Vector Int)
-sparsity_etree__1 x = casadi__Sparsity__etree__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__find__0" c_casadi__Sparsity__find__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__find__0
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__find__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__find__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_find__0 :: SparsityClass a => a -> IO (Vector Int)
-sparsity_find__0 x = casadi__Sparsity__find__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__find__1" c_casadi__Sparsity__find__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__find__1
-  :: Sparsity -> Bool -> IO (Vector Int)
-casadi__Sparsity__find__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__find__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_find__1 :: SparsityClass a => a -> Bool -> IO (Vector Int)
-sparsity_find__1 x = casadi__Sparsity__find__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__get_ccs" c_casadi__Sparsity__get_ccs
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> Ptr (Ptr (StdVec CInt)) -> IO ()
-
-casadi__Sparsity__get_ccs
-  :: Sparsity -> IO (Vector Int, Vector Int)
-casadi__Sparsity__get_ccs x0 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__get_ccs errStrPtrP x0' o1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__get_ccs/c_casadi__Sparsity__get_ccs" else wrapReturn o1''
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Sparsity__get_ccs/c_casadi__Sparsity__get_ccs" else wrapReturn o2''
-
-  return (o1''', o2''')
-
-
-
--- classy wrapper
-sparsity_get_ccs :: SparsityClass a => a -> IO (Vector Int, Vector Int)
-sparsity_get_ccs x = casadi__Sparsity__get_ccs (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__get_col" c_casadi__Sparsity__get_col
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__get_col
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__get_col x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__get_col errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_get_col :: SparsityClass a => a -> IO (Vector Int)
-sparsity_get_col x = casadi__Sparsity__get_col (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__get_colind" c_casadi__Sparsity__get_colind
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__get_colind
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__get_colind x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__get_colind errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_get_colind :: SparsityClass a => a -> IO (Vector Int)
-sparsity_get_colind x = casadi__Sparsity__get_colind (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__get_crs" c_casadi__Sparsity__get_crs
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> Ptr (Ptr (StdVec CInt)) -> IO ()
-
-casadi__Sparsity__get_crs
-  :: Sparsity -> IO (Vector Int, Vector Int)
-casadi__Sparsity__get_crs x0 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__get_crs errStrPtrP x0' o1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__get_crs/c_casadi__Sparsity__get_crs" else wrapReturn o1''
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Sparsity__get_crs/c_casadi__Sparsity__get_crs" else wrapReturn o2''
-
-  return (o1''', o2''')
-
-
-
--- classy wrapper
-sparsity_get_crs :: SparsityClass a => a -> IO (Vector Int, Vector Int)
-sparsity_get_crs x = casadi__Sparsity__get_crs (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__get_diag" c_casadi__Sparsity__get_diag
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> IO (Ptr Sparsity')
-
-casadi__Sparsity__get_diag
-  :: Sparsity -> IO (Sparsity, Vector Int)
-casadi__Sparsity__get_diag x0 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__get_diag errStrPtrP x0' o1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__get_diag/c_casadi__Sparsity__get_diag" else wrapReturn o1''
-
-  return (ret, o1''')
-
-
-
--- classy wrapper
-sparsity_get_diag :: SparsityClass a => a -> IO (Sparsity, Vector Int)
-sparsity_get_diag x = casadi__Sparsity__get_diag (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__get_lower" c_casadi__Sparsity__get_lower
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__get_lower
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__get_lower x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__get_lower errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_get_lower :: SparsityClass a => a -> IO (Vector Int)
-sparsity_get_lower x = casadi__Sparsity__get_lower (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__get_nz__0" c_casadi__Sparsity__get_nz__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO ()
-
-casadi__Sparsity__get_nz__0
-  :: Sparsity -> Vector Int -> IO ()
-casadi__Sparsity__get_nz__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__get_nz__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_get_nz__0 :: SparsityClass a => a -> Vector Int -> IO ()
-sparsity_get_nz__0 x = casadi__Sparsity__get_nz__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__get_nz__1" c_casadi__Sparsity__get_nz__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__get_nz__1
-  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector Int)
-casadi__Sparsity__get_nz__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__get_nz__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_get_nz__1 :: SparsityClass a => a -> Vector Int -> Vector Int -> IO (Vector Int)
-sparsity_get_nz__1 x = casadi__Sparsity__get_nz__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__get_nz__2" c_casadi__Sparsity__get_nz__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO CInt
-
-casadi__Sparsity__get_nz__2
-  :: Sparsity -> Int -> Int -> IO Int
-casadi__Sparsity__get_nz__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__get_nz__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_get_nz__2 :: SparsityClass a => a -> Int -> Int -> IO Int
-sparsity_get_nz__2 x = casadi__Sparsity__get_nz__2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__get_row" c_casadi__Sparsity__get_row
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__get_row
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__get_row x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__get_row errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_get_row :: SparsityClass a => a -> IO (Vector Int)
-sparsity_get_row x = casadi__Sparsity__get_row (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__get_triplet" c_casadi__Sparsity__get_triplet
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> Ptr (Ptr (StdVec CInt)) -> IO ()
-
-casadi__Sparsity__get_triplet
-  :: Sparsity -> IO (Vector Int, Vector Int)
-casadi__Sparsity__get_triplet x0 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__get_triplet errStrPtrP x0' o1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__get_triplet/c_casadi__Sparsity__get_triplet" else wrapReturn o1''
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Sparsity__get_triplet/c_casadi__Sparsity__get_triplet" else wrapReturn o2''
-
-  return (o1''', o2''')
-
-
-
--- classy wrapper
-sparsity_get_triplet :: SparsityClass a => a -> IO (Vector Int, Vector Int)
-sparsity_get_triplet x = casadi__Sparsity__get_triplet (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__get_upper" c_casadi__Sparsity__get_upper
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__get_upper
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__get_upper x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__get_upper errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_get_upper :: SparsityClass a => a -> IO (Vector Int)
-sparsity_get_upper x = casadi__Sparsity__get_upper (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__has_nz" c_casadi__Sparsity__has_nz
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO CInt
-
-casadi__Sparsity__has_nz
-  :: Sparsity -> Int -> Int -> IO Bool
-casadi__Sparsity__has_nz x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__has_nz errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_has_nz :: SparsityClass a => a -> Int -> Int -> IO Bool
-sparsity_has_nz x = casadi__Sparsity__has_nz (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__hash" c_casadi__Sparsity__hash
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CSize
-
-casadi__Sparsity__hash
-  :: Sparsity -> IO CSize
-casadi__Sparsity__hash x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__hash errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_hash :: SparsityClass a => a -> IO CSize
-sparsity_hash x = casadi__Sparsity__hash (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__intersect" c_casadi__Sparsity__intersect
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi__Sparsity__intersect
-  :: Sparsity -> Sparsity -> IO Sparsity
-casadi__Sparsity__intersect x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__intersect errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_intersect :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_intersect x = casadi__Sparsity__intersect (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isReshape" c_casadi__Sparsity__isReshape
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__isReshape
-  :: Sparsity -> Sparsity -> IO Bool
-casadi__Sparsity__isReshape x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__isReshape errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_isReshape :: SparsityClass a => a -> Sparsity -> IO Bool
-sparsity_isReshape x = casadi__Sparsity__isReshape (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_column" c_casadi__Sparsity__is_column
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__is_column
-  :: Sparsity -> IO Bool
-casadi__Sparsity__is_column x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_column errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_column :: SparsityClass a => a -> IO Bool
-sparsity_is_column x = casadi__Sparsity__is_column (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_dense" c_casadi__Sparsity__is_dense
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__is_dense
-  :: Sparsity -> IO Bool
-casadi__Sparsity__is_dense x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_dense errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_dense :: SparsityClass a => a -> IO Bool
-sparsity_is_dense x = casadi__Sparsity__is_dense (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_diag" c_casadi__Sparsity__is_diag
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__is_diag
-  :: Sparsity -> IO Bool
-casadi__Sparsity__is_diag x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_diag errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_diag :: SparsityClass a => a -> IO Bool
-sparsity_is_diag x = casadi__Sparsity__is_diag (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_empty__0" c_casadi__Sparsity__is_empty__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__is_empty__0
-  :: Sparsity -> IO Bool
-casadi__Sparsity__is_empty__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_empty__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_empty__0 :: SparsityClass a => a -> IO Bool
-sparsity_is_empty__0 x = casadi__Sparsity__is_empty__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_empty__1" c_casadi__Sparsity__is_empty__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
-
-casadi__Sparsity__is_empty__1
-  :: Sparsity -> Bool -> IO Bool
-casadi__Sparsity__is_empty__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_empty__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_empty__1 :: SparsityClass a => a -> Bool -> IO Bool
-sparsity_is_empty__1 x = casadi__Sparsity__is_empty__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_equal__0" c_casadi__Sparsity__is_equal__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
-
-casadi__Sparsity__is_equal__0
-  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> IO Bool
-casadi__Sparsity__is_equal__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_equal__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_equal__0 :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO Bool
-sparsity_is_equal__0 x = casadi__Sparsity__is_equal__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_equal__1" c_casadi__Sparsity__is_equal__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__is_equal__1
-  :: Sparsity -> Sparsity -> IO Bool
-casadi__Sparsity__is_equal__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_equal__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_equal__1 :: SparsityClass a => a -> Sparsity -> IO Bool
-sparsity_is_equal__1 x = casadi__Sparsity__is_equal__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_row" c_casadi__Sparsity__is_row
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__is_row
-  :: Sparsity -> IO Bool
-casadi__Sparsity__is_row x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_row errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_row :: SparsityClass a => a -> IO Bool
-sparsity_is_row x = casadi__Sparsity__is_row (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_scalar__0" c_casadi__Sparsity__is_scalar__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__is_scalar__0
-  :: Sparsity -> IO Bool
-casadi__Sparsity__is_scalar__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_scalar__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_scalar__0 :: SparsityClass a => a -> IO Bool
-sparsity_is_scalar__0 x = casadi__Sparsity__is_scalar__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_scalar__1" c_casadi__Sparsity__is_scalar__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
-
-casadi__Sparsity__is_scalar__1
-  :: Sparsity -> Bool -> IO Bool
-casadi__Sparsity__is_scalar__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_scalar__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_scalar__1 :: SparsityClass a => a -> Bool -> IO Bool
-sparsity_is_scalar__1 x = casadi__Sparsity__is_scalar__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_singular" c_casadi__Sparsity__is_singular
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__is_singular
-  :: Sparsity -> IO Bool
-casadi__Sparsity__is_singular x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_singular errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_singular :: SparsityClass a => a -> IO Bool
-sparsity_is_singular x = casadi__Sparsity__is_singular (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_square" c_casadi__Sparsity__is_square
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__is_square
-  :: Sparsity -> IO Bool
-casadi__Sparsity__is_square x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_square errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_square :: SparsityClass a => a -> IO Bool
-sparsity_is_square x = casadi__Sparsity__is_square (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_symmetric" c_casadi__Sparsity__is_symmetric
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__is_symmetric
-  :: Sparsity -> IO Bool
-casadi__Sparsity__is_symmetric x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_symmetric errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_symmetric :: SparsityClass a => a -> IO Bool
-sparsity_is_symmetric x = casadi__Sparsity__is_symmetric (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_transpose" c_casadi__Sparsity__is_transpose
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__is_transpose
-  :: Sparsity -> Sparsity -> IO Bool
-casadi__Sparsity__is_transpose x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_transpose errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_transpose :: SparsityClass a => a -> Sparsity -> IO Bool
-sparsity_is_transpose x = casadi__Sparsity__is_transpose (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_tril" c_casadi__Sparsity__is_tril
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__is_tril
-  :: Sparsity -> IO Bool
-casadi__Sparsity__is_tril x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_tril errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_tril :: SparsityClass a => a -> IO Bool
-sparsity_is_tril x = casadi__Sparsity__is_tril (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_triu" c_casadi__Sparsity__is_triu
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__is_triu
-  :: Sparsity -> IO Bool
-casadi__Sparsity__is_triu x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_triu errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_triu :: SparsityClass a => a -> IO Bool
-sparsity_is_triu x = casadi__Sparsity__is_triu (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__is_vector" c_casadi__Sparsity__is_vector
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__is_vector
-  :: Sparsity -> IO Bool
-casadi__Sparsity__is_vector x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__is_vector errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_is_vector :: SparsityClass a => a -> IO Bool
-sparsity_is_vector x = casadi__Sparsity__is_vector (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__largest_first" c_casadi__Sparsity__largest_first
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-
-casadi__Sparsity__largest_first
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__largest_first x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__largest_first errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_largest_first :: SparsityClass a => a -> IO (Vector Int)
-sparsity_largest_first x = casadi__Sparsity__largest_first (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__lower" c_casadi__Sparsity__lower
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__lower
-  :: Int -> IO Sparsity
-casadi__Sparsity__lower x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__lower errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_lower :: Int -> IO Sparsity
-sparsity_lower = casadi__Sparsity__lower
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__makeDense" c_casadi__Sparsity__makeDense
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> IO (Ptr Sparsity')
-
-casadi__Sparsity__makeDense
-  :: Sparsity -> IO (Sparsity, Vector Int)
-casadi__Sparsity__makeDense x0 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__makeDense errStrPtrP x0' o1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__makeDense/c_casadi__Sparsity__makeDense" else wrapReturn o1''
-
-  return (ret, o1''')
-
-
-
--- classy wrapper
-sparsity_makeDense :: SparsityClass a => a -> IO (Sparsity, Vector Int)
-sparsity_makeDense x = casadi__Sparsity__makeDense (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__nnz" c_casadi__Sparsity__nnz
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__nnz
-  :: Sparsity -> IO Int
-casadi__Sparsity__nnz x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__nnz errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_nnz :: SparsityClass a => a -> IO Int
-sparsity_nnz x = casadi__Sparsity__nnz (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__nnz_diag" c_casadi__Sparsity__nnz_diag
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__nnz_diag
-  :: Sparsity -> IO Int
-casadi__Sparsity__nnz_diag x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__nnz_diag errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_nnz_diag :: SparsityClass a => a -> IO Int
-sparsity_nnz_diag x = casadi__Sparsity__nnz_diag (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__nnz_lower__0" c_casadi__Sparsity__nnz_lower__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__nnz_lower__0
-  :: Sparsity -> IO Int
-casadi__Sparsity__nnz_lower__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__nnz_lower__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_nnz_lower__0 :: SparsityClass a => a -> IO Int
-sparsity_nnz_lower__0 x = casadi__Sparsity__nnz_lower__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__nnz_lower__1" c_casadi__Sparsity__nnz_lower__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
-
-casadi__Sparsity__nnz_lower__1
-  :: Sparsity -> Bool -> IO Int
-casadi__Sparsity__nnz_lower__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__nnz_lower__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_nnz_lower__1 :: SparsityClass a => a -> Bool -> IO Int
-sparsity_nnz_lower__1 x = casadi__Sparsity__nnz_lower__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__nnz_upper__0" c_casadi__Sparsity__nnz_upper__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__nnz_upper__0
-  :: Sparsity -> IO Int
-casadi__Sparsity__nnz_upper__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__nnz_upper__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_nnz_upper__0 :: SparsityClass a => a -> IO Int
-sparsity_nnz_upper__0 x = casadi__Sparsity__nnz_upper__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__nnz_upper__1" c_casadi__Sparsity__nnz_upper__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
-
-casadi__Sparsity__nnz_upper__1
-  :: Sparsity -> Bool -> IO Int
-casadi__Sparsity__nnz_upper__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__nnz_upper__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_nnz_upper__1 :: SparsityClass a => a -> Bool -> IO Int
-sparsity_nnz_upper__1 x = casadi__Sparsity__nnz_upper__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__numel" c_casadi__Sparsity__numel
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__numel
-  :: Sparsity -> IO Int
-casadi__Sparsity__numel x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__numel errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_numel :: SparsityClass a => a -> IO Int
-sparsity_numel x = casadi__Sparsity__numel (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__operator__nequals" c_casadi__Sparsity__operator__nequals
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__operator__nequals
-  :: Sparsity -> Sparsity -> IO Bool
-casadi__Sparsity__operator__nequals x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__operator__nequals errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_operator__nequals :: SparsityClass a => a -> Sparsity -> IO Bool
-sparsity_operator__nequals x = casadi__Sparsity__operator__nequals (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__operator__mul" c_casadi__Sparsity__operator__mul
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi__Sparsity__operator__mul
-  :: Sparsity -> Sparsity -> IO Sparsity
-casadi__Sparsity__operator__mul x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__operator__mul errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_operator__mul :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_operator__mul x = casadi__Sparsity__operator__mul (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__operator__plus" c_casadi__Sparsity__operator__plus
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi__Sparsity__operator__plus
-  :: Sparsity -> Sparsity -> IO Sparsity
-casadi__Sparsity__operator__plus x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__operator__plus errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_operator__plus :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_operator__plus x = casadi__Sparsity__operator__plus (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__operator__equals" c_casadi__Sparsity__operator__equals
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__operator__equals
-  :: Sparsity -> Sparsity -> IO Bool
-casadi__Sparsity__operator__equals x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__operator__equals errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_operator__equals :: SparsityClass a => a -> Sparsity -> IO Bool
-sparsity_operator__equals x = casadi__Sparsity__operator__equals (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__pattern_inverse" c_casadi__Sparsity__pattern_inverse
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi__Sparsity__pattern_inverse
-  :: Sparsity -> IO Sparsity
-casadi__Sparsity__pattern_inverse x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__pattern_inverse errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_pattern_inverse :: SparsityClass a => a -> IO Sparsity
-sparsity_pattern_inverse x = casadi__Sparsity__pattern_inverse (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__pmult__0" c_casadi__Sparsity__pmult__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
-
-casadi__Sparsity__pmult__0
-  :: Sparsity -> Vector Int -> IO Sparsity
-casadi__Sparsity__pmult__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__pmult__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_pmult__0 :: SparsityClass a => a -> Vector Int -> IO Sparsity
-sparsity_pmult__0 x = casadi__Sparsity__pmult__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__pmult__1" c_casadi__Sparsity__pmult__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__pmult__1
-  :: Sparsity -> Vector Int -> Bool -> IO Sparsity
-casadi__Sparsity__pmult__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__pmult__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_pmult__1 :: SparsityClass a => a -> Vector Int -> Bool -> IO Sparsity
-sparsity_pmult__1 x = casadi__Sparsity__pmult__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__pmult__2" c_casadi__Sparsity__pmult__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__pmult__2
-  :: Sparsity -> Vector Int -> Bool -> Bool -> IO Sparsity
-casadi__Sparsity__pmult__2 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__pmult__2 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_pmult__2 :: SparsityClass a => a -> Vector Int -> Bool -> Bool -> IO Sparsity
-sparsity_pmult__2 x = casadi__Sparsity__pmult__2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__pmult__3" c_casadi__Sparsity__pmult__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__pmult__3
-  :: Sparsity -> Vector Int -> Bool -> Bool -> Bool -> IO Sparsity
-casadi__Sparsity__pmult__3 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__pmult__3 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_pmult__3 :: SparsityClass a => a -> Vector Int -> Bool -> Bool -> Bool -> IO Sparsity
-sparsity_pmult__3 x = casadi__Sparsity__pmult__3 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__print_compact" c_casadi__Sparsity__print_compact
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO ()
-
-casadi__Sparsity__print_compact
-  :: Sparsity -> IO ()
-casadi__Sparsity__print_compact x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__print_compact errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_print_compact :: SparsityClass a => a -> IO ()
-sparsity_print_compact x = casadi__Sparsity__print_compact (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__removeDuplicates" c_casadi__Sparsity__removeDuplicates
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO ()
-
-casadi__Sparsity__removeDuplicates
-  :: Sparsity -> Vector Int -> IO ()
-casadi__Sparsity__removeDuplicates x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__removeDuplicates errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_removeDuplicates :: SparsityClass a => a -> Vector Int -> IO ()
-sparsity_removeDuplicates x = casadi__Sparsity__removeDuplicates (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__resize" c_casadi__Sparsity__resize
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO ()
-
-casadi__Sparsity__resize
-  :: Sparsity -> Int -> Int -> IO ()
-casadi__Sparsity__resize x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__resize errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_resize :: SparsityClass a => a -> Int -> Int -> IO ()
-sparsity_resize x = casadi__Sparsity__resize (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__row" c_casadi__Sparsity__row
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
-
-casadi__Sparsity__row
-  :: Sparsity -> Int -> IO Int
-casadi__Sparsity__row x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__row errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_row :: SparsityClass a => a -> Int -> IO Int
-sparsity_row x = casadi__Sparsity__row (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__rowcol" c_casadi__Sparsity__rowcol
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__rowcol
-  :: Vector Int -> Vector Int -> Int -> Int -> IO Sparsity
-casadi__Sparsity__rowcol x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__rowcol errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_rowcol :: Vector Int -> Vector Int -> Int -> Int -> IO Sparsity
-sparsity_rowcol = casadi__Sparsity__rowcol
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__rowsSequential__0" c_casadi__Sparsity__rowsSequential__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__rowsSequential__0
-  :: Sparsity -> IO Bool
-casadi__Sparsity__rowsSequential__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__rowsSequential__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_rowsSequential__0 :: SparsityClass a => a -> IO Bool
-sparsity_rowsSequential__0 x = casadi__Sparsity__rowsSequential__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__rowsSequential__1" c_casadi__Sparsity__rowsSequential__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
-
-casadi__Sparsity__rowsSequential__1
-  :: Sparsity -> Bool -> IO Bool
-casadi__Sparsity__rowsSequential__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__rowsSequential__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_rowsSequential__1 :: SparsityClass a => a -> Bool -> IO Bool
-sparsity_rowsSequential__1 x = casadi__Sparsity__rowsSequential__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__sanity_check__0" c_casadi__Sparsity__sanity_check__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO ()
-
-casadi__Sparsity__sanity_check__0
-  :: Sparsity -> IO ()
-casadi__Sparsity__sanity_check__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__sanity_check__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_sanity_check__0 :: SparsityClass a => a -> IO ()
-sparsity_sanity_check__0 x = casadi__Sparsity__sanity_check__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__sanity_check__1" c_casadi__Sparsity__sanity_check__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO ()
-
-casadi__Sparsity__sanity_check__1
-  :: Sparsity -> Bool -> IO ()
-casadi__Sparsity__sanity_check__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__sanity_check__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_sanity_check__1 :: SparsityClass a => a -> Bool -> IO ()
-sparsity_sanity_check__1 x = casadi__Sparsity__sanity_check__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__scalar__0" c_casadi__Sparsity__scalar__0
-  :: Ptr (Ptr StdString) -> IO (Ptr Sparsity')
-
-casadi__Sparsity__scalar__0
-  :: IO Sparsity
-casadi__Sparsity__scalar__0  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__scalar__0 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_scalar__0 :: IO Sparsity
-sparsity_scalar__0 = casadi__Sparsity__scalar__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__scalar__1" c_casadi__Sparsity__scalar__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__scalar__1
-  :: Bool -> IO Sparsity
-casadi__Sparsity__scalar__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__scalar__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_scalar__1 :: Bool -> IO Sparsity
-sparsity_scalar__1 = casadi__Sparsity__scalar__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__scc" c_casadi__Sparsity__scc
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> Ptr (Ptr (StdVec CInt)) -> IO CInt
-
-casadi__Sparsity__scc
-  :: Sparsity -> IO (Int, Vector Int, Vector Int)
-casadi__Sparsity__scc x0 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__scc errStrPtrP x0' o1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__scc/c_casadi__Sparsity__scc" else wrapReturn o1''
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Sparsity__scc/c_casadi__Sparsity__scc" else wrapReturn o2''
-
-  return (ret, o1''', o2''')
-
-
-
--- classy wrapper
-sparsity_scc :: SparsityClass a => a -> IO (Int, Vector Int, Vector Int)
-sparsity_scc x = casadi__Sparsity__scc (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__size__0" c_casadi__Sparsity__size__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
-
-casadi__Sparsity__size__0
-  :: Sparsity -> Int -> IO Int
-casadi__Sparsity__size__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__size__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_size__0 :: SparsityClass a => a -> Int -> IO Int
-sparsity_size__0 x = casadi__Sparsity__size__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__size__1" c_casadi__Sparsity__size__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdPair CInt CInt))
-
-casadi__Sparsity__size__1
-  :: Sparsity -> IO (Int, Int)
-casadi__Sparsity__size__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__size__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_size__1 :: SparsityClass a => a -> IO (Int, Int)
-sparsity_size__1 x = casadi__Sparsity__size__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__size1" c_casadi__Sparsity__size1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__size1
-  :: Sparsity -> IO Int
-casadi__Sparsity__size1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__size1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_size1 :: SparsityClass a => a -> IO Int
-sparsity_size1 x = casadi__Sparsity__size1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__size2" c_casadi__Sparsity__size2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi__Sparsity__size2
-  :: Sparsity -> IO Int
-casadi__Sparsity__size2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__size2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_size2 :: SparsityClass a => a -> IO Int
-sparsity_size2 x = casadi__Sparsity__size2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__spy" c_casadi__Sparsity__spy
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO ()
-
-casadi__Sparsity__spy
-  :: Sparsity -> IO ()
-casadi__Sparsity__spy x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__spy errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_spy :: SparsityClass a => a -> IO ()
-sparsity_spy x = casadi__Sparsity__spy (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__spy_matlab" c_casadi__Sparsity__spy_matlab
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr StdString -> IO ()
-
-casadi__Sparsity__spy_matlab
-  :: Sparsity -> String -> IO ()
-casadi__Sparsity__spy_matlab x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__spy_matlab errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-sparsity_spy_matlab :: SparsityClass a => a -> String -> IO ()
-sparsity_spy_matlab x = casadi__Sparsity__spy_matlab (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__star_coloring__0" c_casadi__Sparsity__star_coloring__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi__Sparsity__star_coloring__0
-  :: Sparsity -> IO Sparsity
-casadi__Sparsity__star_coloring__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__star_coloring__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_star_coloring__0 :: SparsityClass a => a -> IO Sparsity
-sparsity_star_coloring__0 x = casadi__Sparsity__star_coloring__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__star_coloring__1" c_casadi__Sparsity__star_coloring__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__star_coloring__1
-  :: Sparsity -> Int -> IO Sparsity
-casadi__Sparsity__star_coloring__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__star_coloring__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_star_coloring__1 :: SparsityClass a => a -> Int -> IO Sparsity
-sparsity_star_coloring__1 x = casadi__Sparsity__star_coloring__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__star_coloring__2" c_casadi__Sparsity__star_coloring__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__star_coloring__2
-  :: Sparsity -> Int -> Int -> IO Sparsity
-casadi__Sparsity__star_coloring__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__star_coloring__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_star_coloring__2 :: SparsityClass a => a -> Int -> Int -> IO Sparsity
-sparsity_star_coloring__2 x = casadi__Sparsity__star_coloring__2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__star_coloring2__0" c_casadi__Sparsity__star_coloring2__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi__Sparsity__star_coloring2__0
-  :: Sparsity -> IO Sparsity
-casadi__Sparsity__star_coloring2__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__star_coloring2__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_star_coloring2__0 :: SparsityClass a => a -> IO Sparsity
-sparsity_star_coloring2__0 x = casadi__Sparsity__star_coloring2__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__star_coloring2__1" c_casadi__Sparsity__star_coloring2__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__star_coloring2__1
-  :: Sparsity -> Int -> IO Sparsity
-casadi__Sparsity__star_coloring2__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__star_coloring2__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_star_coloring2__1 :: SparsityClass a => a -> Int -> IO Sparsity
-sparsity_star_coloring2__1 x = casadi__Sparsity__star_coloring2__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__star_coloring2__2" c_casadi__Sparsity__star_coloring2__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__star_coloring2__2
-  :: Sparsity -> Int -> Int -> IO Sparsity
-casadi__Sparsity__star_coloring2__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__star_coloring2__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_star_coloring2__2 :: SparsityClass a => a -> Int -> Int -> IO Sparsity
-sparsity_star_coloring2__2 x = casadi__Sparsity__star_coloring2__2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__sub__0" c_casadi__Sparsity__sub__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> IO (Ptr Sparsity')
-
-casadi__Sparsity__sub__0
-  :: Sparsity -> Vector Int -> Sparsity -> IO (Sparsity, Vector Int)
-casadi__Sparsity__sub__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  o3' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__sub__0 errStrPtrP x0' x1' x2' o3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  o3'' <- peek o3'
-  free o3'
-  o3''' <- if o3'' == nullPtr then error "swig output o3' was not set in casadi__Sparsity__sub__0/c_casadi__Sparsity__sub__0" else wrapReturn o3''
-
-  return (ret, o3''')
-
-
-
--- classy wrapper
-sparsity_sub__0 :: SparsityClass a => a -> Vector Int -> Sparsity -> IO (Sparsity, Vector Int)
-sparsity_sub__0 x = casadi__Sparsity__sub__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__sub__1" c_casadi__Sparsity__sub__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__sub__1
-  :: Sparsity -> Vector Int -> Sparsity -> Bool -> IO (Sparsity, Vector Int)
-casadi__Sparsity__sub__1 x0 x1 x2 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  o3' <- new nullPtr
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__sub__1 errStrPtrP x0' x1' x2' o3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  o3'' <- peek o3'
-  free o3'
-  o3''' <- if o3'' == nullPtr then error "swig output o3' was not set in casadi__Sparsity__sub__1/c_casadi__Sparsity__sub__1" else wrapReturn o3''
-  marshalFree x4 x4'
-
-  return (ret, o3''')
-
-
-
--- classy wrapper
-sparsity_sub__1 :: SparsityClass a => a -> Vector Int -> Sparsity -> Bool -> IO (Sparsity, Vector Int)
-sparsity_sub__1 x = casadi__Sparsity__sub__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__sub__2" c_casadi__Sparsity__sub__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (Ptr (StdVec CInt)) -> IO (Ptr Sparsity')
-
-casadi__Sparsity__sub__2
-  :: Sparsity -> Vector Int -> Vector Int -> IO (Sparsity, Vector Int)
-casadi__Sparsity__sub__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  o3' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__sub__2 errStrPtrP x0' x1' x2' o3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  o3'' <- peek o3'
-  free o3'
-  o3''' <- if o3'' == nullPtr then error "swig output o3' was not set in casadi__Sparsity__sub__2/c_casadi__Sparsity__sub__2" else wrapReturn o3''
-
-  return (ret, o3''')
-
-
-
--- classy wrapper
-sparsity_sub__2 :: SparsityClass a => a -> Vector Int -> Vector Int -> IO (Sparsity, Vector Int)
-sparsity_sub__2 x = casadi__Sparsity__sub__2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__sub__3" c_casadi__Sparsity__sub__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (Ptr (StdVec CInt)) -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__sub__3
-  :: Sparsity -> Vector Int -> Vector Int -> Bool -> IO (Sparsity, Vector Int)
-casadi__Sparsity__sub__3 x0 x1 x2 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  o3' <- new nullPtr
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__sub__3 errStrPtrP x0' x1' x2' o3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  o3'' <- peek o3'
-  free o3'
-  o3''' <- if o3'' == nullPtr then error "swig output o3' was not set in casadi__Sparsity__sub__3/c_casadi__Sparsity__sub__3" else wrapReturn o3''
-  marshalFree x4 x4'
-
-  return (ret, o3''')
-
-
-
--- classy wrapper
-sparsity_sub__3 :: SparsityClass a => a -> Vector Int -> Vector Int -> Bool -> IO (Sparsity, Vector Int)
-sparsity_sub__3 x = casadi__Sparsity__sub__3 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__transpose__0" c_casadi__Sparsity__transpose__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> IO (Ptr Sparsity')
-
-casadi__Sparsity__transpose__0
-  :: Sparsity -> IO (Sparsity, Vector Int)
-casadi__Sparsity__transpose__0 x0 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__transpose__0 errStrPtrP x0' o1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__transpose__0/c_casadi__Sparsity__transpose__0" else wrapReturn o1''
-
-  return (ret, o1''')
-
-
-
--- classy wrapper
-sparsity_transpose__0 :: SparsityClass a => a -> IO (Sparsity, Vector Int)
-sparsity_transpose__0 x = casadi__Sparsity__transpose__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__transpose__1" c_casadi__Sparsity__transpose__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__transpose__1
-  :: Sparsity -> Bool -> IO (Sparsity, Vector Int)
-casadi__Sparsity__transpose__1 x0 x2 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__transpose__1 errStrPtrP x0' o1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__transpose__1/c_casadi__Sparsity__transpose__1" else wrapReturn o1''
-  marshalFree x2 x2'
-
-  return (ret, o1''')
-
-
-
--- classy wrapper
-sparsity_transpose__1 :: SparsityClass a => a -> Bool -> IO (Sparsity, Vector Int)
-sparsity_transpose__1 x = casadi__Sparsity__transpose__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__triplet__0" c_casadi__Sparsity__triplet__0
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
-
-casadi__Sparsity__triplet__0
-  :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
-casadi__Sparsity__triplet__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__triplet__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_triplet__0 :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
-sparsity_triplet__0 = casadi__Sparsity__triplet__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__triplet__1" c_casadi__Sparsity__triplet__1
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (Ptr (StdVec CInt)) -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__triplet__1
-  :: Int -> Int -> Vector Int -> Vector Int -> Bool -> IO (Sparsity, Vector Int)
-casadi__Sparsity__triplet__1 x0 x1 x2 x3 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__triplet__1 errStrPtrP x0' x1' x2' x3' o4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Sparsity__triplet__1/c_casadi__Sparsity__triplet__1" else wrapReturn o4''
-  marshalFree x5 x5'
-
-  return (ret, o4''')
-
-
-
--- classy wrapper
-sparsity_triplet__1 :: Int -> Int -> Vector Int -> Vector Int -> Bool -> IO (Sparsity, Vector Int)
-sparsity_triplet__1 = casadi__Sparsity__triplet__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__uni_coloring__0" c_casadi__Sparsity__uni_coloring__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi__Sparsity__uni_coloring__0
-  :: Sparsity -> IO Sparsity
-casadi__Sparsity__uni_coloring__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__uni_coloring__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_uni_coloring__0 :: SparsityClass a => a -> IO Sparsity
-sparsity_uni_coloring__0 x = casadi__Sparsity__uni_coloring__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__uni_coloring__1" c_casadi__Sparsity__uni_coloring__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi__Sparsity__uni_coloring__1
-  :: Sparsity -> Sparsity -> IO Sparsity
-casadi__Sparsity__uni_coloring__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__uni_coloring__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_uni_coloring__1 :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_uni_coloring__1 x = casadi__Sparsity__uni_coloring__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__uni_coloring__2" c_casadi__Sparsity__uni_coloring__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__uni_coloring__2
-  :: Sparsity -> Sparsity -> Int -> IO Sparsity
-casadi__Sparsity__uni_coloring__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__uni_coloring__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_uni_coloring__2 :: SparsityClass a => a -> Sparsity -> Int -> IO Sparsity
-sparsity_uni_coloring__2 x = casadi__Sparsity__uni_coloring__2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__unit" c_casadi__Sparsity__unit
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__unit
-  :: Int -> Int -> IO Sparsity
-casadi__Sparsity__unit x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__unit errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_unit :: Int -> Int -> IO Sparsity
-sparsity_unit = casadi__Sparsity__unit
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__unite" c_casadi__Sparsity__unite
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi__Sparsity__unite
-  :: Sparsity -> Sparsity -> IO Sparsity
-casadi__Sparsity__unite x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__unite errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-sparsity_unite :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_unite x = casadi__Sparsity__unite (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__upper" c_casadi__Sparsity__upper
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
+         sparsity__5,
+         sparsity_add_nz,
+         sparsity_amd,
+         sparsity_append,
+         sparsity_appendColumns,
+         sparsity_band,
+         sparsity_banded,
+         sparsity_btf,
+         sparsity_bw_lower,
+         sparsity_bw_upper,
+         sparsity_colind,
+         sparsity_columns,
+         sparsity_combine,
+         sparsity_compress,
+         sparsity_compressed__0,
+         sparsity_compressed__1,
+         sparsity_dense__0,
+         sparsity_dense__1,
+         sparsity_dense__2,
+         sparsity_density,
+         sparsity_deserialize,
+         sparsity_dfs,
+         sparsity_diag__0,
+         sparsity_diag__1,
+         sparsity_diag__2,
+         sparsity_dim__0,
+         sparsity_dim__1,
+         sparsity_enlargeColumns__0,
+         sparsity_enlargeColumns__1,
+         sparsity_enlargeRows__0,
+         sparsity_enlargeRows__1,
+         sparsity_enlarge__0,
+         sparsity_enlarge__1,
+         sparsity_erase__0,
+         sparsity_erase__1,
+         sparsity_erase__2,
+         sparsity_erase__3,
+         sparsity_etree__0,
+         sparsity_etree__1,
+         sparsity_export_code,
+         sparsity_find__0,
+         sparsity_find__1,
+         sparsity_from_file__0,
+         sparsity_from_file__1,
+         sparsity_from_info,
+         sparsity_get_ccs,
+         sparsity_get_col,
+         sparsity_get_colind,
+         sparsity_get_crs,
+         sparsity_get_diag,
+         sparsity_get_lower,
+         sparsity_get_nz__0,
+         sparsity_get_nz__1,
+         sparsity_get_nz__2,
+         sparsity_get_row,
+         sparsity_get_triplet,
+         sparsity_get_upper,
+         sparsity_has_nz,
+         sparsity_hash,
+         sparsity_info,
+         sparsity_intersect,
+         sparsity_is_column,
+         sparsity_is_dense,
+         sparsity_is_diag,
+         sparsity_is_empty__0,
+         sparsity_is_empty__1,
+         sparsity_is_equal__0,
+         sparsity_is_equal__1,
+         sparsity_is_reshape,
+         sparsity_is_row,
+         sparsity_is_scalar__0,
+         sparsity_is_scalar__1,
+         sparsity_is_singular,
+         sparsity_is_square,
+         sparsity_is_stacked,
+         sparsity_is_symmetric,
+         sparsity_is_transpose,
+         sparsity_is_tril,
+         sparsity_is_triu,
+         sparsity_is_vector,
+         sparsity_kkt__0,
+         sparsity_kkt__1,
+         sparsity_kkt__2,
+         sparsity_largest_first,
+         sparsity_ldl__0,
+         sparsity_ldl__1,
+         sparsity_lower,
+         sparsity_makeDense,
+         sparsity_nnz,
+         sparsity_nnz_diag,
+         sparsity_nnz_lower__0,
+         sparsity_nnz_lower__1,
+         sparsity_nnz_upper__0,
+         sparsity_nnz_upper__1,
+         sparsity_nonzeros__0,
+         sparsity_nonzeros__1,
+         sparsity_numel,
+         sparsity_operator__equals,
+         sparsity_operator__mul,
+         sparsity_operator__nequals,
+         sparsity_operator__plus,
+         sparsity_pattern_inverse,
+         sparsity_pmult__0,
+         sparsity_pmult__1,
+         sparsity_pmult__2,
+         sparsity_pmult__3,
+         sparsity_postfix_dim,
+         sparsity_qr_sparse__0,
+         sparsity_qr_sparse__1,
+         sparsity_removeDuplicates,
+         sparsity_repr_el,
+         sparsity_resize,
+         sparsity_row,
+         sparsity_rowcol,
+         sparsity_rows,
+         sparsity_rowsSequential__0,
+         sparsity_rowsSequential__1,
+         sparsity_scalar__0,
+         sparsity_scalar__1,
+         sparsity_scc,
+         sparsity_serialize,
+         sparsity_size1,
+         sparsity_size2,
+         sparsity_size__0,
+         sparsity_size__1,
+         sparsity_spy,
+         sparsity_spy_matlab,
+         sparsity_star_coloring2__0,
+         sparsity_star_coloring2__1,
+         sparsity_star_coloring2__2,
+         sparsity_star_coloring__0,
+         sparsity_star_coloring__1,
+         sparsity_star_coloring__2,
+         sparsity_sub__0,
+         sparsity_sub__1,
+         sparsity_sub__2,
+         sparsity_sub__3,
+         sparsity_to_file__0,
+         sparsity_to_file__1,
+         sparsity_transpose__0,
+         sparsity_transpose__1,
+         sparsity_triplet__0,
+         sparsity_triplet__1,
+         sparsity_type_name,
+         sparsity_uni_coloring__0,
+         sparsity_uni_coloring__1,
+         sparsity_uni_coloring__2,
+         sparsity_unit,
+         sparsity_unite,
+         sparsity_upper,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__0" c_casadi__Sparsity__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__CONSTRUCTOR__0
+  :: (Int, Int) -> IO Sparsity
+casadi__Sparsity__CONSTRUCTOR__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity__0 :: (Int, Int) -> IO Sparsity
+sparsity__0 = casadi__Sparsity__CONSTRUCTOR__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__1" c_casadi__Sparsity__CONSTRUCTOR__1
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__CONSTRUCTOR__1
+  :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
+casadi__Sparsity__CONSTRUCTOR__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity__1 :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
+sparsity__1 = casadi__Sparsity__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__2" c_casadi__Sparsity__CONSTRUCTOR__2
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__CONSTRUCTOR__2
+  :: Int -> Int -> Vector Int -> Vector Int -> Bool -> IO Sparsity
+casadi__Sparsity__CONSTRUCTOR__2 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__2 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity__2 :: Int -> Int -> Vector Int -> Vector Int -> Bool -> IO Sparsity
+sparsity__2 = casadi__Sparsity__CONSTRUCTOR__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__3" c_casadi__Sparsity__CONSTRUCTOR__3
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__CONSTRUCTOR__3
+  :: Int -> Int -> IO Sparsity
+casadi__Sparsity__CONSTRUCTOR__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity__3 :: Int -> Int -> IO Sparsity
+sparsity__3 = casadi__Sparsity__CONSTRUCTOR__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__4" c_casadi__Sparsity__CONSTRUCTOR__4
+  :: Ptr (Ptr StdString) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__CONSTRUCTOR__4
+  :: IO Sparsity
+casadi__Sparsity__CONSTRUCTOR__4  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__4 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity__4 :: IO Sparsity
+sparsity__4 = casadi__Sparsity__CONSTRUCTOR__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__5" c_casadi__Sparsity__CONSTRUCTOR__5
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__CONSTRUCTOR__5
+  :: Int -> IO Sparsity
+casadi__Sparsity__CONSTRUCTOR__5 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__5 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity__5 :: Int -> IO Sparsity
+sparsity__5 = casadi__Sparsity__CONSTRUCTOR__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__T" c_casadi__Sparsity__T
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi__Sparsity__T
+  :: Sparsity -> IO Sparsity
+casadi__Sparsity__T x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__T errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_T :: SparsityClass a => a -> IO Sparsity
+sparsity_T x = casadi__Sparsity__T (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__add_nz" c_casadi__Sparsity__add_nz
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> CLLong -> IO CLLong
+
+casadi__Sparsity__add_nz
+  :: Sparsity -> Int -> Int -> IO Int
+casadi__Sparsity__add_nz x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__add_nz errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_add_nz :: SparsityClass a => a -> Int -> Int -> IO Int
+sparsity_add_nz x = casadi__Sparsity__add_nz (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__amd" c_casadi__Sparsity__amd
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__amd
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__amd x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__amd errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_amd :: SparsityClass a => a -> IO (Vector Int)
+sparsity_amd x = casadi__Sparsity__amd (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__append" c_casadi__Sparsity__append
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO ()
+
+casadi__Sparsity__append
+  :: Sparsity -> Sparsity -> IO ()
+casadi__Sparsity__append x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__append errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_append :: SparsityClass a => a -> Sparsity -> IO ()
+sparsity_append x = casadi__Sparsity__append (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__appendColumns" c_casadi__Sparsity__appendColumns
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO ()
+
+casadi__Sparsity__appendColumns
+  :: Sparsity -> Sparsity -> IO ()
+casadi__Sparsity__appendColumns x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__appendColumns errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_appendColumns :: SparsityClass a => a -> Sparsity -> IO ()
+sparsity_appendColumns x = casadi__Sparsity__appendColumns (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__band" c_casadi__Sparsity__band
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__band
+  :: Int -> Int -> IO Sparsity
+casadi__Sparsity__band x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__band errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_band :: Int -> Int -> IO Sparsity
+sparsity_band = casadi__Sparsity__band
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__banded" c_casadi__Sparsity__banded
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__banded
+  :: Int -> Int -> IO Sparsity
+casadi__Sparsity__banded x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__banded errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_banded :: Int -> Int -> IO Sparsity
+sparsity_banded = casadi__Sparsity__banded
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__btf" c_casadi__Sparsity__btf
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CLLong)) -> Ptr (Ptr (StdVec CLLong)) -> Ptr (Ptr (StdVec CLLong)) -> Ptr (Ptr (StdVec CLLong)) -> Ptr (Ptr (StdVec CLLong)) -> Ptr (Ptr (StdVec CLLong)) -> IO CLLong
+
+casadi__Sparsity__btf
+  :: Sparsity -> IO (Int, Vector Int, Vector Int, Vector Int, Vector Int, Vector Int, Vector Int)
+casadi__Sparsity__btf x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  o2' <- new nullPtr
+  o3' <- new nullPtr
+  o4' <- new nullPtr
+  o5' <- new nullPtr
+  o6' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__btf errStrPtrP x0' o1' o2' o3' o4' o5' o6'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__btf/c_casadi__Sparsity__btf" else wrapReturn o1''
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Sparsity__btf/c_casadi__Sparsity__btf" else wrapReturn o2''
+  o3'' <- peek o3'
+  free o3'
+  o3''' <- if o3'' == nullPtr then error "swig output o3' was not set in casadi__Sparsity__btf/c_casadi__Sparsity__btf" else wrapReturn o3''
+  o4'' <- peek o4'
+  free o4'
+  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Sparsity__btf/c_casadi__Sparsity__btf" else wrapReturn o4''
+  o5'' <- peek o5'
+  free o5'
+  o5''' <- if o5'' == nullPtr then error "swig output o5' was not set in casadi__Sparsity__btf/c_casadi__Sparsity__btf" else wrapReturn o5''
+  o6'' <- peek o6'
+  free o6'
+  o6''' <- if o6'' == nullPtr then error "swig output o6' was not set in casadi__Sparsity__btf/c_casadi__Sparsity__btf" else wrapReturn o6''
+
+  return (ret, o1''', o2''', o3''', o4''', o5''', o6''')
+
+
+
+-- classy wrapper
+sparsity_btf :: SparsityClass a => a -> IO (Int, Vector Int, Vector Int, Vector Int, Vector Int, Vector Int, Vector Int)
+sparsity_btf x = casadi__Sparsity__btf (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__bw_lower" c_casadi__Sparsity__bw_lower
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CLLong
+
+casadi__Sparsity__bw_lower
+  :: Sparsity -> IO Int
+casadi__Sparsity__bw_lower x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__bw_lower errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_bw_lower :: SparsityClass a => a -> IO Int
+sparsity_bw_lower x = casadi__Sparsity__bw_lower (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__bw_upper" c_casadi__Sparsity__bw_upper
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CLLong
+
+casadi__Sparsity__bw_upper
+  :: Sparsity -> IO Int
+casadi__Sparsity__bw_upper x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__bw_upper errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_bw_upper :: SparsityClass a => a -> IO Int
+sparsity_bw_upper x = casadi__Sparsity__bw_upper (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__colind" c_casadi__Sparsity__colind
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> IO CLLong
+
+casadi__Sparsity__colind
+  :: Sparsity -> Int -> IO Int
+casadi__Sparsity__colind x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__colind errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_colind :: SparsityClass a => a -> Int -> IO Int
+sparsity_colind x = casadi__Sparsity__colind (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__columns" c_casadi__Sparsity__columns
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CLLong
+
+casadi__Sparsity__columns
+  :: Sparsity -> IO Int
+casadi__Sparsity__columns x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__columns errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_columns :: SparsityClass a => a -> IO Int
+sparsity_columns x = casadi__Sparsity__columns (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__combine" c_casadi__Sparsity__combine
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__combine
+  :: Sparsity -> Sparsity -> Bool -> Bool -> IO Sparsity
+casadi__Sparsity__combine x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__combine errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_combine :: SparsityClass a => a -> Sparsity -> Bool -> Bool -> IO Sparsity
+sparsity_combine x = casadi__Sparsity__combine (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__compress" c_casadi__Sparsity__compress
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__compress
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__compress x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__compress errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_compress :: SparsityClass a => a -> IO (Vector Int)
+sparsity_compress x = casadi__Sparsity__compress (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__compressed__0" c_casadi__Sparsity__compressed__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__compressed__0
+  :: Vector Int -> IO Sparsity
+casadi__Sparsity__compressed__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__compressed__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_compressed__0 :: Vector Int -> IO Sparsity
+sparsity_compressed__0 = casadi__Sparsity__compressed__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__compressed__1" c_casadi__Sparsity__compressed__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__compressed__1
+  :: Vector Int -> Bool -> IO Sparsity
+casadi__Sparsity__compressed__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__compressed__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_compressed__1 :: Vector Int -> Bool -> IO Sparsity
+sparsity_compressed__1 = casadi__Sparsity__compressed__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__dense__0" c_casadi__Sparsity__dense__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__dense__0
+  :: (Int, Int) -> IO Sparsity
+casadi__Sparsity__dense__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__dense__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_dense__0 :: (Int, Int) -> IO Sparsity
+sparsity_dense__0 = casadi__Sparsity__dense__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__dense__1" c_casadi__Sparsity__dense__1
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__dense__1
+  :: Int -> IO Sparsity
+casadi__Sparsity__dense__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__dense__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_dense__1 :: Int -> IO Sparsity
+sparsity_dense__1 = casadi__Sparsity__dense__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__dense__2" c_casadi__Sparsity__dense__2
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__dense__2
+  :: Int -> Int -> IO Sparsity
+casadi__Sparsity__dense__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__dense__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_dense__2 :: Int -> Int -> IO Sparsity
+sparsity_dense__2 = casadi__Sparsity__dense__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__density" c_casadi__Sparsity__density
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CDouble
+
+casadi__Sparsity__density
+  :: Sparsity -> IO Double
+casadi__Sparsity__density x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__density errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_density :: SparsityClass a => a -> IO Double
+sparsity_density x = casadi__Sparsity__density (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__deserialize" c_casadi__Sparsity__deserialize
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr Sparsity')
+
+casadi__Sparsity__deserialize
+  :: String -> IO Sparsity
+casadi__Sparsity__deserialize x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__deserialize errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_deserialize :: String -> IO Sparsity
+sparsity_deserialize = casadi__Sparsity__deserialize
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__dfs" c_casadi__Sparsity__dfs
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CInt) -> IO CLLong
+
+casadi__Sparsity__dfs
+  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Vector Bool -> IO Int
+casadi__Sparsity__dfs x0 x1 x2 x3 x4 x5 x6 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__dfs errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_dfs :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Vector Bool -> IO Int
+sparsity_dfs x = casadi__Sparsity__dfs (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__diag__0" c_casadi__Sparsity__diag__0
+  :: Ptr (Ptr StdString) -> Ptr (StdPair CLLong CLLong) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__diag__0
+  :: (Int, Int) -> IO Sparsity
+casadi__Sparsity__diag__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__diag__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_diag__0 :: (Int, Int) -> IO Sparsity
+sparsity_diag__0 = casadi__Sparsity__diag__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__diag__1" c_casadi__Sparsity__diag__1
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__diag__1
+  :: Int -> Int -> IO Sparsity
+casadi__Sparsity__diag__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__diag__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_diag__1 :: Int -> Int -> IO Sparsity
+sparsity_diag__1 = casadi__Sparsity__diag__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__diag__2" c_casadi__Sparsity__diag__2
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__diag__2
+  :: Int -> IO Sparsity
+casadi__Sparsity__diag__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__diag__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_diag__2 :: Int -> IO Sparsity
+sparsity_diag__2 = casadi__Sparsity__diag__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__dim__0" c_casadi__Sparsity__dim__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr StdString)
+
+casadi__Sparsity__dim__0
+  :: Sparsity -> IO String
+casadi__Sparsity__dim__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__dim__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_dim__0 :: SparsityClass a => a -> IO String
+sparsity_dim__0 x = casadi__Sparsity__dim__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__dim__1" c_casadi__Sparsity__dim__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr StdString)
+
+casadi__Sparsity__dim__1
+  :: Sparsity -> Bool -> IO String
+casadi__Sparsity__dim__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__dim__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_dim__1 :: SparsityClass a => a -> Bool -> IO String
+sparsity_dim__1 x = casadi__Sparsity__dim__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__enlarge__0" c_casadi__Sparsity__enlarge__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__Sparsity__enlarge__0
+  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+casadi__Sparsity__enlarge__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_enlarge__0 :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+sparsity_enlarge__0 x = casadi__Sparsity__enlarge__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__enlarge__1" c_casadi__Sparsity__enlarge__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__Sparsity__enlarge__1
+  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__Sparsity__enlarge__1 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_enlarge__1 :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+sparsity_enlarge__1 x = casadi__Sparsity__enlarge__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__enlargeColumns__0" c_casadi__Sparsity__enlargeColumns__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__Sparsity__enlargeColumns__0
+  :: Sparsity -> Int -> Vector Int -> IO ()
+casadi__Sparsity__enlargeColumns__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__enlargeColumns__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_enlargeColumns__0 :: SparsityClass a => a -> Int -> Vector Int -> IO ()
+sparsity_enlargeColumns__0 x = casadi__Sparsity__enlargeColumns__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__enlargeColumns__1" c_casadi__Sparsity__enlargeColumns__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__Sparsity__enlargeColumns__1
+  :: Sparsity -> Int -> Vector Int -> Bool -> IO ()
+casadi__Sparsity__enlargeColumns__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__enlargeColumns__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_enlargeColumns__1 :: SparsityClass a => a -> Int -> Vector Int -> Bool -> IO ()
+sparsity_enlargeColumns__1 x = casadi__Sparsity__enlargeColumns__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__enlargeRows__0" c_casadi__Sparsity__enlargeRows__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__Sparsity__enlargeRows__0
+  :: Sparsity -> Int -> Vector Int -> IO ()
+casadi__Sparsity__enlargeRows__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__enlargeRows__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_enlargeRows__0 :: SparsityClass a => a -> Int -> Vector Int -> IO ()
+sparsity_enlargeRows__0 x = casadi__Sparsity__enlargeRows__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__enlargeRows__1" c_casadi__Sparsity__enlargeRows__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi__Sparsity__enlargeRows__1
+  :: Sparsity -> Int -> Vector Int -> Bool -> IO ()
+casadi__Sparsity__enlargeRows__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__enlargeRows__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_enlargeRows__1 :: SparsityClass a => a -> Int -> Vector Int -> Bool -> IO ()
+sparsity_enlargeRows__1 x = casadi__Sparsity__enlargeRows__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__erase__0" c_casadi__Sparsity__erase__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__erase__0
+  :: Sparsity -> Vector Int -> IO (Vector Int)
+casadi__Sparsity__erase__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__erase__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_erase__0 :: SparsityClass a => a -> Vector Int -> IO (Vector Int)
+sparsity_erase__0 x = casadi__Sparsity__erase__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__erase__1" c_casadi__Sparsity__erase__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> CInt -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__erase__1
+  :: Sparsity -> Vector Int -> Bool -> IO (Vector Int)
+casadi__Sparsity__erase__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__erase__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_erase__1 :: SparsityClass a => a -> Vector Int -> Bool -> IO (Vector Int)
+sparsity_erase__1 x = casadi__Sparsity__erase__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__erase__2" c_casadi__Sparsity__erase__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__erase__2
+  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector Int)
+casadi__Sparsity__erase__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__erase__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_erase__2 :: SparsityClass a => a -> Vector Int -> Vector Int -> IO (Vector Int)
+sparsity_erase__2 x = casadi__Sparsity__erase__2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__erase__3" c_casadi__Sparsity__erase__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__erase__3
+  :: Sparsity -> Vector Int -> Vector Int -> Bool -> IO (Vector Int)
+casadi__Sparsity__erase__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__erase__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_erase__3 :: SparsityClass a => a -> Vector Int -> Vector Int -> Bool -> IO (Vector Int)
+sparsity_erase__3 x = casadi__Sparsity__erase__3 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__etree__0" c_casadi__Sparsity__etree__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__etree__0
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__etree__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__etree__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_etree__0 :: SparsityClass a => a -> IO (Vector Int)
+sparsity_etree__0 x = casadi__Sparsity__etree__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__etree__1" c_casadi__Sparsity__etree__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__etree__1
+  :: Sparsity -> Bool -> IO (Vector Int)
+casadi__Sparsity__etree__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__etree__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_etree__1 :: SparsityClass a => a -> Bool -> IO (Vector Int)
+sparsity_etree__1 x = casadi__Sparsity__etree__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__export_code" c_casadi__Sparsity__export_code
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr StdString -> IO ()
+
+casadi__Sparsity__export_code
+  :: Sparsity -> String -> IO ()
+casadi__Sparsity__export_code x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__export_code errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_export_code :: SparsityClass a => a -> String -> IO ()
+sparsity_export_code x = casadi__Sparsity__export_code (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__find__0" c_casadi__Sparsity__find__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__find__0
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__find__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__find__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_find__0 :: SparsityClass a => a -> IO (Vector Int)
+sparsity_find__0 x = casadi__Sparsity__find__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__find__1" c_casadi__Sparsity__find__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__find__1
+  :: Sparsity -> Bool -> IO (Vector Int)
+casadi__Sparsity__find__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__find__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_find__1 :: SparsityClass a => a -> Bool -> IO (Vector Int)
+sparsity_find__1 x = casadi__Sparsity__find__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__from_file__0" c_casadi__Sparsity__from_file__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr Sparsity')
+
+casadi__Sparsity__from_file__0
+  :: String -> IO Sparsity
+casadi__Sparsity__from_file__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__from_file__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_from_file__0 :: String -> IO Sparsity
+sparsity_from_file__0 = casadi__Sparsity__from_file__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__from_file__1" c_casadi__Sparsity__from_file__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> IO (Ptr Sparsity')
+
+casadi__Sparsity__from_file__1
+  :: String -> String -> IO Sparsity
+casadi__Sparsity__from_file__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__from_file__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_from_file__1 :: String -> String -> IO Sparsity
+sparsity_from_file__1 = casadi__Sparsity__from_file__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__from_info" c_casadi__Sparsity__from_info
+  :: Ptr (Ptr StdString) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__from_info
+  :: M.Map String GenericType -> IO Sparsity
+casadi__Sparsity__from_info x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__from_info errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_from_info :: M.Map String GenericType -> IO Sparsity
+sparsity_from_info = casadi__Sparsity__from_info
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__get_ccs" c_casadi__Sparsity__get_ccs
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CLLong)) -> Ptr (Ptr (StdVec CLLong)) -> IO ()
+
+casadi__Sparsity__get_ccs
+  :: Sparsity -> IO (Vector Int, Vector Int)
+casadi__Sparsity__get_ccs x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__get_ccs errStrPtrP x0' o1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__get_ccs/c_casadi__Sparsity__get_ccs" else wrapReturn o1''
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Sparsity__get_ccs/c_casadi__Sparsity__get_ccs" else wrapReturn o2''
+
+  return (o1''', o2''')
+
+
+
+-- classy wrapper
+sparsity_get_ccs :: SparsityClass a => a -> IO (Vector Int, Vector Int)
+sparsity_get_ccs x = casadi__Sparsity__get_ccs (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__get_col" c_casadi__Sparsity__get_col
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__get_col
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__get_col x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__get_col errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_get_col :: SparsityClass a => a -> IO (Vector Int)
+sparsity_get_col x = casadi__Sparsity__get_col (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__get_colind" c_casadi__Sparsity__get_colind
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__get_colind
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__get_colind x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__get_colind errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_get_colind :: SparsityClass a => a -> IO (Vector Int)
+sparsity_get_colind x = casadi__Sparsity__get_colind (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__get_crs" c_casadi__Sparsity__get_crs
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CLLong)) -> Ptr (Ptr (StdVec CLLong)) -> IO ()
+
+casadi__Sparsity__get_crs
+  :: Sparsity -> IO (Vector Int, Vector Int)
+casadi__Sparsity__get_crs x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__get_crs errStrPtrP x0' o1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__get_crs/c_casadi__Sparsity__get_crs" else wrapReturn o1''
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Sparsity__get_crs/c_casadi__Sparsity__get_crs" else wrapReturn o2''
+
+  return (o1''', o2''')
+
+
+
+-- classy wrapper
+sparsity_get_crs :: SparsityClass a => a -> IO (Vector Int, Vector Int)
+sparsity_get_crs x = casadi__Sparsity__get_crs (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__get_diag" c_casadi__Sparsity__get_diag
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CLLong)) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__get_diag
+  :: Sparsity -> IO (Sparsity, Vector Int)
+casadi__Sparsity__get_diag x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__get_diag errStrPtrP x0' o1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__get_diag/c_casadi__Sparsity__get_diag" else wrapReturn o1''
+
+  return (ret, o1''')
+
+
+
+-- classy wrapper
+sparsity_get_diag :: SparsityClass a => a -> IO (Sparsity, Vector Int)
+sparsity_get_diag x = casadi__Sparsity__get_diag (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__get_lower" c_casadi__Sparsity__get_lower
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__get_lower
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__get_lower x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__get_lower errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_get_lower :: SparsityClass a => a -> IO (Vector Int)
+sparsity_get_lower x = casadi__Sparsity__get_lower (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__get_nz__0" c_casadi__Sparsity__get_nz__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__Sparsity__get_nz__0
+  :: Sparsity -> Vector Int -> IO ()
+casadi__Sparsity__get_nz__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__get_nz__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_get_nz__0 :: SparsityClass a => a -> Vector Int -> IO ()
+sparsity_get_nz__0 x = casadi__Sparsity__get_nz__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__get_nz__1" c_casadi__Sparsity__get_nz__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__get_nz__1
+  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector Int)
+casadi__Sparsity__get_nz__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__get_nz__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_get_nz__1 :: SparsityClass a => a -> Vector Int -> Vector Int -> IO (Vector Int)
+sparsity_get_nz__1 x = casadi__Sparsity__get_nz__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__get_nz__2" c_casadi__Sparsity__get_nz__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> CLLong -> IO CLLong
+
+casadi__Sparsity__get_nz__2
+  :: Sparsity -> Int -> Int -> IO Int
+casadi__Sparsity__get_nz__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__get_nz__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_get_nz__2 :: SparsityClass a => a -> Int -> Int -> IO Int
+sparsity_get_nz__2 x = casadi__Sparsity__get_nz__2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__get_row" c_casadi__Sparsity__get_row
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__get_row
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__get_row x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__get_row errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_get_row :: SparsityClass a => a -> IO (Vector Int)
+sparsity_get_row x = casadi__Sparsity__get_row (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__get_triplet" c_casadi__Sparsity__get_triplet
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CLLong)) -> Ptr (Ptr (StdVec CLLong)) -> IO ()
+
+casadi__Sparsity__get_triplet
+  :: Sparsity -> IO (Vector Int, Vector Int)
+casadi__Sparsity__get_triplet x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__get_triplet errStrPtrP x0' o1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__get_triplet/c_casadi__Sparsity__get_triplet" else wrapReturn o1''
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Sparsity__get_triplet/c_casadi__Sparsity__get_triplet" else wrapReturn o2''
+
+  return (o1''', o2''')
+
+
+
+-- classy wrapper
+sparsity_get_triplet :: SparsityClass a => a -> IO (Vector Int, Vector Int)
+sparsity_get_triplet x = casadi__Sparsity__get_triplet (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__get_upper" c_casadi__Sparsity__get_upper
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__get_upper
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__get_upper x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__get_upper errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_get_upper :: SparsityClass a => a -> IO (Vector Int)
+sparsity_get_upper x = casadi__Sparsity__get_upper (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__has_nz" c_casadi__Sparsity__has_nz
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> CLLong -> IO CInt
+
+casadi__Sparsity__has_nz
+  :: Sparsity -> Int -> Int -> IO Bool
+casadi__Sparsity__has_nz x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__has_nz errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_has_nz :: SparsityClass a => a -> Int -> Int -> IO Bool
+sparsity_has_nz x = casadi__Sparsity__has_nz (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__hash" c_casadi__Sparsity__hash
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CSize
+
+casadi__Sparsity__hash
+  :: Sparsity -> IO CSize
+casadi__Sparsity__hash x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__hash errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_hash :: SparsityClass a => a -> IO CSize
+sparsity_hash x = casadi__Sparsity__hash (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__info" c_casadi__Sparsity__info
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdMap StdString (Ptr GenericType')))
+
+casadi__Sparsity__info
+  :: Sparsity -> IO (M.Map String GenericType)
+casadi__Sparsity__info x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__info errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_info :: SparsityClass a => a -> IO (M.Map String GenericType)
+sparsity_info x = casadi__Sparsity__info (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__intersect" c_casadi__Sparsity__intersect
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi__Sparsity__intersect
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi__Sparsity__intersect x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__intersect errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_intersect :: SparsityClass a => a -> Sparsity -> IO Sparsity
+sparsity_intersect x = casadi__Sparsity__intersect (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_column" c_casadi__Sparsity__is_column
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_column
+  :: Sparsity -> IO Bool
+casadi__Sparsity__is_column x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_column errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_column :: SparsityClass a => a -> IO Bool
+sparsity_is_column x = casadi__Sparsity__is_column (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_dense" c_casadi__Sparsity__is_dense
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_dense
+  :: Sparsity -> IO Bool
+casadi__Sparsity__is_dense x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_dense errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_dense :: SparsityClass a => a -> IO Bool
+sparsity_is_dense x = casadi__Sparsity__is_dense (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_diag" c_casadi__Sparsity__is_diag
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_diag
+  :: Sparsity -> IO Bool
+casadi__Sparsity__is_diag x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_diag errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_diag :: SparsityClass a => a -> IO Bool
+sparsity_is_diag x = casadi__Sparsity__is_diag (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_empty__0" c_casadi__Sparsity__is_empty__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_empty__0
+  :: Sparsity -> IO Bool
+casadi__Sparsity__is_empty__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_empty__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_empty__0 :: SparsityClass a => a -> IO Bool
+sparsity_is_empty__0 x = casadi__Sparsity__is_empty__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_empty__1" c_casadi__Sparsity__is_empty__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
+
+casadi__Sparsity__is_empty__1
+  :: Sparsity -> Bool -> IO Bool
+casadi__Sparsity__is_empty__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_empty__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_empty__1 :: SparsityClass a => a -> Bool -> IO Bool
+sparsity_is_empty__1 x = casadi__Sparsity__is_empty__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_equal__0" c_casadi__Sparsity__is_equal__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO CInt
+
+casadi__Sparsity__is_equal__0
+  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> IO Bool
+casadi__Sparsity__is_equal__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_equal__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_equal__0 :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO Bool
+sparsity_is_equal__0 x = casadi__Sparsity__is_equal__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_equal__1" c_casadi__Sparsity__is_equal__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_equal__1
+  :: Sparsity -> Sparsity -> IO Bool
+casadi__Sparsity__is_equal__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_equal__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_equal__1 :: SparsityClass a => a -> Sparsity -> IO Bool
+sparsity_is_equal__1 x = casadi__Sparsity__is_equal__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_reshape" c_casadi__Sparsity__is_reshape
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_reshape
+  :: Sparsity -> Sparsity -> IO Bool
+casadi__Sparsity__is_reshape x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_reshape errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_reshape :: SparsityClass a => a -> Sparsity -> IO Bool
+sparsity_is_reshape x = casadi__Sparsity__is_reshape (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_row" c_casadi__Sparsity__is_row
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_row
+  :: Sparsity -> IO Bool
+casadi__Sparsity__is_row x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_row errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_row :: SparsityClass a => a -> IO Bool
+sparsity_is_row x = casadi__Sparsity__is_row (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_scalar__0" c_casadi__Sparsity__is_scalar__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_scalar__0
+  :: Sparsity -> IO Bool
+casadi__Sparsity__is_scalar__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_scalar__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_scalar__0 :: SparsityClass a => a -> IO Bool
+sparsity_is_scalar__0 x = casadi__Sparsity__is_scalar__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_scalar__1" c_casadi__Sparsity__is_scalar__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
+
+casadi__Sparsity__is_scalar__1
+  :: Sparsity -> Bool -> IO Bool
+casadi__Sparsity__is_scalar__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_scalar__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_scalar__1 :: SparsityClass a => a -> Bool -> IO Bool
+sparsity_is_scalar__1 x = casadi__Sparsity__is_scalar__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_singular" c_casadi__Sparsity__is_singular
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_singular
+  :: Sparsity -> IO Bool
+casadi__Sparsity__is_singular x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_singular errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_singular :: SparsityClass a => a -> IO Bool
+sparsity_is_singular x = casadi__Sparsity__is_singular (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_square" c_casadi__Sparsity__is_square
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_square
+  :: Sparsity -> IO Bool
+casadi__Sparsity__is_square x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_square errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_square :: SparsityClass a => a -> IO Bool
+sparsity_is_square x = casadi__Sparsity__is_square (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_stacked" c_casadi__Sparsity__is_stacked
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> CLLong -> IO CInt
+
+casadi__Sparsity__is_stacked
+  :: Sparsity -> Sparsity -> Int -> IO Bool
+casadi__Sparsity__is_stacked x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_stacked errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_stacked :: SparsityClass a => a -> Sparsity -> Int -> IO Bool
+sparsity_is_stacked x = casadi__Sparsity__is_stacked (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_symmetric" c_casadi__Sparsity__is_symmetric
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_symmetric
+  :: Sparsity -> IO Bool
+casadi__Sparsity__is_symmetric x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_symmetric errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_symmetric :: SparsityClass a => a -> IO Bool
+sparsity_is_symmetric x = casadi__Sparsity__is_symmetric (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_transpose" c_casadi__Sparsity__is_transpose
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_transpose
+  :: Sparsity -> Sparsity -> IO Bool
+casadi__Sparsity__is_transpose x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_transpose errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_transpose :: SparsityClass a => a -> Sparsity -> IO Bool
+sparsity_is_transpose x = casadi__Sparsity__is_transpose (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_tril" c_casadi__Sparsity__is_tril
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_tril
+  :: Sparsity -> IO Bool
+casadi__Sparsity__is_tril x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_tril errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_tril :: SparsityClass a => a -> IO Bool
+sparsity_is_tril x = casadi__Sparsity__is_tril (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_triu" c_casadi__Sparsity__is_triu
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_triu
+  :: Sparsity -> IO Bool
+casadi__Sparsity__is_triu x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_triu errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_triu :: SparsityClass a => a -> IO Bool
+sparsity_is_triu x = casadi__Sparsity__is_triu (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__is_vector" c_casadi__Sparsity__is_vector
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__is_vector
+  :: Sparsity -> IO Bool
+casadi__Sparsity__is_vector x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__is_vector errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_is_vector :: SparsityClass a => a -> IO Bool
+sparsity_is_vector x = casadi__Sparsity__is_vector (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__kkt__0" c_casadi__Sparsity__kkt__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi__Sparsity__kkt__0
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi__Sparsity__kkt__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__kkt__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_kkt__0 :: Sparsity -> Sparsity -> IO Sparsity
+sparsity_kkt__0 = casadi__Sparsity__kkt__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__kkt__1" c_casadi__Sparsity__kkt__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__kkt__1
+  :: Sparsity -> Sparsity -> Bool -> IO Sparsity
+casadi__Sparsity__kkt__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__kkt__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_kkt__1 :: Sparsity -> Sparsity -> Bool -> IO Sparsity
+sparsity_kkt__1 = casadi__Sparsity__kkt__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__kkt__2" c_casadi__Sparsity__kkt__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__kkt__2
+  :: Sparsity -> Sparsity -> Bool -> Bool -> IO Sparsity
+casadi__Sparsity__kkt__2 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__kkt__2 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_kkt__2 :: Sparsity -> Sparsity -> Bool -> Bool -> IO Sparsity
+sparsity_kkt__2 = casadi__Sparsity__kkt__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__largest_first" c_casadi__Sparsity__largest_first
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CLLong))
+
+casadi__Sparsity__largest_first
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__largest_first x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__largest_first errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_largest_first :: SparsityClass a => a -> IO (Vector Int)
+sparsity_largest_first x = casadi__Sparsity__largest_first (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__ldl__0" c_casadi__Sparsity__ldl__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CLLong)) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__ldl__0
+  :: Sparsity -> IO (Sparsity, Vector Int)
+casadi__Sparsity__ldl__0 x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__ldl__0 errStrPtrP x0' o1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__ldl__0/c_casadi__Sparsity__ldl__0" else wrapReturn o1''
+
+  return (ret, o1''')
+
+
+
+-- classy wrapper
+sparsity_ldl__0 :: SparsityClass a => a -> IO (Sparsity, Vector Int)
+sparsity_ldl__0 x = casadi__Sparsity__ldl__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__ldl__1" c_casadi__Sparsity__ldl__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CLLong)) -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__ldl__1
+  :: Sparsity -> Bool -> IO (Sparsity, Vector Int)
+casadi__Sparsity__ldl__1 x0 x2 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__ldl__1 errStrPtrP x0' o1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__ldl__1/c_casadi__Sparsity__ldl__1" else wrapReturn o1''
+  marshalFree x2 x2'
+
+  return (ret, o1''')
+
+
+
+-- classy wrapper
+sparsity_ldl__1 :: SparsityClass a => a -> Bool -> IO (Sparsity, Vector Int)
+sparsity_ldl__1 x = casadi__Sparsity__ldl__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__lower" c_casadi__Sparsity__lower
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__lower
+  :: Int -> IO Sparsity
+casadi__Sparsity__lower x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__lower errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_lower :: Int -> IO Sparsity
+sparsity_lower = casadi__Sparsity__lower
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__makeDense" c_casadi__Sparsity__makeDense
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CLLong)) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__makeDense
+  :: Sparsity -> IO (Sparsity, Vector Int)
+casadi__Sparsity__makeDense x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__makeDense errStrPtrP x0' o1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__makeDense/c_casadi__Sparsity__makeDense" else wrapReturn o1''
+
+  return (ret, o1''')
+
+
+
+-- classy wrapper
+sparsity_makeDense :: SparsityClass a => a -> IO (Sparsity, Vector Int)
+sparsity_makeDense x = casadi__Sparsity__makeDense (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__nnz" c_casadi__Sparsity__nnz
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CLLong
+
+casadi__Sparsity__nnz
+  :: Sparsity -> IO Int
+casadi__Sparsity__nnz x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__nnz errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_nnz :: SparsityClass a => a -> IO Int
+sparsity_nnz x = casadi__Sparsity__nnz (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__nnz_diag" c_casadi__Sparsity__nnz_diag
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CLLong
+
+casadi__Sparsity__nnz_diag
+  :: Sparsity -> IO Int
+casadi__Sparsity__nnz_diag x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__nnz_diag errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_nnz_diag :: SparsityClass a => a -> IO Int
+sparsity_nnz_diag x = casadi__Sparsity__nnz_diag (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__nnz_lower__0" c_casadi__Sparsity__nnz_lower__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CLLong
+
+casadi__Sparsity__nnz_lower__0
+  :: Sparsity -> IO Int
+casadi__Sparsity__nnz_lower__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__nnz_lower__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_nnz_lower__0 :: SparsityClass a => a -> IO Int
+sparsity_nnz_lower__0 x = casadi__Sparsity__nnz_lower__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__nnz_lower__1" c_casadi__Sparsity__nnz_lower__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CLLong
+
+casadi__Sparsity__nnz_lower__1
+  :: Sparsity -> Bool -> IO Int
+casadi__Sparsity__nnz_lower__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__nnz_lower__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_nnz_lower__1 :: SparsityClass a => a -> Bool -> IO Int
+sparsity_nnz_lower__1 x = casadi__Sparsity__nnz_lower__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__nnz_upper__0" c_casadi__Sparsity__nnz_upper__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CLLong
+
+casadi__Sparsity__nnz_upper__0
+  :: Sparsity -> IO Int
+casadi__Sparsity__nnz_upper__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__nnz_upper__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_nnz_upper__0 :: SparsityClass a => a -> IO Int
+sparsity_nnz_upper__0 x = casadi__Sparsity__nnz_upper__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__nnz_upper__1" c_casadi__Sparsity__nnz_upper__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CLLong
+
+casadi__Sparsity__nnz_upper__1
+  :: Sparsity -> Bool -> IO Int
+casadi__Sparsity__nnz_upper__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__nnz_upper__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_nnz_upper__1 :: SparsityClass a => a -> Bool -> IO Int
+sparsity_nnz_upper__1 x = casadi__Sparsity__nnz_upper__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__nonzeros__0" c_casadi__Sparsity__nonzeros__0
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__nonzeros__0
+  :: Int -> Int -> Vector Int -> IO Sparsity
+casadi__Sparsity__nonzeros__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__nonzeros__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_nonzeros__0 :: Int -> Int -> Vector Int -> IO Sparsity
+sparsity_nonzeros__0 = casadi__Sparsity__nonzeros__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__nonzeros__1" c_casadi__Sparsity__nonzeros__1
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__nonzeros__1
+  :: Int -> Int -> Vector Int -> Bool -> IO Sparsity
+casadi__Sparsity__nonzeros__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__nonzeros__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_nonzeros__1 :: Int -> Int -> Vector Int -> Bool -> IO Sparsity
+sparsity_nonzeros__1 = casadi__Sparsity__nonzeros__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__numel" c_casadi__Sparsity__numel
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CLLong
+
+casadi__Sparsity__numel
+  :: Sparsity -> IO Int
+casadi__Sparsity__numel x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__numel errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_numel :: SparsityClass a => a -> IO Int
+sparsity_numel x = casadi__Sparsity__numel (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__operator__nequals" c_casadi__Sparsity__operator__nequals
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__operator__nequals
+  :: Sparsity -> Sparsity -> IO Bool
+casadi__Sparsity__operator__nequals x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__operator__nequals errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_operator__nequals :: SparsityClass a => a -> Sparsity -> IO Bool
+sparsity_operator__nequals x = casadi__Sparsity__operator__nequals (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__operator__mul" c_casadi__Sparsity__operator__mul
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi__Sparsity__operator__mul
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi__Sparsity__operator__mul x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__operator__mul errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_operator__mul :: SparsityClass a => a -> Sparsity -> IO Sparsity
+sparsity_operator__mul x = casadi__Sparsity__operator__mul (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__operator__plus" c_casadi__Sparsity__operator__plus
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi__Sparsity__operator__plus
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi__Sparsity__operator__plus x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__operator__plus errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_operator__plus :: SparsityClass a => a -> Sparsity -> IO Sparsity
+sparsity_operator__plus x = casadi__Sparsity__operator__plus (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__operator__equals" c_casadi__Sparsity__operator__equals
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__operator__equals
+  :: Sparsity -> Sparsity -> IO Bool
+casadi__Sparsity__operator__equals x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__operator__equals errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_operator__equals :: SparsityClass a => a -> Sparsity -> IO Bool
+sparsity_operator__equals x = casadi__Sparsity__operator__equals (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__pattern_inverse" c_casadi__Sparsity__pattern_inverse
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi__Sparsity__pattern_inverse
+  :: Sparsity -> IO Sparsity
+casadi__Sparsity__pattern_inverse x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__pattern_inverse errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_pattern_inverse :: SparsityClass a => a -> IO Sparsity
+sparsity_pattern_inverse x = casadi__Sparsity__pattern_inverse (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__pmult__0" c_casadi__Sparsity__pmult__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__pmult__0
+  :: Sparsity -> Vector Int -> IO Sparsity
+casadi__Sparsity__pmult__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__pmult__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_pmult__0 :: SparsityClass a => a -> Vector Int -> IO Sparsity
+sparsity_pmult__0 x = casadi__Sparsity__pmult__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__pmult__1" c_casadi__Sparsity__pmult__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__pmult__1
+  :: Sparsity -> Vector Int -> Bool -> IO Sparsity
+casadi__Sparsity__pmult__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__pmult__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_pmult__1 :: SparsityClass a => a -> Vector Int -> Bool -> IO Sparsity
+sparsity_pmult__1 x = casadi__Sparsity__pmult__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__pmult__2" c_casadi__Sparsity__pmult__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> CInt -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__pmult__2
+  :: Sparsity -> Vector Int -> Bool -> Bool -> IO Sparsity
+casadi__Sparsity__pmult__2 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__pmult__2 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_pmult__2 :: SparsityClass a => a -> Vector Int -> Bool -> Bool -> IO Sparsity
+sparsity_pmult__2 x = casadi__Sparsity__pmult__2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__pmult__3" c_casadi__Sparsity__pmult__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> CInt -> CInt -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__pmult__3
+  :: Sparsity -> Vector Int -> Bool -> Bool -> Bool -> IO Sparsity
+casadi__Sparsity__pmult__3 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__pmult__3 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_pmult__3 :: SparsityClass a => a -> Vector Int -> Bool -> Bool -> Bool -> IO Sparsity
+sparsity_pmult__3 x = casadi__Sparsity__pmult__3 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__postfix_dim" c_casadi__Sparsity__postfix_dim
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr StdString)
+
+casadi__Sparsity__postfix_dim
+  :: Sparsity -> IO String
+casadi__Sparsity__postfix_dim x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__postfix_dim errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_postfix_dim :: SparsityClass a => a -> IO String
+sparsity_postfix_dim x = casadi__Sparsity__postfix_dim (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__qr_sparse__0" c_casadi__Sparsity__qr_sparse__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr Sparsity') -> Ptr (Ptr Sparsity') -> Ptr (Ptr (StdVec CLLong)) -> Ptr (Ptr (StdVec CLLong)) -> IO ()
+
+casadi__Sparsity__qr_sparse__0
+  :: Sparsity -> IO (Sparsity, Sparsity, Vector Int, Vector Int)
+casadi__Sparsity__qr_sparse__0 x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  o2' <- new nullPtr
+  o3' <- new nullPtr
+  o4' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__qr_sparse__0 errStrPtrP x0' o1' o2' o3' o4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__qr_sparse__0/c_casadi__Sparsity__qr_sparse__0" else wrapReturn o1''
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Sparsity__qr_sparse__0/c_casadi__Sparsity__qr_sparse__0" else wrapReturn o2''
+  o3'' <- peek o3'
+  free o3'
+  o3''' <- if o3'' == nullPtr then error "swig output o3' was not set in casadi__Sparsity__qr_sparse__0/c_casadi__Sparsity__qr_sparse__0" else wrapReturn o3''
+  o4'' <- peek o4'
+  free o4'
+  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Sparsity__qr_sparse__0/c_casadi__Sparsity__qr_sparse__0" else wrapReturn o4''
+
+  return (o1''', o2''', o3''', o4''')
+
+
+
+-- classy wrapper
+sparsity_qr_sparse__0 :: SparsityClass a => a -> IO (Sparsity, Sparsity, Vector Int, Vector Int)
+sparsity_qr_sparse__0 x = casadi__Sparsity__qr_sparse__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__qr_sparse__1" c_casadi__Sparsity__qr_sparse__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr Sparsity') -> Ptr (Ptr Sparsity') -> Ptr (Ptr (StdVec CLLong)) -> Ptr (Ptr (StdVec CLLong)) -> CInt -> IO ()
+
+casadi__Sparsity__qr_sparse__1
+  :: Sparsity -> Bool -> IO (Sparsity, Sparsity, Vector Int, Vector Int)
+casadi__Sparsity__qr_sparse__1 x0 x5 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  o2' <- new nullPtr
+  o3' <- new nullPtr
+  o4' <- new nullPtr
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__qr_sparse__1 errStrPtrP x0' o1' o2' o3' o4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__qr_sparse__1/c_casadi__Sparsity__qr_sparse__1" else wrapReturn o1''
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Sparsity__qr_sparse__1/c_casadi__Sparsity__qr_sparse__1" else wrapReturn o2''
+  o3'' <- peek o3'
+  free o3'
+  o3''' <- if o3'' == nullPtr then error "swig output o3' was not set in casadi__Sparsity__qr_sparse__1/c_casadi__Sparsity__qr_sparse__1" else wrapReturn o3''
+  o4'' <- peek o4'
+  free o4'
+  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Sparsity__qr_sparse__1/c_casadi__Sparsity__qr_sparse__1" else wrapReturn o4''
+  marshalFree x5 x5'
+
+  return (o1''', o2''', o3''', o4''')
+
+
+
+-- classy wrapper
+sparsity_qr_sparse__1 :: SparsityClass a => a -> Bool -> IO (Sparsity, Sparsity, Vector Int, Vector Int)
+sparsity_qr_sparse__1 x = casadi__Sparsity__qr_sparse__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__removeDuplicates" c_casadi__Sparsity__removeDuplicates
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> IO ()
+
+casadi__Sparsity__removeDuplicates
+  :: Sparsity -> Vector Int -> IO ()
+casadi__Sparsity__removeDuplicates x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__removeDuplicates errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_removeDuplicates :: SparsityClass a => a -> Vector Int -> IO ()
+sparsity_removeDuplicates x = casadi__Sparsity__removeDuplicates (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__repr_el" c_casadi__Sparsity__repr_el
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> IO (Ptr StdString)
+
+casadi__Sparsity__repr_el
+  :: Sparsity -> Int -> IO String
+casadi__Sparsity__repr_el x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__repr_el errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_repr_el :: SparsityClass a => a -> Int -> IO String
+sparsity_repr_el x = casadi__Sparsity__repr_el (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__resize" c_casadi__Sparsity__resize
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> CLLong -> IO ()
+
+casadi__Sparsity__resize
+  :: Sparsity -> Int -> Int -> IO ()
+casadi__Sparsity__resize x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__resize errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_resize :: SparsityClass a => a -> Int -> Int -> IO ()
+sparsity_resize x = casadi__Sparsity__resize (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__row" c_casadi__Sparsity__row
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> IO CLLong
+
+casadi__Sparsity__row
+  :: Sparsity -> Int -> IO Int
+casadi__Sparsity__row x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__row errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_row :: SparsityClass a => a -> Int -> IO Int
+sparsity_row x = casadi__Sparsity__row (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__rowcol" c_casadi__Sparsity__rowcol
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CLLong -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__rowcol
+  :: Vector Int -> Vector Int -> Int -> Int -> IO Sparsity
+casadi__Sparsity__rowcol x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__rowcol errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_rowcol :: Vector Int -> Vector Int -> Int -> Int -> IO Sparsity
+sparsity_rowcol = casadi__Sparsity__rowcol
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__rows" c_casadi__Sparsity__rows
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CLLong
+
+casadi__Sparsity__rows
+  :: Sparsity -> IO Int
+casadi__Sparsity__rows x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__rows errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_rows :: SparsityClass a => a -> IO Int
+sparsity_rows x = casadi__Sparsity__rows (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__rowsSequential__0" c_casadi__Sparsity__rowsSequential__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+
+casadi__Sparsity__rowsSequential__0
+  :: Sparsity -> IO Bool
+casadi__Sparsity__rowsSequential__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__rowsSequential__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_rowsSequential__0 :: SparsityClass a => a -> IO Bool
+sparsity_rowsSequential__0 x = casadi__Sparsity__rowsSequential__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__rowsSequential__1" c_casadi__Sparsity__rowsSequential__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
+
+casadi__Sparsity__rowsSequential__1
+  :: Sparsity -> Bool -> IO Bool
+casadi__Sparsity__rowsSequential__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__rowsSequential__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_rowsSequential__1 :: SparsityClass a => a -> Bool -> IO Bool
+sparsity_rowsSequential__1 x = casadi__Sparsity__rowsSequential__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__scalar__0" c_casadi__Sparsity__scalar__0
+  :: Ptr (Ptr StdString) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__scalar__0
+  :: IO Sparsity
+casadi__Sparsity__scalar__0  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__scalar__0 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_scalar__0 :: IO Sparsity
+sparsity_scalar__0 = casadi__Sparsity__scalar__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__scalar__1" c_casadi__Sparsity__scalar__1
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__scalar__1
+  :: Bool -> IO Sparsity
+casadi__Sparsity__scalar__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__scalar__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_scalar__1 :: Bool -> IO Sparsity
+sparsity_scalar__1 = casadi__Sparsity__scalar__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__scc" c_casadi__Sparsity__scc
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CLLong)) -> Ptr (Ptr (StdVec CLLong)) -> IO CLLong
+
+casadi__Sparsity__scc
+  :: Sparsity -> IO (Int, Vector Int, Vector Int)
+casadi__Sparsity__scc x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__scc errStrPtrP x0' o1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__scc/c_casadi__Sparsity__scc" else wrapReturn o1''
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in casadi__Sparsity__scc/c_casadi__Sparsity__scc" else wrapReturn o2''
+
+  return (ret, o1''', o2''')
+
+
+
+-- classy wrapper
+sparsity_scc :: SparsityClass a => a -> IO (Int, Vector Int, Vector Int)
+sparsity_scc x = casadi__Sparsity__scc (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__serialize" c_casadi__Sparsity__serialize
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr StdString)
+
+casadi__Sparsity__serialize
+  :: Sparsity -> IO String
+casadi__Sparsity__serialize x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__serialize errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_serialize :: SparsityClass a => a -> IO String
+sparsity_serialize x = casadi__Sparsity__serialize (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__size__0" c_casadi__Sparsity__size__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> IO CLLong
+
+casadi__Sparsity__size__0
+  :: Sparsity -> Int -> IO Int
+casadi__Sparsity__size__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__size__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_size__0 :: SparsityClass a => a -> Int -> IO Int
+sparsity_size__0 x = casadi__Sparsity__size__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__size__1" c_casadi__Sparsity__size__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdPair CLLong CLLong))
+
+casadi__Sparsity__size__1
+  :: Sparsity -> IO (Int, Int)
+casadi__Sparsity__size__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__size__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_size__1 :: SparsityClass a => a -> IO (Int, Int)
+sparsity_size__1 x = casadi__Sparsity__size__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__size1" c_casadi__Sparsity__size1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CLLong
+
+casadi__Sparsity__size1
+  :: Sparsity -> IO Int
+casadi__Sparsity__size1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__size1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_size1 :: SparsityClass a => a -> IO Int
+sparsity_size1 x = casadi__Sparsity__size1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__size2" c_casadi__Sparsity__size2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CLLong
+
+casadi__Sparsity__size2
+  :: Sparsity -> IO Int
+casadi__Sparsity__size2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__size2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_size2 :: SparsityClass a => a -> IO Int
+sparsity_size2 x = casadi__Sparsity__size2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__spy" c_casadi__Sparsity__spy
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO ()
+
+casadi__Sparsity__spy
+  :: Sparsity -> IO ()
+casadi__Sparsity__spy x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__spy errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_spy :: SparsityClass a => a -> IO ()
+sparsity_spy x = casadi__Sparsity__spy (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__spy_matlab" c_casadi__Sparsity__spy_matlab
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr StdString -> IO ()
+
+casadi__Sparsity__spy_matlab
+  :: Sparsity -> String -> IO ()
+casadi__Sparsity__spy_matlab x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__spy_matlab errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_spy_matlab :: SparsityClass a => a -> String -> IO ()
+sparsity_spy_matlab x = casadi__Sparsity__spy_matlab (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__star_coloring__0" c_casadi__Sparsity__star_coloring__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi__Sparsity__star_coloring__0
+  :: Sparsity -> IO Sparsity
+casadi__Sparsity__star_coloring__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__star_coloring__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_star_coloring__0 :: SparsityClass a => a -> IO Sparsity
+sparsity_star_coloring__0 x = casadi__Sparsity__star_coloring__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__star_coloring__1" c_casadi__Sparsity__star_coloring__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__star_coloring__1
+  :: Sparsity -> Int -> IO Sparsity
+casadi__Sparsity__star_coloring__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__star_coloring__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_star_coloring__1 :: SparsityClass a => a -> Int -> IO Sparsity
+sparsity_star_coloring__1 x = casadi__Sparsity__star_coloring__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__star_coloring__2" c_casadi__Sparsity__star_coloring__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__star_coloring__2
+  :: Sparsity -> Int -> Int -> IO Sparsity
+casadi__Sparsity__star_coloring__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__star_coloring__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_star_coloring__2 :: SparsityClass a => a -> Int -> Int -> IO Sparsity
+sparsity_star_coloring__2 x = casadi__Sparsity__star_coloring__2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__star_coloring2__0" c_casadi__Sparsity__star_coloring2__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi__Sparsity__star_coloring2__0
+  :: Sparsity -> IO Sparsity
+casadi__Sparsity__star_coloring2__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__star_coloring2__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_star_coloring2__0 :: SparsityClass a => a -> IO Sparsity
+sparsity_star_coloring2__0 x = casadi__Sparsity__star_coloring2__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__star_coloring2__1" c_casadi__Sparsity__star_coloring2__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__star_coloring2__1
+  :: Sparsity -> Int -> IO Sparsity
+casadi__Sparsity__star_coloring2__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__star_coloring2__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_star_coloring2__1 :: SparsityClass a => a -> Int -> IO Sparsity
+sparsity_star_coloring2__1 x = casadi__Sparsity__star_coloring2__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__star_coloring2__2" c_casadi__Sparsity__star_coloring2__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__star_coloring2__2
+  :: Sparsity -> Int -> Int -> IO Sparsity
+casadi__Sparsity__star_coloring2__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__star_coloring2__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_star_coloring2__2 :: SparsityClass a => a -> Int -> Int -> IO Sparsity
+sparsity_star_coloring2__2 x = casadi__Sparsity__star_coloring2__2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sub__0" c_casadi__Sparsity__sub__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CLLong)) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__sub__0
+  :: Sparsity -> Vector Int -> Sparsity -> IO (Sparsity, Vector Int)
+casadi__Sparsity__sub__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  o3' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__sub__0 errStrPtrP x0' x1' x2' o3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  o3'' <- peek o3'
+  free o3'
+  o3''' <- if o3'' == nullPtr then error "swig output o3' was not set in casadi__Sparsity__sub__0/c_casadi__Sparsity__sub__0" else wrapReturn o3''
+
+  return (ret, o3''')
+
+
+
+-- classy wrapper
+sparsity_sub__0 :: SparsityClass a => a -> Vector Int -> Sparsity -> IO (Sparsity, Vector Int)
+sparsity_sub__0 x = casadi__Sparsity__sub__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sub__1" c_casadi__Sparsity__sub__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CLLong)) -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__sub__1
+  :: Sparsity -> Vector Int -> Sparsity -> Bool -> IO (Sparsity, Vector Int)
+casadi__Sparsity__sub__1 x0 x1 x2 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  o3' <- new nullPtr
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__sub__1 errStrPtrP x0' x1' x2' o3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  o3'' <- peek o3'
+  free o3'
+  o3''' <- if o3'' == nullPtr then error "swig output o3' was not set in casadi__Sparsity__sub__1/c_casadi__Sparsity__sub__1" else wrapReturn o3''
+  marshalFree x4 x4'
+
+  return (ret, o3''')
+
+
+
+-- classy wrapper
+sparsity_sub__1 :: SparsityClass a => a -> Vector Int -> Sparsity -> Bool -> IO (Sparsity, Vector Int)
+sparsity_sub__1 x = casadi__Sparsity__sub__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sub__2" c_casadi__Sparsity__sub__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (Ptr (StdVec CLLong)) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__sub__2
+  :: Sparsity -> Vector Int -> Vector Int -> IO (Sparsity, Vector Int)
+casadi__Sparsity__sub__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  o3' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__sub__2 errStrPtrP x0' x1' x2' o3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  o3'' <- peek o3'
+  free o3'
+  o3''' <- if o3'' == nullPtr then error "swig output o3' was not set in casadi__Sparsity__sub__2/c_casadi__Sparsity__sub__2" else wrapReturn o3''
+
+  return (ret, o3''')
+
+
+
+-- classy wrapper
+sparsity_sub__2 :: SparsityClass a => a -> Vector Int -> Vector Int -> IO (Sparsity, Vector Int)
+sparsity_sub__2 x = casadi__Sparsity__sub__2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sub__3" c_casadi__Sparsity__sub__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (Ptr (StdVec CLLong)) -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__sub__3
+  :: Sparsity -> Vector Int -> Vector Int -> Bool -> IO (Sparsity, Vector Int)
+casadi__Sparsity__sub__3 x0 x1 x2 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  o3' <- new nullPtr
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__sub__3 errStrPtrP x0' x1' x2' o3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  o3'' <- peek o3'
+  free o3'
+  o3''' <- if o3'' == nullPtr then error "swig output o3' was not set in casadi__Sparsity__sub__3/c_casadi__Sparsity__sub__3" else wrapReturn o3''
+  marshalFree x4 x4'
+
+  return (ret, o3''')
+
+
+
+-- classy wrapper
+sparsity_sub__3 :: SparsityClass a => a -> Vector Int -> Vector Int -> Bool -> IO (Sparsity, Vector Int)
+sparsity_sub__3 x = casadi__Sparsity__sub__3 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__to_file__0" c_casadi__Sparsity__to_file__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr StdString -> IO ()
+
+casadi__Sparsity__to_file__0
+  :: Sparsity -> String -> IO ()
+casadi__Sparsity__to_file__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__to_file__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_to_file__0 :: SparsityClass a => a -> String -> IO ()
+sparsity_to_file__0 x = casadi__Sparsity__to_file__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__to_file__1" c_casadi__Sparsity__to_file__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr StdString -> Ptr StdString -> IO ()
+
+casadi__Sparsity__to_file__1
+  :: Sparsity -> String -> String -> IO ()
+casadi__Sparsity__to_file__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__to_file__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+-- classy wrapper
+sparsity_to_file__1 :: SparsityClass a => a -> String -> String -> IO ()
+sparsity_to_file__1 x = casadi__Sparsity__to_file__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__transpose__0" c_casadi__Sparsity__transpose__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CLLong)) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__transpose__0
+  :: Sparsity -> IO (Sparsity, Vector Int)
+casadi__Sparsity__transpose__0 x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__transpose__0 errStrPtrP x0' o1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__transpose__0/c_casadi__Sparsity__transpose__0" else wrapReturn o1''
+
+  return (ret, o1''')
+
+
+
+-- classy wrapper
+sparsity_transpose__0 :: SparsityClass a => a -> IO (Sparsity, Vector Int)
+sparsity_transpose__0 x = casadi__Sparsity__transpose__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__transpose__1" c_casadi__Sparsity__transpose__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CLLong)) -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__transpose__1
+  :: Sparsity -> Bool -> IO (Sparsity, Vector Int)
+casadi__Sparsity__transpose__1 x0 x2 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__transpose__1 errStrPtrP x0' o1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in casadi__Sparsity__transpose__1/c_casadi__Sparsity__transpose__1" else wrapReturn o1''
+  marshalFree x2 x2'
+
+  return (ret, o1''')
+
+
+
+-- classy wrapper
+sparsity_transpose__1 :: SparsityClass a => a -> Bool -> IO (Sparsity, Vector Int)
+sparsity_transpose__1 x = casadi__Sparsity__transpose__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__triplet__0" c_casadi__Sparsity__triplet__0
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr Sparsity')
+
+casadi__Sparsity__triplet__0
+  :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
+casadi__Sparsity__triplet__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__triplet__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_triplet__0 :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
+sparsity_triplet__0 = casadi__Sparsity__triplet__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__triplet__1" c_casadi__Sparsity__triplet__1
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (Ptr (StdVec CLLong)) -> CInt -> IO (Ptr Sparsity')
+
+casadi__Sparsity__triplet__1
+  :: Int -> Int -> Vector Int -> Vector Int -> Bool -> IO (Sparsity, Vector Int)
+casadi__Sparsity__triplet__1 x0 x1 x2 x3 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  o4' <- new nullPtr
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__triplet__1 errStrPtrP x0' x1' x2' x3' o4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  o4'' <- peek o4'
+  free o4'
+  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Sparsity__triplet__1/c_casadi__Sparsity__triplet__1" else wrapReturn o4''
+  marshalFree x5 x5'
+
+  return (ret, o4''')
+
+
+
+-- classy wrapper
+sparsity_triplet__1 :: Int -> Int -> Vector Int -> Vector Int -> Bool -> IO (Sparsity, Vector Int)
+sparsity_triplet__1 = casadi__Sparsity__triplet__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__type_name" c_casadi__Sparsity__type_name
+  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
+
+casadi__Sparsity__type_name
+  :: IO String
+casadi__Sparsity__type_name  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__type_name errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_type_name :: IO String
+sparsity_type_name = casadi__Sparsity__type_name
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__uni_coloring__0" c_casadi__Sparsity__uni_coloring__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi__Sparsity__uni_coloring__0
+  :: Sparsity -> IO Sparsity
+casadi__Sparsity__uni_coloring__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__uni_coloring__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_uni_coloring__0 :: SparsityClass a => a -> IO Sparsity
+sparsity_uni_coloring__0 x = casadi__Sparsity__uni_coloring__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__uni_coloring__1" c_casadi__Sparsity__uni_coloring__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi__Sparsity__uni_coloring__1
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi__Sparsity__uni_coloring__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__uni_coloring__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_uni_coloring__1 :: SparsityClass a => a -> Sparsity -> IO Sparsity
+sparsity_uni_coloring__1 x = casadi__Sparsity__uni_coloring__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__uni_coloring__2" c_casadi__Sparsity__uni_coloring__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__uni_coloring__2
+  :: Sparsity -> Sparsity -> Int -> IO Sparsity
+casadi__Sparsity__uni_coloring__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__uni_coloring__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_uni_coloring__2 :: SparsityClass a => a -> Sparsity -> Int -> IO Sparsity
+sparsity_uni_coloring__2 x = casadi__Sparsity__uni_coloring__2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__unit" c_casadi__Sparsity__unit
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> IO (Ptr Sparsity')
+
+casadi__Sparsity__unit
+  :: Int -> Int -> IO Sparsity
+casadi__Sparsity__unit x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__unit errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_unit :: Int -> Int -> IO Sparsity
+sparsity_unit = casadi__Sparsity__unit
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__unite" c_casadi__Sparsity__unite
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi__Sparsity__unite
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi__Sparsity__unite x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Sparsity__unite errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+sparsity_unite :: SparsityClass a => a -> Sparsity -> IO Sparsity
+sparsity_unite x = casadi__Sparsity__unite (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__upper" c_casadi__Sparsity__upper
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr Sparsity')
 
 casadi__Sparsity__upper
   :: Int -> IO Sparsity
diff --git a/Casadi/Core/Classes/Variable.hs b/Casadi/Core/Classes/Variable.hs
--- a/Casadi/Core/Classes/Variable.hs
+++ b/Casadi/Core/Classes/Variable.hs
@@ -12,9 +12,10 @@
          variable__0,
          variable__1,
          variable__2,
-         variable_getDescription,
-         variable_getRepresentation,
+         variable_get_str__0,
+         variable_get_str__1,
          variable_name,
+         variable_type_name,
        ) where
 
 
@@ -119,16 +120,16 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Variable__name" c_casadi__Variable__name
+foreign import ccall unsafe "casadi__Variable__get_str__0" c_casadi__Variable__get_str__0
   :: Ptr (Ptr StdString) -> Ptr Variable' -> IO (Ptr StdString)
 
-casadi__Variable__name
+casadi__Variable__get_str__0
   :: Variable -> IO String
-casadi__Variable__name x0 = do
+casadi__Variable__get_str__0 x0 = do
   x0' <- marshal x0
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Variable__name errStrPtrP x0'
+  ret0 <- c_casadi__Variable__get_str__0 errStrPtrP x0'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -141,21 +142,50 @@
 
 
 -- classy wrapper
-variable_name :: VariableClass a => a -> IO String
-variable_name x = casadi__Variable__name (castVariable x)
+variable_get_str__0 :: VariableClass a => a -> IO String
+variable_get_str__0 x = casadi__Variable__get_str__0 (castVariable x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Variable__getRepresentation" c_casadi__Variable__getRepresentation
+foreign import ccall unsafe "casadi__Variable__get_str__1" c_casadi__Variable__get_str__1
+  :: Ptr (Ptr StdString) -> Ptr Variable' -> CInt -> IO (Ptr StdString)
+
+casadi__Variable__get_str__1
+  :: Variable -> Bool -> IO String
+casadi__Variable__get_str__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Variable__get_str__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+variable_get_str__1 :: VariableClass a => a -> Bool -> IO String
+variable_get_str__1 x = casadi__Variable__get_str__1 (castVariable x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Variable__name" c_casadi__Variable__name
   :: Ptr (Ptr StdString) -> Ptr Variable' -> IO (Ptr StdString)
 
-casadi__Variable__getRepresentation
+casadi__Variable__name
   :: Variable -> IO String
-casadi__Variable__getRepresentation x0 = do
+casadi__Variable__name x0 = do
   x0' <- marshal x0
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Variable__getRepresentation errStrPtrP x0'
+  ret0 <- c_casadi__Variable__name errStrPtrP x0'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -168,21 +198,21 @@
 
 
 -- classy wrapper
-variable_getRepresentation :: VariableClass a => a -> IO String
-variable_getRepresentation x = casadi__Variable__getRepresentation (castVariable x)
+variable_name :: VariableClass a => a -> IO String
+variable_name x = casadi__Variable__name (castVariable x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Variable__getDescription" c_casadi__Variable__getDescription
+foreign import ccall unsafe "casadi__Variable__type_name" c_casadi__Variable__type_name
   :: Ptr (Ptr StdString) -> Ptr Variable' -> IO (Ptr StdString)
 
-casadi__Variable__getDescription
+casadi__Variable__type_name
   :: Variable -> IO String
-casadi__Variable__getDescription x0 = do
+casadi__Variable__type_name x0 = do
   x0' <- marshal x0
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Variable__getDescription errStrPtrP x0'
+  ret0 <- c_casadi__Variable__type_name errStrPtrP x0'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -195,6 +225,6 @@
 
 
 -- classy wrapper
-variable_getDescription :: VariableClass a => a -> IO String
-variable_getDescription x = casadi__Variable__getDescription (castVariable x)
+variable_type_name :: VariableClass a => a -> IO String
+variable_type_name x = casadi__Variable__type_name (castVariable x)
 
diff --git a/Casadi/Core/Classes/WeakRef.hs b/Casadi/Core/Classes/WeakRef.hs
new file mode 100644
--- /dev/null
+++ b/Casadi/Core/Classes/WeakRef.hs
@@ -0,0 +1,170 @@
+{-# OPTIONS_GHC -Wall #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# Language ForeignFunctionInterface #-}
+{-# Language FlexibleInstances #-}
+{-# Language MultiParamTypeClasses #-}
+
+module Casadi.Core.Classes.WeakRef
+       (
+         WeakRef,
+         WeakRefClass(..),
+         weakRef__0,
+         weakRef__1,
+         weakRef__2,
+         weakRef_alive,
+         weakRef_shared,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString, StdMap, StdPair ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), marshal, marshalFree )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__WeakRef__CONSTRUCTOR__0" c_casadi__WeakRef__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> Ptr SharedObject' -> IO (Ptr WeakRef')
+
+casadi__WeakRef__CONSTRUCTOR__0
+  :: SharedObject -> IO WeakRef
+casadi__WeakRef__CONSTRUCTOR__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__WeakRef__CONSTRUCTOR__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+weakRef__0 :: SharedObject -> IO WeakRef
+weakRef__0 = casadi__WeakRef__CONSTRUCTOR__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__WeakRef__CONSTRUCTOR__1" c_casadi__WeakRef__CONSTRUCTOR__1
+  :: Ptr (Ptr StdString) -> IO (Ptr WeakRef')
+
+casadi__WeakRef__CONSTRUCTOR__1
+  :: IO WeakRef
+casadi__WeakRef__CONSTRUCTOR__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__WeakRef__CONSTRUCTOR__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+weakRef__1 :: IO WeakRef
+weakRef__1 = casadi__WeakRef__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__WeakRef__CONSTRUCTOR__2" c_casadi__WeakRef__CONSTRUCTOR__2
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr WeakRef')
+
+casadi__WeakRef__CONSTRUCTOR__2
+  :: Int -> IO WeakRef
+casadi__WeakRef__CONSTRUCTOR__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__WeakRef__CONSTRUCTOR__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+weakRef__2 :: Int -> IO WeakRef
+weakRef__2 = casadi__WeakRef__CONSTRUCTOR__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__WeakRef__alive" c_casadi__WeakRef__alive
+  :: Ptr (Ptr StdString) -> Ptr WeakRef' -> IO CInt
+
+casadi__WeakRef__alive
+  :: WeakRef -> IO Bool
+casadi__WeakRef__alive x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__WeakRef__alive errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+weakRef_alive :: WeakRefClass a => a -> IO Bool
+weakRef_alive x = casadi__WeakRef__alive (castWeakRef x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__WeakRef__shared" c_casadi__WeakRef__shared
+  :: Ptr (Ptr StdString) -> Ptr WeakRef' -> IO (Ptr SharedObject')
+
+casadi__WeakRef__shared
+  :: WeakRef -> IO SharedObject
+casadi__WeakRef__shared x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__WeakRef__shared errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+weakRef_shared :: WeakRefClass a => a -> IO SharedObject
+weakRef_shared x = casadi__WeakRef__shared (castWeakRef x)
+
diff --git a/Casadi/Core/Classes/XmlFile.hs b/Casadi/Core/Classes/XmlFile.hs
--- a/Casadi/Core/Classes/XmlFile.hs
+++ b/Casadi/Core/Classes/XmlFile.hs
@@ -13,6 +13,7 @@
          xmlFile__1,
          xmlFile_doc,
          xmlFile_load_plugin,
+         xmlFile_type_name,
        ) where
 
 
@@ -139,4 +140,31 @@
 -- classy wrapper
 xmlFile_load_plugin :: String -> IO ()
 xmlFile_load_plugin = casadi__XmlFile__load_plugin
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__XmlFile__type_name" c_casadi__XmlFile__type_name
+  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
+
+casadi__XmlFile__type_name
+  :: IO String
+casadi__XmlFile__type_name  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__XmlFile__type_name errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+xmlFile_type_name :: IO String
+xmlFile_type_name = casadi__XmlFile__type_name
 
diff --git a/Casadi/Core/Data.hs b/Casadi/Core/Data.hs
--- a/Casadi/Core/Data.hs
+++ b/Casadi/Core/Data.hs
@@ -28,6 +28,9 @@
 instance FunctionClass Callback where
   castFunction (Callback x) = Function (castForeignPtr x)
 
+instance PrintableCommonClass Callback where
+  castPrintableCommon (Callback x) = PrintableCommon (castForeignPtr x)
+
 instance SharedObjectClass Callback where
   castSharedObject (Callback x) = SharedObject (castForeignPtr x)
 
@@ -112,6 +115,9 @@
 instance MatrixCommonClass DM where
   castMatrixCommon (DM x) = MatrixCommon (castForeignPtr x)
 
+instance PrintableCommonClass DM where
+  castPrintableCommon (DM x) = PrintableCommon (castForeignPtr x)
+
 instance SparsityInterfaceCommonClass DM where
   castSparsityInterfaceCommon (DM x) = SparsityInterfaceCommon (castForeignPtr x)
 
@@ -139,7 +145,10 @@
   castDaeBuilder = id
 
 -- baseclass instances
+instance PrintableCommonClass DaeBuilder where
+  castPrintableCommon (DaeBuilder x) = PrintableCommon (castForeignPtr x)
 
+
 -- helper instances
 instance Marshal DaeBuilder (Ptr DaeBuilder') where
   marshal (DaeBuilder x) = return (unsafeForeignPtrToPtr x)
@@ -163,6 +172,9 @@
   castFunction = id
 
 -- baseclass instances
+instance PrintableCommonClass Function where
+  castPrintableCommon (Function x) = PrintableCommon (castForeignPtr x)
+
 instance SharedObjectClass Function where
   castSharedObject (Function x) = SharedObject (castForeignPtr x)
 
@@ -238,6 +250,9 @@
   castGenericType = id
 
 -- baseclass instances
+instance PrintableCommonClass GenericType where
+  castPrintableCommon (GenericType x) = PrintableCommon (castForeignPtr x)
+
 instance SharedObjectClass GenericType where
   castSharedObject (GenericType x) = SharedObject (castForeignPtr x)
 
@@ -298,6 +313,9 @@
 instance MatrixCommonClass IM where
   castMatrixCommon (IM x) = MatrixCommon (castForeignPtr x)
 
+instance PrintableCommonClass IM where
+  castPrintableCommon (IM x) = PrintableCommon (castForeignPtr x)
+
 instance SparsityInterfaceCommonClass IM where
   castSparsityInterfaceCommon (IM x) = SparsityInterfaceCommon (castForeignPtr x)
 
@@ -325,6 +343,9 @@
   castImporter = id
 
 -- baseclass instances
+instance PrintableCommonClass Importer where
+  castPrintableCommon (Importer x) = PrintableCommon (castForeignPtr x)
+
 instance SharedObjectClass Importer where
   castSharedObject (Importer x) = SharedObject (castForeignPtr x)
 
@@ -340,6 +361,30 @@
 
 
 -- raw decl
+data IndexAbstraction'
+-- data decl
+{-|
+-}
+newtype IndexAbstraction = IndexAbstraction (ForeignPtr IndexAbstraction')
+-- typeclass decl
+class IndexAbstractionClass a where
+  castIndexAbstraction :: a -> IndexAbstraction
+instance IndexAbstractionClass IndexAbstraction where
+  castIndexAbstraction = id
+
+-- baseclass instances
+
+-- helper instances
+instance Marshal IndexAbstraction (Ptr IndexAbstraction') where
+  marshal (IndexAbstraction x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (IndexAbstraction x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__IndexAbstraction" 
+  c_delete_casadi__IndexAbstraction :: FunPtr (Ptr IndexAbstraction' -> IO ())
+instance WrapReturn (Ptr IndexAbstraction') IndexAbstraction where
+  wrapReturn = (fmap IndexAbstraction) . (newForeignPtr c_delete_casadi__IndexAbstraction)
+
+
+-- raw decl
 data Linsol'
 -- data decl
 {-|
@@ -352,6 +397,9 @@
   castLinsol = id
 
 -- baseclass instances
+instance PrintableCommonClass Linsol where
+  castPrintableCommon (Linsol x) = PrintableCommon (castForeignPtr x)
+
 instance SharedObjectClass Linsol where
   castSharedObject (Linsol x) = SharedObject (castForeignPtr x)
 
@@ -385,6 +433,9 @@
 instance GenericMatrixCommonClass MX where
   castGenericMatrixCommon (MX x) = GenericMatrixCommon (castForeignPtr x)
 
+instance PrintableCommonClass MX where
+  castPrintableCommon (MX x) = PrintableCommon (castForeignPtr x)
+
 instance SharedObjectClass MX where
   castSharedObject (MX x) = SharedObject (castForeignPtr x)
 
@@ -427,6 +478,60 @@
 
 
 -- raw decl
+data MetaCon'
+-- data decl
+{-|
+-}
+newtype MetaCon = MetaCon (ForeignPtr MetaCon')
+-- typeclass decl
+class MetaConClass a where
+  castMetaCon :: a -> MetaCon
+instance MetaConClass MetaCon where
+  castMetaCon = id
+
+-- baseclass instances
+instance IndexAbstractionClass MetaCon where
+  castIndexAbstraction (MetaCon x) = IndexAbstraction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal MetaCon (Ptr MetaCon') where
+  marshal (MetaCon x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (MetaCon x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__MetaCon" 
+  c_delete_casadi__MetaCon :: FunPtr (Ptr MetaCon' -> IO ())
+instance WrapReturn (Ptr MetaCon') MetaCon where
+  wrapReturn = (fmap MetaCon) . (newForeignPtr c_delete_casadi__MetaCon)
+
+
+-- raw decl
+data MetaVar'
+-- data decl
+{-|
+-}
+newtype MetaVar = MetaVar (ForeignPtr MetaVar')
+-- typeclass decl
+class MetaVarClass a where
+  castMetaVar :: a -> MetaVar
+instance MetaVarClass MetaVar where
+  castMetaVar = id
+
+-- baseclass instances
+instance IndexAbstractionClass MetaVar where
+  castIndexAbstraction (MetaVar x) = IndexAbstraction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal MetaVar (Ptr MetaVar') where
+  marshal (MetaVar x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (MetaVar x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__MetaVar" 
+  c_delete_casadi__MetaVar :: FunPtr (Ptr MetaVar' -> IO ())
+instance WrapReturn (Ptr MetaVar') MetaVar where
+  wrapReturn = (fmap MetaVar) . (newForeignPtr c_delete_casadi__MetaVar)
+
+
+-- raw decl
 data NlpBuilder'
 -- data decl
 {-|
@@ -439,7 +544,10 @@
   castNlpBuilder = id
 
 -- baseclass instances
+instance PrintableCommonClass NlpBuilder where
+  castPrintableCommon (NlpBuilder x) = PrintableCommon (castForeignPtr x)
 
+
 -- helper instances
 instance Marshal NlpBuilder (Ptr NlpBuilder') where
   marshal (NlpBuilder x) = return (unsafeForeignPtrToPtr x)
@@ -451,6 +559,144 @@
 
 
 -- raw decl
+data Opti'
+-- data decl
+{-|
+-}
+newtype Opti = Opti (ForeignPtr Opti')
+-- typeclass decl
+class OptiClass a where
+  castOpti :: a -> Opti
+instance OptiClass Opti where
+  castOpti = id
+
+-- baseclass instances
+instance PrintableCommonClass Opti where
+  castPrintableCommon (Opti x) = PrintableCommon (castForeignPtr x)
+
+instance SharedObjectClass Opti where
+  castSharedObject (Opti x) = SharedObject (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal Opti (Ptr Opti') where
+  marshal (Opti x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (Opti x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__Opti" 
+  c_delete_casadi__Opti :: FunPtr (Ptr Opti' -> IO ())
+instance WrapReturn (Ptr Opti') Opti where
+  wrapReturn = (fmap Opti) . (newForeignPtr c_delete_casadi__Opti)
+
+
+-- raw decl
+data OptiAdvanced'
+-- data decl
+{-|
+-}
+newtype OptiAdvanced = OptiAdvanced (ForeignPtr OptiAdvanced')
+-- typeclass decl
+class OptiAdvancedClass a where
+  castOptiAdvanced :: a -> OptiAdvanced
+instance OptiAdvancedClass OptiAdvanced where
+  castOptiAdvanced = id
+
+-- baseclass instances
+instance OptiClass OptiAdvanced where
+  castOpti (OptiAdvanced x) = Opti (castForeignPtr x)
+
+instance PrintableCommonClass OptiAdvanced where
+  castPrintableCommon (OptiAdvanced x) = PrintableCommon (castForeignPtr x)
+
+instance SharedObjectClass OptiAdvanced where
+  castSharedObject (OptiAdvanced x) = SharedObject (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal OptiAdvanced (Ptr OptiAdvanced') where
+  marshal (OptiAdvanced x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (OptiAdvanced x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__OptiAdvanced" 
+  c_delete_casadi__OptiAdvanced :: FunPtr (Ptr OptiAdvanced' -> IO ())
+instance WrapReturn (Ptr OptiAdvanced') OptiAdvanced where
+  wrapReturn = (fmap OptiAdvanced) . (newForeignPtr c_delete_casadi__OptiAdvanced)
+
+
+-- raw decl
+data OptiCallback'
+-- data decl
+{-|
+-}
+newtype OptiCallback = OptiCallback (ForeignPtr OptiCallback')
+-- typeclass decl
+class OptiCallbackClass a where
+  castOptiCallback :: a -> OptiCallback
+instance OptiCallbackClass OptiCallback where
+  castOptiCallback = id
+
+-- baseclass instances
+
+-- helper instances
+instance Marshal OptiCallback (Ptr OptiCallback') where
+  marshal (OptiCallback x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (OptiCallback x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__OptiCallback" 
+  c_delete_casadi__OptiCallback :: FunPtr (Ptr OptiCallback' -> IO ())
+instance WrapReturn (Ptr OptiCallback') OptiCallback where
+  wrapReturn = (fmap OptiCallback) . (newForeignPtr c_delete_casadi__OptiCallback)
+
+
+-- raw decl
+data OptiSol'
+-- data decl
+{-|
+-}
+newtype OptiSol = OptiSol (ForeignPtr OptiSol')
+-- typeclass decl
+class OptiSolClass a where
+  castOptiSol :: a -> OptiSol
+instance OptiSolClass OptiSol where
+  castOptiSol = id
+
+-- baseclass instances
+instance PrintableCommonClass OptiSol where
+  castPrintableCommon (OptiSol x) = PrintableCommon (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal OptiSol (Ptr OptiSol') where
+  marshal (OptiSol x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (OptiSol x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__OptiSol" 
+  c_delete_casadi__OptiSol :: FunPtr (Ptr OptiSol' -> IO ())
+instance WrapReturn (Ptr OptiSol') OptiSol where
+  wrapReturn = (fmap OptiSol) . (newForeignPtr c_delete_casadi__OptiSol)
+
+
+-- raw decl
+data PrintableCommon'
+-- data decl
+{-|
+-}
+newtype PrintableCommon = PrintableCommon (ForeignPtr PrintableCommon')
+-- typeclass decl
+class PrintableCommonClass a where
+  castPrintableCommon :: a -> PrintableCommon
+instance PrintableCommonClass PrintableCommon where
+  castPrintableCommon = id
+
+-- baseclass instances
+
+-- helper instances
+instance Marshal PrintableCommon (Ptr PrintableCommon') where
+  marshal (PrintableCommon x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (PrintableCommon x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__PrintableCommon" 
+  c_delete_casadi__PrintableCommon :: FunPtr (Ptr PrintableCommon' -> IO ())
+instance WrapReturn (Ptr PrintableCommon') PrintableCommon where
+  wrapReturn = (fmap PrintableCommon) . (newForeignPtr c_delete_casadi__PrintableCommon)
+
+
+-- raw decl
 data SX'
 -- data decl
 {-|
@@ -472,6 +718,9 @@
 instance MatrixCommonClass SX where
   castMatrixCommon (SX x) = MatrixCommon (castForeignPtr x)
 
+instance PrintableCommonClass SX where
+  castPrintableCommon (SX x) = PrintableCommon (castForeignPtr x)
+
 instance SparsityInterfaceCommonClass SX where
   castSparsityInterfaceCommon (SX x) = SparsityInterfaceCommon (castForeignPtr x)
 
@@ -547,7 +796,10 @@
   castSlice = id
 
 -- baseclass instances
+instance PrintableCommonClass Slice where
+  castPrintableCommon (Slice x) = PrintableCommon (castForeignPtr x)
 
+
 -- helper instances
 instance Marshal Slice (Ptr Slice') where
   marshal (Slice x) = return (unsafeForeignPtrToPtr x)
@@ -571,6 +823,9 @@
   castSparsity = id
 
 -- baseclass instances
+instance PrintableCommonClass Sparsity where
+  castPrintableCommon (Sparsity x) = PrintableCommon (castForeignPtr x)
+
 instance SharedObjectClass Sparsity where
   castSharedObject (Sparsity x) = SharedObject (castForeignPtr x)
 
@@ -625,7 +880,10 @@
   castVariable = id
 
 -- baseclass instances
+instance PrintableCommonClass Variable where
+  castPrintableCommon (Variable x) = PrintableCommon (castForeignPtr x)
 
+
 -- helper instances
 instance Marshal Variable (Ptr Variable') where
   marshal (Variable x) = return (unsafeForeignPtrToPtr x)
@@ -637,6 +895,33 @@
 
 
 -- raw decl
+data WeakRef'
+-- data decl
+{-|
+-}
+newtype WeakRef = WeakRef (ForeignPtr WeakRef')
+-- typeclass decl
+class WeakRefClass a where
+  castWeakRef :: a -> WeakRef
+instance WeakRefClass WeakRef where
+  castWeakRef = id
+
+-- baseclass instances
+instance SharedObjectClass WeakRef where
+  castSharedObject (WeakRef x) = SharedObject (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal WeakRef (Ptr WeakRef') where
+  marshal (WeakRef x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (WeakRef x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__WeakRef" 
+  c_delete_casadi__WeakRef :: FunPtr (Ptr WeakRef' -> IO ())
+instance WrapReturn (Ptr WeakRef') WeakRef where
+  wrapReturn = (fmap WeakRef) . (newForeignPtr c_delete_casadi__WeakRef)
+
+
+-- raw decl
 data XmlFile'
 -- data decl
 {-|
@@ -649,6 +934,9 @@
   castXmlFile = id
 
 -- baseclass instances
+instance PrintableCommonClass XmlFile where
+  castPrintableCommon (XmlFile x) = PrintableCommon (castForeignPtr x)
+
 instance SharedObjectClass XmlFile where
   castSharedObject (XmlFile x) = SharedObject (castForeignPtr x)
 
diff --git a/Casadi/Core/Enums.hs b/Casadi/Core/Enums.hs
--- a/Casadi/Core/Enums.hs
+++ b/Casadi/Core/Enums.hs
@@ -8,10 +8,12 @@
          Category(..),
          Causality(..),
          CollocationPoints(..),
+         ConstraintType(..),
          Dynamics(..),
          Operation(..),
          TypeID(..),
          Variability(..),
+         VariableType(..),
        ) where
 
 
@@ -108,6 +110,38 @@
 instance WrapReturn CInt CollocationPoints where
         wrapReturn = return . toEnum . fromIntegral
 
+-- EnumDecl: ConstraintType
+data ConstraintType = OPTI_DOUBLE_INEQUALITY
+                    | OPTI_EQUALITY
+                    | OPTI_GENERIC_EQUALITY
+                    | OPTI_GENERIC_INEQUALITY
+                    | OPTI_INEQUALITY
+                    | OPTI_PSD
+                    | OPTI_UNKNOWN
+                    deriving (Show, Eq)
+instance Enum ConstraintType where
+        fromEnum (OPTI_DOUBLE_INEQUALITY) = 4
+        fromEnum (OPTI_EQUALITY) = 2
+        fromEnum (OPTI_GENERIC_EQUALITY) = 0
+        fromEnum (OPTI_GENERIC_INEQUALITY) = 1
+        fromEnum (OPTI_INEQUALITY) = 3
+        fromEnum (OPTI_PSD) = 5
+        fromEnum (OPTI_UNKNOWN) = 6
+        toEnum (4) = OPTI_DOUBLE_INEQUALITY
+        toEnum (2) = OPTI_EQUALITY
+        toEnum (0) = OPTI_GENERIC_EQUALITY
+        toEnum (1) = OPTI_GENERIC_INEQUALITY
+        toEnum (3) = OPTI_INEQUALITY
+        toEnum (5) = OPTI_PSD
+        toEnum (6) = OPTI_UNKNOWN
+        toEnum k
+          = error $ "ConstraintType: toEnum: got unhandled number: " ++
+              show k
+instance Marshal ConstraintType CInt where
+        marshal = return . fromIntegral . fromEnum
+instance WrapReturn CInt ConstraintType where
+        wrapReturn = return . toEnum . fromIntegral
+
 -- EnumDecl: Dynamics
 data Dynamics = ALGEBRAIC
               | DIFFERENTIAL
@@ -129,6 +163,7 @@
                | OP_ACOSH
                | OP_ADD
                | OP_ADDNONZEROS
+               | OP_ADD_ELEMENTS
                | OP_AND
                | OP_ASIN
                | OP_ASINH
@@ -150,6 +185,7 @@
                | OP_DIAGSPLIT
                | OP_DIV
                | OP_DOT
+               | OP_EINSTEIN
                | OP_EQ
                | OP_ERF
                | OP_ERFINV
@@ -161,6 +197,7 @@
                | OP_FMIN
                | OP_FMOD
                | OP_GETNONZEROS
+               | OP_GET_ELEMENTS
                | OP_HORZCAT
                | OP_HORZREPMAT
                | OP_HORZREPSUM
@@ -174,6 +211,8 @@
                | OP_LOG
                | OP_LT
                | OP_MAP
+               | OP_MMAX
+               | OP_MMIN
                | OP_MONITOR
                | OP_MTIMES
                | OP_MUL
@@ -214,10 +253,11 @@
         fromEnum (OP_ACOSH) = 41
         fromEnum (OP_ADD) = 1
         fromEnum (OP_ADDNONZEROS) = 69
+        fromEnum (OP_ADD_ELEMENTS) = 72
         fromEnum (OP_AND) = 24
         fromEnum (OP_ASIN) = 16
         fromEnum (OP_ASINH) = 40
-        fromEnum (OP_ASSERTION) = 72
+        fromEnum (OP_ASSERTION) = 74
         fromEnum (OP_ASSIGN) = 0
         fromEnum (OP_ATAN) = 18
         fromEnum (OP_ATAN2) = 43
@@ -235,9 +275,10 @@
         fromEnum (OP_DIAGSPLIT) = 64
         fromEnum (OP_DIV) = 4
         fromEnum (OP_DOT) = 56
+        fromEnum (OP_EINSTEIN) = 87
         fromEnum (OP_EQ) = 21
         fromEnum (OP_ERF) = 33
-        fromEnum (OP_ERFINV) = 80
+        fromEnum (OP_ERFINV) = 84
         fromEnum (OP_EXP) = 6
         fromEnum (OP_FABS) = 29
         fromEnum (OP_FIND) = 49
@@ -246,35 +287,38 @@
         fromEnum (OP_FMIN) = 34
         fromEnum (OP_FMOD) = 28
         fromEnum (OP_GETNONZEROS) = 68
+        fromEnum (OP_GET_ELEMENTS) = 71
         fromEnum (OP_HORZCAT) = 59
-        fromEnum (OP_HORZREPMAT) = 78
-        fromEnum (OP_HORZREPSUM) = 79
+        fromEnum (OP_HORZREPMAT) = 82
+        fromEnum (OP_HORZREPSUM) = 83
         fromEnum (OP_HORZSPLIT) = 62
         fromEnum (OP_IF_ELSE_ZERO) = 32
         fromEnum (OP_INPUT) = 45
         fromEnum (OP_INV) = 36
         fromEnum (OP_INVERSE) = 55
         fromEnum (OP_LE) = 20
-        fromEnum (OP_LIFT) = 82
+        fromEnum (OP_LIFT) = 86
         fromEnum (OP_LOG) = 7
         fromEnum (OP_LT) = 19
         fromEnum (OP_MAP) = 50
-        fromEnum (OP_MONITOR) = 73
+        fromEnum (OP_MMAX) = 81
+        fromEnum (OP_MMIN) = 80
+        fromEnum (OP_MONITOR) = 75
         fromEnum (OP_MTIMES) = 51
         fromEnum (OP_MUL) = 3
         fromEnum (OP_NE) = 22
         fromEnum (OP_NEG) = 5
-        fromEnum (OP_NORM1) = 75
-        fromEnum (OP_NORM2) = 74
-        fromEnum (OP_NORMF) = 77
-        fromEnum (OP_NORMINF) = 76
+        fromEnum (OP_NORM1) = 77
+        fromEnum (OP_NORM2) = 76
+        fromEnum (OP_NORMF) = 79
+        fromEnum (OP_NORMINF) = 78
         fromEnum (OP_NOT) = 23
         fromEnum (OP_OR) = 25
         fromEnum (OP_OUTPUT) = 46
         fromEnum (OP_PARAMETER) = 47
         fromEnum (OP_POW) = 8
-        fromEnum (OP_PRINTME) = 81
-        fromEnum (OP_PROJECT) = 71
+        fromEnum (OP_PRINTME) = 85
+        fromEnum (OP_PROJECT) = 73
         fromEnum (OP_RANK1) = 58
         fromEnum (OP_RESHAPE) = 65
         fromEnum (OP_SETNONZEROS) = 70
@@ -297,10 +341,11 @@
         toEnum (41) = OP_ACOSH
         toEnum (1) = OP_ADD
         toEnum (69) = OP_ADDNONZEROS
+        toEnum (72) = OP_ADD_ELEMENTS
         toEnum (24) = OP_AND
         toEnum (16) = OP_ASIN
         toEnum (40) = OP_ASINH
-        toEnum (72) = OP_ASSERTION
+        toEnum (74) = OP_ASSERTION
         toEnum (0) = OP_ASSIGN
         toEnum (18) = OP_ATAN
         toEnum (43) = OP_ATAN2
@@ -318,9 +363,10 @@
         toEnum (64) = OP_DIAGSPLIT
         toEnum (4) = OP_DIV
         toEnum (56) = OP_DOT
+        toEnum (87) = OP_EINSTEIN
         toEnum (21) = OP_EQ
         toEnum (33) = OP_ERF
-        toEnum (80) = OP_ERFINV
+        toEnum (84) = OP_ERFINV
         toEnum (6) = OP_EXP
         toEnum (29) = OP_FABS
         toEnum (49) = OP_FIND
@@ -329,35 +375,38 @@
         toEnum (34) = OP_FMIN
         toEnum (28) = OP_FMOD
         toEnum (68) = OP_GETNONZEROS
+        toEnum (71) = OP_GET_ELEMENTS
         toEnum (59) = OP_HORZCAT
-        toEnum (78) = OP_HORZREPMAT
-        toEnum (79) = OP_HORZREPSUM
+        toEnum (82) = OP_HORZREPMAT
+        toEnum (83) = OP_HORZREPSUM
         toEnum (62) = OP_HORZSPLIT
         toEnum (32) = OP_IF_ELSE_ZERO
         toEnum (45) = OP_INPUT
         toEnum (36) = OP_INV
         toEnum (55) = OP_INVERSE
         toEnum (20) = OP_LE
-        toEnum (82) = OP_LIFT
+        toEnum (86) = OP_LIFT
         toEnum (7) = OP_LOG
         toEnum (19) = OP_LT
         toEnum (50) = OP_MAP
-        toEnum (73) = OP_MONITOR
+        toEnum (81) = OP_MMAX
+        toEnum (80) = OP_MMIN
+        toEnum (75) = OP_MONITOR
         toEnum (51) = OP_MTIMES
         toEnum (3) = OP_MUL
         toEnum (22) = OP_NE
         toEnum (5) = OP_NEG
-        toEnum (75) = OP_NORM1
-        toEnum (74) = OP_NORM2
-        toEnum (77) = OP_NORMF
-        toEnum (76) = OP_NORMINF
+        toEnum (77) = OP_NORM1
+        toEnum (76) = OP_NORM2
+        toEnum (79) = OP_NORMF
+        toEnum (78) = OP_NORMINF
         toEnum (23) = OP_NOT
         toEnum (25) = OP_OR
         toEnum (46) = OP_OUTPUT
         toEnum (47) = OP_PARAMETER
         toEnum (8) = OP_POW
-        toEnum (81) = OP_PRINTME
-        toEnum (71) = OP_PROJECT
+        toEnum (85) = OP_PRINTME
+        toEnum (73) = OP_PROJECT
         toEnum (58) = OP_RANK1
         toEnum (65) = OP_RESHAPE
         toEnum (70) = OP_SETNONZEROS
@@ -389,7 +438,9 @@
             | OT_DICT
             | OT_DOUBLE
             | OT_DOUBLEVECTOR
+            | OT_DOUBLEVECTORVECTOR
             | OT_FUNCTION
+            | OT_FUNCTIONVECTOR
             | OT_INT
             | OT_INTVECTOR
             | OT_INTVECTORVECTOR
@@ -402,32 +453,36 @@
 instance Enum TypeID where
         fromEnum (OT_BOOL) = 1
         fromEnum (OT_BOOLVECTOR) = 7
-        fromEnum (OT_DICT) = 10
+        fromEnum (OT_DICT) = 11
         fromEnum (OT_DOUBLE) = 3
         fromEnum (OT_DOUBLEVECTOR) = 8
-        fromEnum (OT_FUNCTION) = 11
+        fromEnum (OT_DOUBLEVECTORVECTOR) = 9
+        fromEnum (OT_FUNCTION) = 12
+        fromEnum (OT_FUNCTIONVECTOR) = 13
         fromEnum (OT_INT) = 2
         fromEnum (OT_INTVECTOR) = 5
         fromEnum (OT_INTVECTORVECTOR) = 6
         fromEnum (OT_NULL) = 0
         fromEnum (OT_STRING) = 4
-        fromEnum (OT_STRINGVECTOR) = 9
-        fromEnum (OT_UNKNOWN) = 13
-        fromEnum (OT_VOIDPTR) = 12
+        fromEnum (OT_STRINGVECTOR) = 10
+        fromEnum (OT_UNKNOWN) = 15
+        fromEnum (OT_VOIDPTR) = 14
         toEnum (1) = OT_BOOL
         toEnum (7) = OT_BOOLVECTOR
-        toEnum (10) = OT_DICT
+        toEnum (11) = OT_DICT
         toEnum (3) = OT_DOUBLE
         toEnum (8) = OT_DOUBLEVECTOR
-        toEnum (11) = OT_FUNCTION
+        toEnum (9) = OT_DOUBLEVECTORVECTOR
+        toEnum (12) = OT_FUNCTION
+        toEnum (13) = OT_FUNCTIONVECTOR
         toEnum (2) = OT_INT
         toEnum (5) = OT_INTVECTOR
         toEnum (6) = OT_INTVECTORVECTOR
         toEnum (0) = OT_NULL
         toEnum (4) = OT_STRING
-        toEnum (9) = OT_STRINGVECTOR
-        toEnum (13) = OT_UNKNOWN
-        toEnum (12) = OT_VOIDPTR
+        toEnum (10) = OT_STRINGVECTOR
+        toEnum (15) = OT_UNKNOWN
+        toEnum (14) = OT_VOIDPTR
         toEnum k
           = error $ "TypeID: toEnum: got unhandled number: " ++ show k
 instance Marshal TypeID CInt where
@@ -455,5 +510,24 @@
 instance Marshal Variability CInt where
         marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt Variability where
+        wrapReturn = return . toEnum . fromIntegral
+
+-- EnumDecl: VariableType
+data VariableType = OPTI_DUAL_G
+                  | OPTI_PAR
+                  | OPTI_VAR
+                  deriving (Show, Eq)
+instance Enum VariableType where
+        fromEnum (OPTI_DUAL_G) = 2
+        fromEnum (OPTI_PAR) = 1
+        fromEnum (OPTI_VAR) = 0
+        toEnum (2) = OPTI_DUAL_G
+        toEnum (1) = OPTI_PAR
+        toEnum (0) = OPTI_VAR
+        toEnum k
+          = error $ "VariableType: toEnum: got unhandled number: " ++ show k
+instance Marshal VariableType CInt where
+        marshal = return . fromIntegral . fromEnum
+instance WrapReturn CInt VariableType where
         wrapReturn = return . toEnum . fromIntegral
 
diff --git a/Casadi/Core/Tools.hs b/Casadi/Core/Tools.hs
--- a/Casadi/Core/Tools.hs
+++ b/Casadi/Core/Tools.hs
@@ -69,21236 +69,25098 @@
          casadi_blockcat__6,
          casadi_blockcat__7,
          casadi_blockcat__8,
-         casadi_blockcat__9,
-         casadi_blocksplit__0,
-         casadi_blocksplit__1,
-         casadi_blocksplit__10,
-         casadi_blocksplit__11,
-         casadi_blocksplit__12,
-         casadi_blocksplit__13,
-         casadi_blocksplit__14,
-         casadi_blocksplit__15,
-         casadi_blocksplit__16,
-         casadi_blocksplit__17,
-         casadi_blocksplit__18,
-         casadi_blocksplit__19,
-         casadi_blocksplit__2,
-         casadi_blocksplit__3,
-         casadi_blocksplit__4,
-         casadi_blocksplit__5,
-         casadi_blocksplit__6,
-         casadi_blocksplit__7,
-         casadi_blocksplit__8,
-         casadi_blocksplit__9,
-         casadi_ceil__0,
-         casadi_ceil__1,
-         casadi_ceil__2,
-         casadi_ceil__3,
-         casadi_ceil__4,
-         casadi_chol__0,
-         casadi_chol__1,
-         casadi_chol__2,
-         casadi_cofactor__0,
-         casadi_cofactor__1,
-         casadi_cofactor__2,
-         casadi_conditional__0,
-         casadi_conditional__1,
-         casadi_conditional__2,
-         casadi_conditional__3,
-         casadi_conditional__4,
-         casadi_conditional__5,
-         casadi_conditional__6,
-         casadi_conditional__7,
-         casadi_constpow__0,
-         casadi_constpow__1,
-         casadi_constpow__2,
-         casadi_constpow__3,
-         casadi_constpow__4,
-         casadi_copysign__0,
-         casadi_copysign__1,
-         casadi_copysign__2,
-         casadi_copysign__3,
-         casadi_copysign__4,
-         casadi_cos__0,
-         casadi_cos__1,
-         casadi_cos__2,
-         casadi_cos__3,
-         casadi_cos__4,
-         casadi_cosh__0,
-         casadi_cosh__1,
-         casadi_cosh__2,
-         casadi_cosh__3,
-         casadi_cosh__4,
-         casadi_cross__0,
-         casadi_cross__1,
-         casadi_cross__2,
-         casadi_cross__3,
-         casadi_cross__4,
-         casadi_cross__5,
-         casadi_cross__6,
-         casadi_cross__7,
-         casadi_densify__0,
-         casadi_densify__1,
-         casadi_densify__2,
-         casadi_densify__3,
-         casadi_depends_on__0,
-         casadi_depends_on__1,
-         casadi_depends_on__2,
-         casadi_depends_on__3,
-         casadi_det__0,
-         casadi_det__1,
-         casadi_det__2,
-         casadi_det__3,
-         casadi_diag__0,
-         casadi_diag__1,
-         casadi_diag__2,
-         casadi_diag__3,
-         casadi_diagcat__0,
-         casadi_diagcat__1,
-         casadi_diagcat__2,
-         casadi_diagcat__3,
-         casadi_diagcat__4,
-         casadi_diagsplit__0,
-         casadi_diagsplit__1,
-         casadi_diagsplit__10,
-         casadi_diagsplit__11,
-         casadi_diagsplit__12,
-         casadi_diagsplit__13,
-         casadi_diagsplit__14,
-         casadi_diagsplit__15,
-         casadi_diagsplit__16,
-         casadi_diagsplit__17,
-         casadi_diagsplit__18,
-         casadi_diagsplit__19,
-         casadi_diagsplit__2,
-         casadi_diagsplit__20,
-         casadi_diagsplit__21,
-         casadi_diagsplit__22,
-         casadi_diagsplit__23,
-         casadi_diagsplit__24,
-         casadi_diagsplit__3,
-         casadi_diagsplit__4,
-         casadi_diagsplit__5,
-         casadi_diagsplit__6,
-         casadi_diagsplit__7,
-         casadi_diagsplit__8,
-         casadi_diagsplit__9,
-         casadi_dot__0,
-         casadi_dot__1,
-         casadi_dot__2,
-         casadi_dot__3,
-         casadi_eig_symbolic__0,
-         casadi_eig_symbolic__1,
-         casadi_eig_symbolic__2,
-         casadi_eq__0,
-         casadi_eq__1,
-         casadi_eq__2,
-         casadi_eq__3,
-         casadi_eq__4,
-         casadi_erf__0,
-         casadi_erf__1,
-         casadi_erf__2,
-         casadi_erf__3,
-         casadi_erf__4,
-         casadi_erfinv__0,
-         casadi_erfinv__1,
-         casadi_erfinv__2,
-         casadi_erfinv__3,
-         casadi_erfinv__4,
-         casadi_exp__0,
-         casadi_exp__1,
-         casadi_exp__2,
-         casadi_exp__3,
-         casadi_exp__4,
-         casadi_expand__0,
-         casadi_expand__1,
-         casadi_expand__2,
-         casadi_find,
-         casadi_floor__0,
-         casadi_floor__1,
-         casadi_floor__2,
-         casadi_floor__3,
-         casadi_floor__4,
-         casadi_gauss_quadrature__0,
-         casadi_gauss_quadrature__1,
-         casadi_gauss_quadrature__2,
-         casadi_gauss_quadrature__3,
-         casadi_gauss_quadrature__4,
-         casadi_gauss_quadrature__5,
-         casadi_gauss_quadrature__6,
-         casadi_gauss_quadrature__7,
-         casadi_gauss_quadrature__8,
-         casadi_ge__0,
-         casadi_ge__1,
-         casadi_ge__2,
-         casadi_ge__3,
-         casadi_ge__4,
-         casadi_getMinor__0,
-         casadi_getMinor__1,
-         casadi_getMinor__2,
-         casadi_gradient__0,
-         casadi_gradient__1,
-         casadi_gradient__2,
-         casadi_gradient__3,
-         casadi_graph_substitute__0,
-         casadi_graph_substitute__1,
-         casadi_gt__0,
-         casadi_gt__1,
-         casadi_gt__2,
-         casadi_gt__3,
-         casadi_gt__4,
-         casadi_heaviside__0,
-         casadi_heaviside__1,
-         casadi_heaviside__2,
-         casadi_hessian__0,
-         casadi_hessian__1,
-         casadi_hessian__2,
-         casadi_hessian__3,
-         casadi_horzcat__0,
-         casadi_horzcat__1,
-         casadi_horzcat__2,
-         casadi_horzcat__3,
-         casadi_horzcat__4,
-         casadi_horzsplit__0,
-         casadi_horzsplit__1,
-         casadi_horzsplit__10,
-         casadi_horzsplit__11,
-         casadi_horzsplit__12,
-         casadi_horzsplit__13,
-         casadi_horzsplit__14,
-         casadi_horzsplit__2,
-         casadi_horzsplit__3,
-         casadi_horzsplit__4,
-         casadi_horzsplit__5,
-         casadi_horzsplit__6,
-         casadi_horzsplit__7,
-         casadi_horzsplit__8,
-         casadi_horzsplit__9,
-         casadi_if_else__0,
-         casadi_if_else__1,
-         casadi_if_else__2,
-         casadi_if_else__3,
-         casadi_if_else__4,
-         casadi_if_else__5,
-         casadi_if_else__6,
-         casadi_if_else__7,
-         casadi_inv__0,
-         casadi_inv__1,
-         casadi_inv__2,
-         casadi_inv__3,
-         casadi_inv_skew__0,
-         casadi_inv_skew__1,
-         casadi_inv_skew__2,
-         casadi_inv_skew__3,
-         casadi_is_equal__0,
-         casadi_is_equal__1,
-         casadi_is_equal__2,
-         casadi_is_equal__3,
-         casadi_is_equal__4,
-         casadi_is_equal__5,
-         casadi_is_equal__6,
-         casadi_is_equal__7,
-         casadi_is_equal__8,
-         casadi_is_equal__9,
-         casadi_jacobian__0,
-         casadi_jacobian__1,
-         casadi_jacobian__2,
-         casadi_jacobian__3,
-         casadi_jtimes__0,
-         casadi_jtimes__1,
-         casadi_jtimes__2,
-         casadi_jtimes__3,
-         casadi_jtimes__4,
-         casadi_jtimes__5,
-         casadi_jtimes__6,
-         casadi_jtimes__7,
-         casadi_kron__0,
-         casadi_kron__1,
-         casadi_kron__2,
-         casadi_kron__3,
-         casadi_kron__4,
-         casadi_ldivide__0,
-         casadi_ldivide__1,
-         casadi_ldivide__2,
-         casadi_ldivide__3,
-         casadi_ldivide__4,
-         casadi_le__0,
-         casadi_le__1,
-         casadi_le__2,
-         casadi_le__3,
-         casadi_le__4,
-         casadi_linspace__0,
-         casadi_linspace__1,
-         casadi_linspace__2,
-         casadi_linspace__3,
-         casadi_log10__0,
-         casadi_log10__1,
-         casadi_log10__2,
-         casadi_log10__3,
-         casadi_log10__4,
-         casadi_log__0,
-         casadi_log__1,
-         casadi_log__2,
-         casadi_log__3,
-         casadi_log__4,
-         casadi_lt__0,
-         casadi_lt__1,
-         casadi_lt__2,
-         casadi_lt__3,
-         casadi_lt__4,
-         casadi_mac__0,
-         casadi_mac__1,
-         casadi_mac__2,
-         casadi_mac__3,
-         casadi_mac__4,
-         casadi_matrix_expand__0,
-         casadi_matrix_expand__1,
-         casadi_matrix_expand__2,
-         casadi_matrix_expand__3,
-         casadi_matrix_expand__4,
-         casadi_matrix_expand__5,
-         casadi_max__0,
-         casadi_max__1,
-         casadi_max__2,
-         casadi_max__3,
-         casadi_max__4,
-         casadi_min__0,
-         casadi_min__1,
-         casadi_min__2,
-         casadi_min__3,
-         casadi_min__4,
-         casadi_minus__0,
-         casadi_minus__1,
-         casadi_minus__2,
-         casadi_minus__3,
-         casadi_minus__4,
-         casadi_mldivide__0,
-         casadi_mldivide__1,
-         casadi_mldivide__2,
-         casadi_mldivide__3,
-         casadi_mod__0,
-         casadi_mod__1,
-         casadi_mod__2,
-         casadi_mod__3,
-         casadi_mod__4,
-         casadi_mpower__0,
-         casadi_mpower__1,
-         casadi_mpower__2,
-         casadi_mpower__3,
-         casadi_mrdivide__0,
-         casadi_mrdivide__1,
-         casadi_mrdivide__2,
-         casadi_mrdivide__3,
-         casadi_mtaylor__0,
-         casadi_mtaylor__1,
-         casadi_mtaylor__2,
-         casadi_mtaylor__3,
-         casadi_mtaylor__4,
-         casadi_mtaylor__5,
-         casadi_mtaylor__6,
-         casadi_mtaylor__7,
-         casadi_mtaylor__8,
-         casadi_mtimes__0,
-         casadi_mtimes__1,
-         casadi_mtimes__2,
-         casadi_mtimes__3,
-         casadi_mtimes__4,
-         casadi_mtimes__5,
-         casadi_mtimes__6,
-         casadi_mtimes__7,
-         casadi_mtimes__8,
-         casadi_mtimes__9,
-         casadi_n_nodes__0,
-         casadi_n_nodes__1,
-         casadi_n_nodes__2,
-         casadi_n_nodes__3,
-         casadi_ne__0,
-         casadi_ne__1,
-         casadi_ne__2,
-         casadi_ne__3,
-         casadi_ne__4,
-         casadi_norm_0_mul__0,
-         casadi_norm_0_mul__1,
-         casadi_norm_0_mul__2,
-         casadi_norm_0_mul__3,
-         casadi_norm_0_mul__4,
-         casadi_norm_1__0,
-         casadi_norm_1__1,
-         casadi_norm_1__2,
-         casadi_norm_1__3,
-         casadi_norm_2__0,
-         casadi_norm_2__1,
-         casadi_norm_2__2,
-         casadi_norm_2__3,
-         casadi_norm_F__0,
-         casadi_norm_F__1,
-         casadi_norm_F__2,
-         casadi_norm_F__3,
-         casadi_norm_fro__0,
-         casadi_norm_fro__1,
-         casadi_norm_fro__2,
-         casadi_norm_fro__3,
-         casadi_norm_inf__0,
-         casadi_norm_inf__1,
-         casadi_norm_inf__2,
-         casadi_norm_inf__3,
-         casadi_norm_inf_mul__0,
-         casadi_norm_inf_mul__1,
-         casadi_norm_inf_mul__2,
-         casadi_not__0,
-         casadi_not__1,
-         casadi_not__2,
-         casadi_not__3,
-         casadi_not__4,
-         casadi_nullspace__0,
-         casadi_nullspace__1,
-         casadi_nullspace__2,
-         casadi_nullspace__3,
-         casadi_offset__0,
-         casadi_offset__1,
-         casadi_offset__2,
-         casadi_offset__3,
-         casadi_offset__4,
-         casadi_offset__5,
-         casadi_offset__6,
-         casadi_offset__7,
-         casadi_offset__8,
-         casadi_offset__9,
-         casadi_or__0,
-         casadi_or__1,
-         casadi_or__2,
-         casadi_or__3,
-         casadi_or__4,
-         casadi_pinv__0,
-         casadi_pinv__1,
-         casadi_pinv__10,
-         casadi_pinv__11,
-         casadi_pinv__2,
-         casadi_pinv__3,
-         casadi_pinv__4,
-         casadi_pinv__5,
-         casadi_pinv__6,
-         casadi_pinv__7,
-         casadi_pinv__8,
-         casadi_pinv__9,
-         casadi_plus__0,
-         casadi_plus__1,
-         casadi_plus__2,
-         casadi_plus__3,
-         casadi_plus__4,
-         casadi_poly_coeff__0,
-         casadi_poly_coeff__1,
-         casadi_poly_coeff__2,
-         casadi_poly_roots__0,
-         casadi_poly_roots__1,
-         casadi_poly_roots__2,
-         casadi_polyval__0,
-         casadi_polyval__1,
-         casadi_polyval__2,
-         casadi_polyval__3,
-         casadi_power__0,
-         casadi_power__1,
-         casadi_power__2,
-         casadi_power__3,
-         casadi_power__4,
-         casadi_print_operator__0,
-         casadi_print_operator__1,
-         casadi_print_operator__2,
-         casadi_print_operator__3,
-         casadi_project__0,
-         casadi_project__1,
-         casadi_project__2,
-         casadi_project__3,
-         casadi_project__4,
-         casadi_project__5,
-         casadi_project__6,
-         casadi_project__7,
-         casadi_pw_const__0,
-         casadi_pw_const__1,
-         casadi_pw_const__2,
-         casadi_pw_lin__0,
-         casadi_pw_lin__1,
-         casadi_pw_lin__2,
-         casadi_qr__0,
-         casadi_qr__1,
-         casadi_qr__2,
-         casadi_ramp__0,
-         casadi_ramp__1,
-         casadi_ramp__2,
-         casadi_rank1__0,
-         casadi_rank1__1,
-         casadi_rank1__2,
-         casadi_rank1__3,
-         casadi_rdivide__0,
-         casadi_rdivide__1,
-         casadi_rdivide__2,
-         casadi_rdivide__3,
-         casadi_rdivide__4,
-         casadi_rectangle__0,
-         casadi_rectangle__1,
-         casadi_rectangle__2,
-         casadi_repmat__0,
-         casadi_repmat__1,
-         casadi_repmat__10,
-         casadi_repmat__11,
-         casadi_repmat__12,
-         casadi_repmat__13,
-         casadi_repmat__14,
-         casadi_repmat__2,
-         casadi_repmat__3,
-         casadi_repmat__4,
-         casadi_repmat__5,
-         casadi_repmat__6,
-         casadi_repmat__7,
-         casadi_repmat__8,
-         casadi_repmat__9,
-         casadi_repsum__0,
-         casadi_repsum__1,
-         casadi_repsum__2,
-         casadi_repsum__3,
-         casadi_repsum__4,
-         casadi_repsum__5,
-         casadi_repsum__6,
-         casadi_repsum__7,
-         casadi_reshape__0,
-         casadi_reshape__1,
-         casadi_reshape__10,
-         casadi_reshape__11,
-         casadi_reshape__12,
-         casadi_reshape__13,
-         casadi_reshape__14,
-         casadi_reshape__2,
-         casadi_reshape__3,
-         casadi_reshape__4,
-         casadi_reshape__5,
-         casadi_reshape__6,
-         casadi_reshape__7,
-         casadi_reshape__8,
-         casadi_reshape__9,
-         casadi_shared__0,
-         casadi_shared__1,
-         casadi_shared__10,
-         casadi_shared__11,
-         casadi_shared__2,
-         casadi_shared__3,
-         casadi_shared__4,
-         casadi_shared__5,
-         casadi_shared__6,
-         casadi_shared__7,
-         casadi_shared__8,
-         casadi_shared__9,
-         casadi_sign__0,
-         casadi_sign__1,
-         casadi_sign__2,
-         casadi_sign__3,
-         casadi_sign__4,
-         casadi_simplify__0,
-         casadi_simplify__1,
-         casadi_simplify__2,
-         casadi_simplify__3,
-         casadi_simplify__4,
-         casadi_sin__0,
-         casadi_sin__1,
-         casadi_sin__2,
-         casadi_sin__3,
-         casadi_sin__4,
-         casadi_sinh__0,
-         casadi_sinh__1,
-         casadi_sinh__2,
-         casadi_sinh__3,
-         casadi_sinh__4,
-         casadi_skew__0,
-         casadi_skew__1,
-         casadi_skew__2,
-         casadi_skew__3,
-         casadi_solve__0,
-         casadi_solve__1,
-         casadi_solve__10,
-         casadi_solve__11,
-         casadi_solve__2,
-         casadi_solve__3,
-         casadi_solve__4,
-         casadi_solve__5,
-         casadi_solve__6,
-         casadi_solve__7,
-         casadi_solve__8,
-         casadi_solve__9,
-         casadi_sparsify__0,
-         casadi_sparsify__1,
-         casadi_sparsify__2,
-         casadi_sparsify__3,
-         casadi_sparsify__4,
-         casadi_sparsify__5,
-         casadi_sprank__0,
-         casadi_sprank__1,
-         casadi_sprank__2,
-         casadi_sprank__3,
-         casadi_sprank__4,
-         casadi_sqrt__0,
-         casadi_sqrt__1,
-         casadi_sqrt__2,
-         casadi_sqrt__3,
-         casadi_sqrt__4,
-         casadi_substitute__0,
-         casadi_substitute__1,
-         casadi_substitute__2,
-         casadi_substitute__3,
-         casadi_substitute__4,
-         casadi_substitute__5,
-         casadi_substitute__6,
-         casadi_substitute__7,
-         casadi_substitute_inplace__0,
-         casadi_substitute_inplace__1,
-         casadi_substitute_inplace__2,
-         casadi_substitute_inplace__3,
-         casadi_substitute_inplace__4,
-         casadi_substitute_inplace__5,
-         casadi_substitute_inplace__6,
-         casadi_substitute_inplace__7,
-         casadi_sum1__0,
-         casadi_sum1__1,
-         casadi_sum1__2,
-         casadi_sum1__3,
-         casadi_sum2__0,
-         casadi_sum2__1,
-         casadi_sum2__2,
-         casadi_sum2__3,
-         casadi_sum_square__0,
-         casadi_sum_square__1,
-         casadi_sum_square__2,
-         casadi_sum_square__3,
-         casadi_symvar__0,
-         casadi_symvar__1,
-         casadi_symvar__2,
-         casadi_symvar__3,
-         casadi_tan__0,
-         casadi_tan__1,
-         casadi_tan__2,
-         casadi_tan__3,
-         casadi_tan__4,
-         casadi_tangent__0,
-         casadi_tangent__1,
-         casadi_tangent__2,
-         casadi_tangent__3,
-         casadi_tanh__0,
-         casadi_tanh__1,
-         casadi_tanh__2,
-         casadi_tanh__3,
-         casadi_tanh__4,
-         casadi_taylor__0,
-         casadi_taylor__1,
-         casadi_taylor__2,
-         casadi_taylor__3,
-         casadi_taylor__4,
-         casadi_taylor__5,
-         casadi_taylor__6,
-         casadi_taylor__7,
-         casadi_taylor__8,
-         casadi_times__0,
-         casadi_times__1,
-         casadi_times__2,
-         casadi_times__3,
-         casadi_times__4,
-         casadi_trace__0,
-         casadi_trace__1,
-         casadi_trace__2,
-         casadi_trace__3,
-         casadi_transpose__0,
-         casadi_transpose__1,
-         casadi_transpose__2,
-         casadi_transpose__3,
-         casadi_transpose__4,
-         casadi_triangle__0,
-         casadi_triangle__1,
-         casadi_triangle__2,
-         casadi_tril2symm__0,
-         casadi_tril2symm__1,
-         casadi_tril2symm__2,
-         casadi_tril2symm__3,
-         casadi_tril__0,
-         casadi_tril__1,
-         casadi_tril__2,
-         casadi_tril__3,
-         casadi_tril__4,
-         casadi_tril__5,
-         casadi_tril__6,
-         casadi_tril__7,
-         casadi_tril__8,
-         casadi_tril__9,
-         casadi_triu2symm__0,
-         casadi_triu2symm__1,
-         casadi_triu2symm__2,
-         casadi_triu2symm__3,
-         casadi_triu__0,
-         casadi_triu__1,
-         casadi_triu__2,
-         casadi_triu__3,
-         casadi_triu__4,
-         casadi_triu__5,
-         casadi_triu__6,
-         casadi_triu__7,
-         casadi_triu__8,
-         casadi_triu__9,
-         casadi_unite__0,
-         casadi_unite__1,
-         casadi_unite__2,
-         casadi_unite__3,
-         casadi_vec__0,
-         casadi_vec__1,
-         casadi_vec__2,
-         casadi_vec__3,
-         casadi_vec__4,
-         casadi_veccat__0,
-         casadi_veccat__1,
-         casadi_veccat__2,
-         casadi_veccat__3,
-         casadi_veccat__4,
-         casadi_vertcat__0,
-         casadi_vertcat__1,
-         casadi_vertcat__2,
-         casadi_vertcat__3,
-         casadi_vertcat__4,
-         casadi_vertsplit__0,
-         casadi_vertsplit__1,
-         casadi_vertsplit__10,
-         casadi_vertsplit__11,
-         casadi_vertsplit__12,
-         casadi_vertsplit__13,
-         casadi_vertsplit__14,
-         casadi_vertsplit__2,
-         casadi_vertsplit__3,
-         casadi_vertsplit__4,
-         casadi_vertsplit__5,
-         casadi_vertsplit__6,
-         casadi_vertsplit__7,
-         casadi_vertsplit__8,
-         casadi_vertsplit__9,
-         collocationInterpolators,
-         collocation_interpolators,
-         collocation_points__0,
-         collocation_points__1,
-         complement,
-         conic__0,
-         conic__1,
-         conic_in__0,
-         conic_in__1,
-         conic_n_in,
-         conic_n_out,
-         conic_out__0,
-         conic_out__1,
-         doc_conic,
-         doc_dple,
-         doc_integrator,
-         doc_interpolant,
-         doc_linsol,
-         doc_nlpsol,
-         doc_rootfinder,
-         dple_in__0,
-         dple_in__1,
-         dple_n_in,
-         dple_n_out,
-         dple_out__0,
-         dple_out__1,
-         dplesol__0,
-         dplesol__1,
-         dplesol__2,
-         dplesol__3,
-         dplesol__4,
-         dplesol__5,
-         dplesol__6,
-         dplesol__7,
-         external__0,
-         external__1,
-         external__2,
-         external__3,
-         external__4,
-         external__5,
-         has_conic,
-         has_dple,
-         has_integrator,
-         has_interpolant,
-         has_linsol,
-         has_nlpsol,
-         has_rootfinder,
-         hash_combine,
-         hash_sparsity,
-         integrator__0,
-         integrator__1,
-         integrator__2,
-         integrator__3,
-         integrator_in__0,
-         integrator_in__1,
-         integrator_n_in,
-         integrator_n_out,
-         integrator_out__0,
-         integrator_out__1,
-         interpolant__0,
-         interpolant__1,
-         is_slice2,
-         is_slice__0,
-         is_slice__1,
-         is_slice__2,
-         is_slice__3,
-         jit__0,
-         jit__1,
-         linsol_new__0,
-         linsol_new__1,
-         load_conic,
-         load_dple,
-         load_integrator,
-         load_interpolant,
-         load_linsol,
-         load_nlpsol,
-         load_rootfinder,
-         lookupvector,
-         nlpsol__0,
-         nlpsol__1,
-         nlpsol__2,
-         nlpsol__3,
-         nlpsol__4,
-         nlpsol__5,
-         nlpsol__6,
-         nlpsol__7,
-         nlpsol__8,
-         nlpsol__9,
-         nlpsol_default_in__0,
-         nlpsol_default_in__1,
-         nlpsol_in__0,
-         nlpsol_in__1,
-         nlpsol_n_in,
-         nlpsol_n_out,
-         nlpsol_out__0,
-         nlpsol_out__1,
-         qpsol__0,
-         qpsol__1,
-         qpsol__2,
-         qpsol__3,
-         rootfinder__0,
-         rootfinder__1,
-         simpleIRK__0,
-         simpleIRK__1,
-         simpleIRK__2,
-         simpleIRK__3,
-         simpleIRK__4,
-         simpleIRK__5,
-         simpleIntegrator__0,
-         simpleIntegrator__1,
-         simpleIntegrator__2,
-         simpleRK__0,
-         simpleRK__1,
-         simpleRK__2,
-         to_slice2,
-         to_slice__0,
-         to_slice__1,
-         to_slice__2,
-         to_slice__3,
-       ) where
-
-
-import Data.Vector ( Vector )
-import qualified Data.Map as M
-import Foreign.C.Types
-import Foreign.Marshal ( new, free )
-import Foreign.Storable ( peek )
-import Foreign.Ptr ( Ptr, nullPtr )
-
-import Casadi.Core.Data
-import Casadi.Core.Enums
-import Casadi.Internal.FormatException ( formatException )
-import Casadi.Internal.MarshalTypes ( StdMap, StdVec, StdString, StdPair )
-import Casadi.Internal.Marshal ( Marshal(..) )
-import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-foreign import ccall unsafe "casadi_abs__0" c_casadi_abs__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_abs__0
-  :: Double -> IO Double
-casadi_abs__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_abs__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_abs__1" c_casadi_abs__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_abs__1
-  :: SX -> IO SX
-casadi_abs__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_abs__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_abs__2" c_casadi_abs__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_abs__2
-  :: DM -> IO DM
-casadi_abs__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_abs__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_abs__3" c_casadi_abs__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_abs__3
-  :: IM -> IO IM
-casadi_abs__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_abs__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_abs__4" c_casadi_abs__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_abs__4
-  :: MX -> IO MX
-casadi_abs__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_abs__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_acos__0" c_casadi_acos__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_acos__0
-  :: Double -> IO Double
-casadi_acos__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_acos__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_acos__1" c_casadi_acos__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_acos__1
-  :: SX -> IO SX
-casadi_acos__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_acos__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_acos__2" c_casadi_acos__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_acos__2
-  :: DM -> IO DM
-casadi_acos__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_acos__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_acos__3" c_casadi_acos__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_acos__3
-  :: IM -> IO IM
-casadi_acos__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_acos__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_acos__4" c_casadi_acos__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_acos__4
-  :: MX -> IO MX
-casadi_acos__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_acos__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_acosh__0" c_casadi_acosh__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_acosh__0
-  :: Double -> IO Double
-casadi_acosh__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_acosh__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_acosh__1" c_casadi_acosh__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_acosh__1
-  :: SX -> IO SX
-casadi_acosh__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_acosh__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_acosh__2" c_casadi_acosh__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_acosh__2
-  :: DM -> IO DM
-casadi_acosh__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_acosh__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_acosh__3" c_casadi_acosh__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_acosh__3
-  :: IM -> IO IM
-casadi_acosh__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_acosh__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_acosh__4" c_casadi_acosh__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_acosh__4
-  :: MX -> IO MX
-casadi_acosh__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_acosh__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_adj__0" c_casadi_adj__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_adj__0
-  :: SX -> IO SX
-casadi_adj__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_adj__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_adj__1" c_casadi_adj__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_adj__1
-  :: DM -> IO DM
-casadi_adj__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_adj__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_adj__2" c_casadi_adj__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_adj__2
-  :: IM -> IO IM
-casadi_adj__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_adj__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_all__0" c_casadi_all__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_all__0
-  :: SX -> IO SX
-casadi_all__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_all__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_all__1" c_casadi_all__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_all__1
-  :: DM -> IO DM
-casadi_all__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_all__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_all__2" c_casadi_all__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_all__2
-  :: IM -> IO IM
-casadi_all__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_all__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_and__0" c_casadi_and__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_and__0
-  :: Double -> Double -> IO Double
-casadi_and__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_and__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_and__1" c_casadi_and__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_and__1
-  :: SX -> SX -> IO SX
-casadi_and__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_and__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_and__2" c_casadi_and__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_and__2
-  :: DM -> DM -> IO DM
-casadi_and__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_and__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_and__3" c_casadi_and__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_and__3
-  :: IM -> IM -> IO IM
-casadi_and__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_and__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_and__4" c_casadi_and__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_and__4
-  :: MX -> MX -> IO MX
-casadi_and__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_and__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_any__0" c_casadi_any__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_any__0
-  :: SX -> IO SX
-casadi_any__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_any__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_any__1" c_casadi_any__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_any__1
-  :: DM -> IO DM
-casadi_any__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_any__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_any__2" c_casadi_any__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_any__2
-  :: IM -> IO IM
-casadi_any__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_any__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_asin__0" c_casadi_asin__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_asin__0
-  :: Double -> IO Double
-casadi_asin__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_asin__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_asin__1" c_casadi_asin__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_asin__1
-  :: SX -> IO SX
-casadi_asin__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_asin__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_asin__2" c_casadi_asin__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_asin__2
-  :: DM -> IO DM
-casadi_asin__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_asin__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_asin__3" c_casadi_asin__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_asin__3
-  :: IM -> IO IM
-casadi_asin__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_asin__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_asin__4" c_casadi_asin__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_asin__4
-  :: MX -> IO MX
-casadi_asin__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_asin__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_asinh__0" c_casadi_asinh__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_asinh__0
-  :: Double -> IO Double
-casadi_asinh__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_asinh__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_asinh__1" c_casadi_asinh__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_asinh__1
-  :: SX -> IO SX
-casadi_asinh__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_asinh__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_asinh__2" c_casadi_asinh__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_asinh__2
-  :: DM -> IO DM
-casadi_asinh__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_asinh__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_asinh__3" c_casadi_asinh__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_asinh__3
-  :: IM -> IO IM
-casadi_asinh__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_asinh__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_asinh__4" c_casadi_asinh__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_asinh__4
-  :: MX -> IO MX
-casadi_asinh__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_asinh__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atan__0" c_casadi_atan__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_atan__0
-  :: Double -> IO Double
-casadi_atan__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atan__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atan__1" c_casadi_atan__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_atan__1
-  :: SX -> IO SX
-casadi_atan__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atan__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atan__2" c_casadi_atan__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_atan__2
-  :: DM -> IO DM
-casadi_atan__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atan__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atan__3" c_casadi_atan__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_atan__3
-  :: IM -> IO IM
-casadi_atan__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atan__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atan__4" c_casadi_atan__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_atan__4
-  :: MX -> IO MX
-casadi_atan__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atan__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atan2__0" c_casadi_atan2__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_atan2__0
-  :: Double -> Double -> IO Double
-casadi_atan2__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atan2__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atan2__1" c_casadi_atan2__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_atan2__1
-  :: SX -> SX -> IO SX
-casadi_atan2__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atan2__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atan2__2" c_casadi_atan2__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_atan2__2
-  :: DM -> DM -> IO DM
-casadi_atan2__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atan2__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atan2__3" c_casadi_atan2__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_atan2__3
-  :: IM -> IM -> IO IM
-casadi_atan2__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atan2__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atan2__4" c_casadi_atan2__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_atan2__4
-  :: MX -> MX -> IO MX
-casadi_atan2__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atan2__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atanh__0" c_casadi_atanh__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_atanh__0
-  :: Double -> IO Double
-casadi_atanh__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atanh__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atanh__1" c_casadi_atanh__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_atanh__1
-  :: SX -> IO SX
-casadi_atanh__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atanh__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atanh__2" c_casadi_atanh__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_atanh__2
-  :: DM -> IO DM
-casadi_atanh__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atanh__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atanh__3" c_casadi_atanh__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_atanh__3
-  :: IM -> IO IM
-casadi_atanh__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atanh__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_atanh__4" c_casadi_atanh__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_atanh__4
-  :: MX -> IO MX
-casadi_atanh__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_atanh__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_bilin__0" c_casadi_bilin__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_bilin__0
-  :: SX -> SX -> SX -> IO SX
-casadi_bilin__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_bilin__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_bilin__1" c_casadi_bilin__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_bilin__1
-  :: DM -> DM -> DM -> IO DM
-casadi_bilin__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_bilin__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_bilin__2" c_casadi_bilin__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_bilin__2
-  :: IM -> IM -> IM -> IO IM
-casadi_bilin__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_bilin__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_bilin__3" c_casadi_bilin__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_bilin__3
-  :: MX -> MX -> MX -> IO MX
-casadi_bilin__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_bilin__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blockcat__0" c_casadi_blockcat__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_blockcat__0
-  :: SX -> SX -> SX -> SX -> IO SX
-casadi_blockcat__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blockcat__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blockcat__1" c_casadi_blockcat__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> IO (Ptr SX')
-
-casadi_blockcat__1
-  :: Vector (Vector SX) -> IO SX
-casadi_blockcat__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blockcat__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blockcat__2" c_casadi_blockcat__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_blockcat__2
-  :: DM -> DM -> DM -> DM -> IO DM
-casadi_blockcat__2 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blockcat__2 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blockcat__3" c_casadi_blockcat__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> IO (Ptr DM')
-
-casadi_blockcat__3
-  :: Vector (Vector DM) -> IO DM
-casadi_blockcat__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blockcat__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blockcat__4" c_casadi_blockcat__4
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_blockcat__4
-  :: IM -> IM -> IM -> IM -> IO IM
-casadi_blockcat__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blockcat__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blockcat__5" c_casadi_blockcat__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr IM')))) -> IO (Ptr IM')
-
-casadi_blockcat__5
-  :: Vector (Vector IM) -> IO IM
-casadi_blockcat__5 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blockcat__5 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blockcat__6" c_casadi_blockcat__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_blockcat__6
-  :: MX -> MX -> MX -> MX -> IO MX
-casadi_blockcat__6 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blockcat__6 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blockcat__7" c_casadi_blockcat__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> IO (Ptr MX')
-
-casadi_blockcat__7
-  :: Vector (Vector MX) -> IO MX
-casadi_blockcat__7 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blockcat__7 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blockcat__8" c_casadi_blockcat__8
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi_blockcat__8
-  :: Sparsity -> Sparsity -> Sparsity -> Sparsity -> IO Sparsity
-casadi_blockcat__8 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blockcat__8 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blockcat__9" c_casadi_blockcat__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> IO (Ptr Sparsity')
-
-casadi_blockcat__9
-  :: Vector (Vector Sparsity) -> IO Sparsity
-casadi_blockcat__9 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blockcat__9 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__0" c_casadi_blocksplit__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
-
-casadi_blocksplit__0
-  :: SX -> IO (Vector (Vector SX))
-casadi_blocksplit__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__1" c_casadi_blocksplit__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
-
-casadi_blocksplit__1
-  :: SX -> Int -> IO (Vector (Vector SX))
-casadi_blocksplit__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__2" c_casadi_blocksplit__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
-
-casadi_blocksplit__2
-  :: SX -> Int -> Int -> IO (Vector (Vector SX))
-casadi_blocksplit__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__3" c_casadi_blocksplit__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
-
-casadi_blocksplit__3
-  :: SX -> Vector Int -> Vector Int -> IO (Vector (Vector SX))
-casadi_blocksplit__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__4" c_casadi_blocksplit__4
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
-
-casadi_blocksplit__4
-  :: DM -> IO (Vector (Vector DM))
-casadi_blocksplit__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__5" c_casadi_blocksplit__5
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
-
-casadi_blocksplit__5
-  :: DM -> Int -> IO (Vector (Vector DM))
-casadi_blocksplit__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__6" c_casadi_blocksplit__6
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
-
-casadi_blocksplit__6
-  :: DM -> Int -> Int -> IO (Vector (Vector DM))
-casadi_blocksplit__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__7" c_casadi_blocksplit__7
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
-
-casadi_blocksplit__7
-  :: DM -> Vector Int -> Vector Int -> IO (Vector (Vector DM))
-casadi_blocksplit__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__8" c_casadi_blocksplit__8
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
-
-casadi_blocksplit__8
-  :: IM -> IO (Vector (Vector IM))
-casadi_blocksplit__8 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__8 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__9" c_casadi_blocksplit__9
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
-
-casadi_blocksplit__9
-  :: IM -> Int -> IO (Vector (Vector IM))
-casadi_blocksplit__9 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__9 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__10" c_casadi_blocksplit__10
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
-
-casadi_blocksplit__10
-  :: IM -> Int -> Int -> IO (Vector (Vector IM))
-casadi_blocksplit__10 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__10 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__11" c_casadi_blocksplit__11
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
-
-casadi_blocksplit__11
-  :: IM -> Vector Int -> Vector Int -> IO (Vector (Vector IM))
-casadi_blocksplit__11 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__11 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__12" c_casadi_blocksplit__12
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
-
-casadi_blocksplit__12
-  :: MX -> IO (Vector (Vector MX))
-casadi_blocksplit__12 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__12 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__13" c_casadi_blocksplit__13
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
-
-casadi_blocksplit__13
-  :: MX -> Int -> IO (Vector (Vector MX))
-casadi_blocksplit__13 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__13 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__14" c_casadi_blocksplit__14
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
-
-casadi_blocksplit__14
-  :: MX -> Int -> Int -> IO (Vector (Vector MX))
-casadi_blocksplit__14 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__14 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__15" c_casadi_blocksplit__15
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
-
-casadi_blocksplit__15
-  :: MX -> Vector Int -> Vector Int -> IO (Vector (Vector MX))
-casadi_blocksplit__15 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__15 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__16" c_casadi_blocksplit__16
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
-
-casadi_blocksplit__16
-  :: Sparsity -> IO (Vector (Vector Sparsity))
-casadi_blocksplit__16 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__16 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__17" c_casadi_blocksplit__17
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
-
-casadi_blocksplit__17
-  :: Sparsity -> Int -> IO (Vector (Vector Sparsity))
-casadi_blocksplit__17 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__17 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__18" c_casadi_blocksplit__18
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
-
-casadi_blocksplit__18
-  :: Sparsity -> Int -> Int -> IO (Vector (Vector Sparsity))
-casadi_blocksplit__18 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__18 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_blocksplit__19" c_casadi_blocksplit__19
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
-
-casadi_blocksplit__19
-  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector (Vector Sparsity))
-casadi_blocksplit__19 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_blocksplit__19 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ceil__0" c_casadi_ceil__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_ceil__0
-  :: Double -> IO Double
-casadi_ceil__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ceil__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ceil__1" c_casadi_ceil__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_ceil__1
-  :: SX -> IO SX
-casadi_ceil__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ceil__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ceil__2" c_casadi_ceil__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_ceil__2
-  :: DM -> IO DM
-casadi_ceil__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ceil__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ceil__3" c_casadi_ceil__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_ceil__3
-  :: IM -> IO IM
-casadi_ceil__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ceil__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ceil__4" c_casadi_ceil__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_ceil__4
-  :: MX -> IO MX
-casadi_ceil__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ceil__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_chol__0" c_casadi_chol__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_chol__0
-  :: SX -> IO SX
-casadi_chol__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_chol__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_chol__1" c_casadi_chol__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_chol__1
-  :: DM -> IO DM
-casadi_chol__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_chol__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_chol__2" c_casadi_chol__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_chol__2
-  :: IM -> IO IM
-casadi_chol__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_chol__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cofactor__0" c_casadi_cofactor__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-
-casadi_cofactor__0
-  :: SX -> Int -> Int -> IO SX
-casadi_cofactor__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cofactor__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cofactor__1" c_casadi_cofactor__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> CInt -> IO (Ptr DM')
-
-casadi_cofactor__1
-  :: DM -> Int -> Int -> IO DM
-casadi_cofactor__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cofactor__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cofactor__2" c_casadi_cofactor__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> CInt -> IO (Ptr IM')
-
-casadi_cofactor__2
-  :: IM -> Int -> Int -> IO IM
-casadi_cofactor__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cofactor__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_conditional__0" c_casadi_conditional__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SX')) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_conditional__0
-  :: SX -> Vector SX -> SX -> IO SX
-casadi_conditional__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_conditional__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_conditional__1" c_casadi_conditional__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SX')) -> Ptr SX' -> CInt -> IO (Ptr SX')
-
-casadi_conditional__1
-  :: SX -> Vector SX -> SX -> Bool -> IO SX
-casadi_conditional__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_conditional__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_conditional__2" c_casadi_conditional__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec (Ptr DM')) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_conditional__2
-  :: DM -> Vector DM -> DM -> IO DM
-casadi_conditional__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_conditional__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_conditional__3" c_casadi_conditional__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec (Ptr DM')) -> Ptr DM' -> CInt -> IO (Ptr DM')
-
-casadi_conditional__3
-  :: DM -> Vector DM -> DM -> Bool -> IO DM
-casadi_conditional__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_conditional__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_conditional__4" c_casadi_conditional__4
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec (Ptr IM')) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_conditional__4
-  :: IM -> Vector IM -> IM -> IO IM
-casadi_conditional__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_conditional__4 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_conditional__5" c_casadi_conditional__5
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec (Ptr IM')) -> Ptr IM' -> CInt -> IO (Ptr IM')
-
-casadi_conditional__5
-  :: IM -> Vector IM -> IM -> Bool -> IO IM
-casadi_conditional__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_conditional__5 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_conditional__6" c_casadi_conditional__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_conditional__6
-  :: MX -> Vector MX -> MX -> IO MX
-casadi_conditional__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_conditional__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_conditional__7" c_casadi_conditional__7
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> Ptr MX' -> CInt -> IO (Ptr MX')
-
-casadi_conditional__7
-  :: MX -> Vector MX -> MX -> Bool -> IO MX
-casadi_conditional__7 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_conditional__7 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_constpow__0" c_casadi_constpow__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_constpow__0
-  :: Double -> Double -> IO Double
-casadi_constpow__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_constpow__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_constpow__1" c_casadi_constpow__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_constpow__1
-  :: SX -> SX -> IO SX
-casadi_constpow__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_constpow__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_constpow__2" c_casadi_constpow__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_constpow__2
-  :: DM -> DM -> IO DM
-casadi_constpow__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_constpow__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_constpow__3" c_casadi_constpow__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_constpow__3
-  :: IM -> IM -> IO IM
-casadi_constpow__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_constpow__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_constpow__4" c_casadi_constpow__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_constpow__4
-  :: MX -> MX -> IO MX
-casadi_constpow__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_constpow__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_copysign__0" c_casadi_copysign__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_copysign__0
-  :: Double -> Double -> IO Double
-casadi_copysign__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_copysign__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_copysign__1" c_casadi_copysign__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_copysign__1
-  :: SX -> SX -> IO SX
-casadi_copysign__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_copysign__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_copysign__2" c_casadi_copysign__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_copysign__2
-  :: DM -> DM -> IO DM
-casadi_copysign__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_copysign__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_copysign__3" c_casadi_copysign__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_copysign__3
-  :: IM -> IM -> IO IM
-casadi_copysign__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_copysign__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_copysign__4" c_casadi_copysign__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_copysign__4
-  :: MX -> MX -> IO MX
-casadi_copysign__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_copysign__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cos__0" c_casadi_cos__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_cos__0
-  :: Double -> IO Double
-casadi_cos__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cos__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cos__1" c_casadi_cos__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_cos__1
-  :: SX -> IO SX
-casadi_cos__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cos__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cos__2" c_casadi_cos__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_cos__2
-  :: DM -> IO DM
-casadi_cos__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cos__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cos__3" c_casadi_cos__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_cos__3
-  :: IM -> IO IM
-casadi_cos__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cos__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cos__4" c_casadi_cos__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_cos__4
-  :: MX -> IO MX
-casadi_cos__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cos__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cosh__0" c_casadi_cosh__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_cosh__0
-  :: Double -> IO Double
-casadi_cosh__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cosh__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cosh__1" c_casadi_cosh__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_cosh__1
-  :: SX -> IO SX
-casadi_cosh__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cosh__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cosh__2" c_casadi_cosh__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_cosh__2
-  :: DM -> IO DM
-casadi_cosh__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cosh__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cosh__3" c_casadi_cosh__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_cosh__3
-  :: IM -> IO IM
-casadi_cosh__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cosh__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cosh__4" c_casadi_cosh__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_cosh__4
-  :: MX -> IO MX
-casadi_cosh__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cosh__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cross__0" c_casadi_cross__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_cross__0
-  :: SX -> SX -> IO SX
-casadi_cross__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cross__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cross__1" c_casadi_cross__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-
-casadi_cross__1
-  :: SX -> SX -> Int -> IO SX
-casadi_cross__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cross__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cross__2" c_casadi_cross__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_cross__2
-  :: DM -> DM -> IO DM
-casadi_cross__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cross__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cross__3" c_casadi_cross__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> IO (Ptr DM')
-
-casadi_cross__3
-  :: DM -> DM -> Int -> IO DM
-casadi_cross__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cross__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cross__4" c_casadi_cross__4
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_cross__4
-  :: IM -> IM -> IO IM
-casadi_cross__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cross__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cross__5" c_casadi_cross__5
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> IO (Ptr IM')
-
-casadi_cross__5
-  :: IM -> IM -> Int -> IO IM
-casadi_cross__5 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cross__5 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cross__6" c_casadi_cross__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_cross__6
-  :: MX -> MX -> IO MX
-casadi_cross__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cross__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_cross__7" c_casadi_cross__7
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> IO (Ptr MX')
-
-casadi_cross__7
-  :: MX -> MX -> Int -> IO MX
-casadi_cross__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_cross__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_densify__0" c_casadi_densify__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_densify__0
-  :: SX -> IO SX
-casadi_densify__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_densify__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_densify__1" c_casadi_densify__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_densify__1
-  :: DM -> IO DM
-casadi_densify__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_densify__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_densify__2" c_casadi_densify__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_densify__2
-  :: IM -> IO IM
-casadi_densify__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_densify__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_densify__3" c_casadi_densify__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_densify__3
-  :: MX -> IO MX
-casadi_densify__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_densify__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_depends_on__0" c_casadi_depends_on__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO CInt
-
-casadi_depends_on__0
-  :: SX -> SX -> IO Bool
-casadi_depends_on__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_depends_on__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_depends_on__1" c_casadi_depends_on__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO CInt
-
-casadi_depends_on__1
-  :: DM -> DM -> IO Bool
-casadi_depends_on__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_depends_on__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_depends_on__2" c_casadi_depends_on__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO CInt
-
-casadi_depends_on__2
-  :: IM -> IM -> IO Bool
-casadi_depends_on__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_depends_on__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_depends_on__3" c_casadi_depends_on__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO CInt
-
-casadi_depends_on__3
-  :: MX -> MX -> IO Bool
-casadi_depends_on__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_depends_on__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_det__0" c_casadi_det__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_det__0
-  :: SX -> IO SX
-casadi_det__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_det__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_det__1" c_casadi_det__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_det__1
-  :: DM -> IO DM
-casadi_det__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_det__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_det__2" c_casadi_det__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_det__2
-  :: IM -> IO IM
-casadi_det__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_det__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_det__3" c_casadi_det__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_det__3
-  :: MX -> IO MX
-casadi_det__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_det__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diag__0" c_casadi_diag__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_diag__0
-  :: SX -> IO SX
-casadi_diag__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diag__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diag__1" c_casadi_diag__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_diag__1
-  :: DM -> IO DM
-casadi_diag__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diag__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diag__2" c_casadi_diag__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_diag__2
-  :: IM -> IO IM
-casadi_diag__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diag__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diag__3" c_casadi_diag__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_diag__3
-  :: MX -> IO MX
-casadi_diag__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diag__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagcat__0" c_casadi_diagcat__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
-
-casadi_diagcat__0
-  :: Vector SX -> IO SX
-casadi_diagcat__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagcat__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagcat__1" c_casadi_diagcat__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> IO (Ptr DM')
-
-casadi_diagcat__1
-  :: Vector DM -> IO DM
-casadi_diagcat__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagcat__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagcat__2" c_casadi_diagcat__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> IO (Ptr IM')
-
-casadi_diagcat__2
-  :: Vector IM -> IO IM
-casadi_diagcat__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagcat__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagcat__3" c_casadi_diagcat__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-
-casadi_diagcat__3
-  :: Vector MX -> IO MX
-casadi_diagcat__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagcat__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagcat__4" c_casadi_diagcat__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
-
-casadi_diagcat__4
-  :: Vector Sparsity -> IO Sparsity
-casadi_diagcat__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagcat__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__0" c_casadi_diagsplit__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi_diagsplit__0
-  :: SX -> Int -> Int -> IO (Vector SX)
-casadi_diagsplit__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__1" c_casadi_diagsplit__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi_diagsplit__1
-  :: SX -> IO (Vector SX)
-casadi_diagsplit__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__2" c_casadi_diagsplit__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi_diagsplit__2
-  :: SX -> Int -> IO (Vector SX)
-casadi_diagsplit__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__3" c_casadi_diagsplit__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi_diagsplit__3
-  :: SX -> Vector Int -> IO (Vector SX)
-casadi_diagsplit__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__4" c_casadi_diagsplit__4
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi_diagsplit__4
-  :: SX -> Vector Int -> Vector Int -> IO (Vector SX)
-casadi_diagsplit__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__4 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__5" c_casadi_diagsplit__5
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi_diagsplit__5
-  :: DM -> Int -> Int -> IO (Vector DM)
-casadi_diagsplit__5 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__5 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__6" c_casadi_diagsplit__6
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi_diagsplit__6
-  :: DM -> IO (Vector DM)
-casadi_diagsplit__6 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__6 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__7" c_casadi_diagsplit__7
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi_diagsplit__7
-  :: DM -> Int -> IO (Vector DM)
-casadi_diagsplit__7 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__7 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__8" c_casadi_diagsplit__8
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi_diagsplit__8
-  :: DM -> Vector Int -> IO (Vector DM)
-casadi_diagsplit__8 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__8 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__9" c_casadi_diagsplit__9
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi_diagsplit__9
-  :: DM -> Vector Int -> Vector Int -> IO (Vector DM)
-casadi_diagsplit__9 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__9 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__10" c_casadi_diagsplit__10
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi_diagsplit__10
-  :: IM -> Int -> Int -> IO (Vector IM)
-casadi_diagsplit__10 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__10 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__11" c_casadi_diagsplit__11
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi_diagsplit__11
-  :: IM -> IO (Vector IM)
-casadi_diagsplit__11 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__11 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__12" c_casadi_diagsplit__12
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi_diagsplit__12
-  :: IM -> Int -> IO (Vector IM)
-casadi_diagsplit__12 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__12 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__13" c_casadi_diagsplit__13
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi_diagsplit__13
-  :: IM -> Vector Int -> IO (Vector IM)
-casadi_diagsplit__13 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__13 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__14" c_casadi_diagsplit__14
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi_diagsplit__14
-  :: IM -> Vector Int -> Vector Int -> IO (Vector IM)
-casadi_diagsplit__14 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__14 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__15" c_casadi_diagsplit__15
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_diagsplit__15
-  :: MX -> Int -> Int -> IO (Vector MX)
-casadi_diagsplit__15 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__15 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__16" c_casadi_diagsplit__16
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_diagsplit__16
-  :: MX -> IO (Vector MX)
-casadi_diagsplit__16 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__16 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__17" c_casadi_diagsplit__17
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_diagsplit__17
-  :: MX -> Int -> IO (Vector MX)
-casadi_diagsplit__17 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__17 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__18" c_casadi_diagsplit__18
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_diagsplit__18
-  :: MX -> Vector Int -> IO (Vector MX)
-casadi_diagsplit__18 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__18 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__19" c_casadi_diagsplit__19
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_diagsplit__19
-  :: MX -> Vector Int -> Vector Int -> IO (Vector MX)
-casadi_diagsplit__19 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__19 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__20" c_casadi_diagsplit__20
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr Sparsity')))
-
-casadi_diagsplit__20
-  :: Sparsity -> Int -> Int -> IO (Vector Sparsity)
-casadi_diagsplit__20 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__20 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__21" c_casadi_diagsplit__21
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec (Ptr Sparsity')))
-
-casadi_diagsplit__21
-  :: Sparsity -> IO (Vector Sparsity)
-casadi_diagsplit__21 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__21 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__22" c_casadi_diagsplit__22
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr Sparsity')))
-
-casadi_diagsplit__22
-  :: Sparsity -> Int -> IO (Vector Sparsity)
-casadi_diagsplit__22 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__22 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__23" c_casadi_diagsplit__23
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr Sparsity')))
-
-casadi_diagsplit__23
-  :: Sparsity -> Vector Int -> IO (Vector Sparsity)
-casadi_diagsplit__23 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__23 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_diagsplit__24" c_casadi_diagsplit__24
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr Sparsity')))
-
-casadi_diagsplit__24
-  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector Sparsity)
-casadi_diagsplit__24 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_diagsplit__24 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_dot__0" c_casadi_dot__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_dot__0
-  :: SX -> SX -> IO SX
-casadi_dot__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_dot__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_dot__1" c_casadi_dot__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_dot__1
-  :: DM -> DM -> IO DM
-casadi_dot__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_dot__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_dot__2" c_casadi_dot__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_dot__2
-  :: IM -> IM -> IO IM
-casadi_dot__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_dot__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_dot__3" c_casadi_dot__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_dot__3
-  :: MX -> MX -> IO MX
-casadi_dot__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_dot__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_eig_symbolic__0" c_casadi_eig_symbolic__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_eig_symbolic__0
-  :: SX -> IO SX
-casadi_eig_symbolic__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_eig_symbolic__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_eig_symbolic__1" c_casadi_eig_symbolic__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_eig_symbolic__1
-  :: DM -> IO DM
-casadi_eig_symbolic__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_eig_symbolic__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_eig_symbolic__2" c_casadi_eig_symbolic__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_eig_symbolic__2
-  :: IM -> IO IM
-casadi_eig_symbolic__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_eig_symbolic__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_eq__0" c_casadi_eq__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_eq__0
-  :: Double -> Double -> IO Double
-casadi_eq__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_eq__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_eq__1" c_casadi_eq__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_eq__1
-  :: SX -> SX -> IO SX
-casadi_eq__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_eq__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_eq__2" c_casadi_eq__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_eq__2
-  :: DM -> DM -> IO DM
-casadi_eq__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_eq__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_eq__3" c_casadi_eq__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_eq__3
-  :: IM -> IM -> IO IM
-casadi_eq__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_eq__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_eq__4" c_casadi_eq__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_eq__4
-  :: MX -> MX -> IO MX
-casadi_eq__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_eq__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_erf__0" c_casadi_erf__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_erf__0
-  :: Double -> IO Double
-casadi_erf__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_erf__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_erf__1" c_casadi_erf__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_erf__1
-  :: SX -> IO SX
-casadi_erf__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_erf__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_erf__2" c_casadi_erf__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_erf__2
-  :: DM -> IO DM
-casadi_erf__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_erf__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_erf__3" c_casadi_erf__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_erf__3
-  :: IM -> IO IM
-casadi_erf__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_erf__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_erf__4" c_casadi_erf__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_erf__4
-  :: MX -> IO MX
-casadi_erf__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_erf__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_erfinv__0" c_casadi_erfinv__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_erfinv__0
-  :: Double -> IO Double
-casadi_erfinv__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_erfinv__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_erfinv__1" c_casadi_erfinv__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_erfinv__1
-  :: SX -> IO SX
-casadi_erfinv__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_erfinv__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_erfinv__2" c_casadi_erfinv__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_erfinv__2
-  :: DM -> IO DM
-casadi_erfinv__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_erfinv__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_erfinv__3" c_casadi_erfinv__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_erfinv__3
-  :: IM -> IO IM
-casadi_erfinv__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_erfinv__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_erfinv__4" c_casadi_erfinv__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_erfinv__4
-  :: MX -> IO MX
-casadi_erfinv__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_erfinv__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_exp__0" c_casadi_exp__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_exp__0
-  :: Double -> IO Double
-casadi_exp__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_exp__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_exp__1" c_casadi_exp__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_exp__1
-  :: SX -> IO SX
-casadi_exp__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_exp__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_exp__2" c_casadi_exp__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_exp__2
-  :: DM -> IO DM
-casadi_exp__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_exp__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_exp__3" c_casadi_exp__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_exp__3
-  :: IM -> IO IM
-casadi_exp__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_exp__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_exp__4" c_casadi_exp__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_exp__4
-  :: MX -> IO MX
-casadi_exp__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_exp__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_expand__0" c_casadi_expand__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
-
-casadi_expand__0
-  :: SX -> SX -> SX -> IO ()
-casadi_expand__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_expand__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_expand__1" c_casadi_expand__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO ()
-
-casadi_expand__1
-  :: DM -> DM -> DM -> IO ()
-casadi_expand__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_expand__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_expand__2" c_casadi_expand__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO ()
-
-casadi_expand__2
-  :: IM -> IM -> IM -> IO ()
-casadi_expand__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_expand__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_find" c_casadi_find
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_find
-  :: MX -> IO MX
-casadi_find x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_find errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_floor__0" c_casadi_floor__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_floor__0
-  :: Double -> IO Double
-casadi_floor__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_floor__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_floor__1" c_casadi_floor__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_floor__1
-  :: SX -> IO SX
-casadi_floor__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_floor__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_floor__2" c_casadi_floor__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_floor__2
-  :: DM -> IO DM
-casadi_floor__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_floor__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_floor__3" c_casadi_floor__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_floor__3
-  :: IM -> IO IM
-casadi_floor__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_floor__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_floor__4" c_casadi_floor__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_floor__4
-  :: MX -> IO MX
-casadi_floor__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_floor__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gauss_quadrature__0" c_casadi_gauss_quadrature__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> Ptr SX' -> IO (Ptr SX')
-
-casadi_gauss_quadrature__0
-  :: SX -> SX -> SX -> SX -> Int -> SX -> IO SX
-casadi_gauss_quadrature__0 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gauss_quadrature__0 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gauss_quadrature__1" c_casadi_gauss_quadrature__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_gauss_quadrature__1
-  :: SX -> SX -> SX -> SX -> IO SX
-casadi_gauss_quadrature__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gauss_quadrature__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gauss_quadrature__2" c_casadi_gauss_quadrature__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-
-casadi_gauss_quadrature__2
-  :: SX -> SX -> SX -> SX -> Int -> IO SX
-casadi_gauss_quadrature__2 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gauss_quadrature__2 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gauss_quadrature__3" c_casadi_gauss_quadrature__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> CInt -> Ptr DM' -> IO (Ptr DM')
-
-casadi_gauss_quadrature__3
-  :: DM -> DM -> DM -> DM -> Int -> DM -> IO DM
-casadi_gauss_quadrature__3 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gauss_quadrature__3 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gauss_quadrature__4" c_casadi_gauss_quadrature__4
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_gauss_quadrature__4
-  :: DM -> DM -> DM -> DM -> IO DM
-casadi_gauss_quadrature__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gauss_quadrature__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gauss_quadrature__5" c_casadi_gauss_quadrature__5
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> CInt -> IO (Ptr DM')
-
-casadi_gauss_quadrature__5
-  :: DM -> DM -> DM -> DM -> Int -> IO DM
-casadi_gauss_quadrature__5 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gauss_quadrature__5 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gauss_quadrature__6" c_casadi_gauss_quadrature__6
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> CInt -> Ptr IM' -> IO (Ptr IM')
-
-casadi_gauss_quadrature__6
-  :: IM -> IM -> IM -> IM -> Int -> IM -> IO IM
-casadi_gauss_quadrature__6 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gauss_quadrature__6 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gauss_quadrature__7" c_casadi_gauss_quadrature__7
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_gauss_quadrature__7
-  :: IM -> IM -> IM -> IM -> IO IM
-casadi_gauss_quadrature__7 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gauss_quadrature__7 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gauss_quadrature__8" c_casadi_gauss_quadrature__8
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> CInt -> IO (Ptr IM')
-
-casadi_gauss_quadrature__8
-  :: IM -> IM -> IM -> IM -> Int -> IO IM
-casadi_gauss_quadrature__8 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gauss_quadrature__8 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ge__0" c_casadi_ge__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_ge__0
-  :: Double -> Double -> IO Double
-casadi_ge__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ge__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ge__1" c_casadi_ge__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_ge__1
-  :: SX -> SX -> IO SX
-casadi_ge__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ge__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ge__2" c_casadi_ge__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_ge__2
-  :: DM -> DM -> IO DM
-casadi_ge__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ge__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ge__3" c_casadi_ge__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_ge__3
-  :: IM -> IM -> IO IM
-casadi_ge__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ge__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ge__4" c_casadi_ge__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_ge__4
-  :: MX -> MX -> IO MX
-casadi_ge__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ge__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_getMinor__0" c_casadi_getMinor__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-
-casadi_getMinor__0
-  :: SX -> Int -> Int -> IO SX
-casadi_getMinor__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_getMinor__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_getMinor__1" c_casadi_getMinor__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> CInt -> IO (Ptr DM')
-
-casadi_getMinor__1
-  :: DM -> Int -> Int -> IO DM
-casadi_getMinor__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_getMinor__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_getMinor__2" c_casadi_getMinor__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> CInt -> IO (Ptr IM')
-
-casadi_getMinor__2
-  :: IM -> Int -> Int -> IO IM
-casadi_getMinor__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_getMinor__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gradient__0" c_casadi_gradient__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_gradient__0
-  :: SX -> SX -> IO SX
-casadi_gradient__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gradient__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gradient__1" c_casadi_gradient__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_gradient__1
-  :: DM -> DM -> IO DM
-casadi_gradient__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gradient__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gradient__2" c_casadi_gradient__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_gradient__2
-  :: IM -> IM -> IO IM
-casadi_gradient__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gradient__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gradient__3" c_casadi_gradient__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_gradient__3
-  :: MX -> MX -> IO MX
-casadi_gradient__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gradient__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_graph_substitute__0" c_casadi_graph_substitute__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_graph_substitute__0
-  :: Vector MX -> Vector MX -> Vector MX -> IO (Vector MX)
-casadi_graph_substitute__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_graph_substitute__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_graph_substitute__1" c_casadi_graph_substitute__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-
-casadi_graph_substitute__1
-  :: MX -> Vector MX -> Vector MX -> IO MX
-casadi_graph_substitute__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_graph_substitute__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gt__0" c_casadi_gt__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_gt__0
-  :: Double -> Double -> IO Double
-casadi_gt__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gt__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gt__1" c_casadi_gt__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_gt__1
-  :: SX -> SX -> IO SX
-casadi_gt__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gt__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gt__2" c_casadi_gt__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_gt__2
-  :: DM -> DM -> IO DM
-casadi_gt__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gt__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gt__3" c_casadi_gt__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_gt__3
-  :: IM -> IM -> IO IM
-casadi_gt__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gt__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_gt__4" c_casadi_gt__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_gt__4
-  :: MX -> MX -> IO MX
-casadi_gt__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_gt__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_heaviside__0" c_casadi_heaviside__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_heaviside__0
-  :: SX -> IO SX
-casadi_heaviside__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_heaviside__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_heaviside__1" c_casadi_heaviside__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_heaviside__1
-  :: DM -> IO DM
-casadi_heaviside__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_heaviside__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_heaviside__2" c_casadi_heaviside__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_heaviside__2
-  :: IM -> IO IM
-casadi_heaviside__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_heaviside__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_hessian__0" c_casadi_hessian__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_hessian__0
-  :: SX -> SX -> SX -> IO SX
-casadi_hessian__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_hessian__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_hessian__1" c_casadi_hessian__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_hessian__1
-  :: DM -> DM -> DM -> IO DM
-casadi_hessian__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_hessian__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_hessian__2" c_casadi_hessian__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_hessian__2
-  :: IM -> IM -> IM -> IO IM
-casadi_hessian__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_hessian__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_hessian__3" c_casadi_hessian__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_hessian__3
-  :: MX -> MX -> MX -> IO MX
-casadi_hessian__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_hessian__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzcat__0" c_casadi_horzcat__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
-
-casadi_horzcat__0
-  :: Vector SX -> IO SX
-casadi_horzcat__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzcat__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzcat__1" c_casadi_horzcat__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> IO (Ptr DM')
-
-casadi_horzcat__1
-  :: Vector DM -> IO DM
-casadi_horzcat__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzcat__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzcat__2" c_casadi_horzcat__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> IO (Ptr IM')
-
-casadi_horzcat__2
-  :: Vector IM -> IO IM
-casadi_horzcat__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzcat__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzcat__3" c_casadi_horzcat__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-
-casadi_horzcat__3
-  :: Vector MX -> IO MX
-casadi_horzcat__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzcat__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzcat__4" c_casadi_horzcat__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
-
-casadi_horzcat__4
-  :: Vector Sparsity -> IO Sparsity
-casadi_horzcat__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzcat__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__0" c_casadi_horzsplit__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi_horzsplit__0
-  :: SX -> IO (Vector SX)
-casadi_horzsplit__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__1" c_casadi_horzsplit__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi_horzsplit__1
-  :: SX -> Int -> IO (Vector SX)
-casadi_horzsplit__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__2" c_casadi_horzsplit__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi_horzsplit__2
-  :: SX -> Vector Int -> IO (Vector SX)
-casadi_horzsplit__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__3" c_casadi_horzsplit__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi_horzsplit__3
-  :: DM -> IO (Vector DM)
-casadi_horzsplit__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__4" c_casadi_horzsplit__4
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi_horzsplit__4
-  :: DM -> Int -> IO (Vector DM)
-casadi_horzsplit__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__5" c_casadi_horzsplit__5
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi_horzsplit__5
-  :: DM -> Vector Int -> IO (Vector DM)
-casadi_horzsplit__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__6" c_casadi_horzsplit__6
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi_horzsplit__6
-  :: IM -> IO (Vector IM)
-casadi_horzsplit__6 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__6 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__7" c_casadi_horzsplit__7
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi_horzsplit__7
-  :: IM -> Int -> IO (Vector IM)
-casadi_horzsplit__7 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__7 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__8" c_casadi_horzsplit__8
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi_horzsplit__8
-  :: IM -> Vector Int -> IO (Vector IM)
-casadi_horzsplit__8 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__8 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__9" c_casadi_horzsplit__9
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_horzsplit__9
-  :: MX -> IO (Vector MX)
-casadi_horzsplit__9 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__9 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__10" c_casadi_horzsplit__10
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_horzsplit__10
-  :: MX -> Int -> IO (Vector MX)
-casadi_horzsplit__10 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__10 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__11" c_casadi_horzsplit__11
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_horzsplit__11
-  :: MX -> Vector Int -> IO (Vector MX)
-casadi_horzsplit__11 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__11 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__12" c_casadi_horzsplit__12
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec (Ptr Sparsity')))
-
-casadi_horzsplit__12
-  :: Sparsity -> IO (Vector Sparsity)
-casadi_horzsplit__12 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__12 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__13" c_casadi_horzsplit__13
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr Sparsity')))
-
-casadi_horzsplit__13
-  :: Sparsity -> Int -> IO (Vector Sparsity)
-casadi_horzsplit__13 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__13 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_horzsplit__14" c_casadi_horzsplit__14
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr Sparsity')))
-
-casadi_horzsplit__14
-  :: Sparsity -> Vector Int -> IO (Vector Sparsity)
-casadi_horzsplit__14 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_horzsplit__14 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_if_else__0" c_casadi_if_else__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_if_else__0
-  :: SX -> SX -> SX -> IO SX
-casadi_if_else__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_if_else__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_if_else__1" c_casadi_if_else__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-
-casadi_if_else__1
-  :: SX -> SX -> SX -> Bool -> IO SX
-casadi_if_else__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_if_else__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_if_else__2" c_casadi_if_else__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_if_else__2
-  :: DM -> DM -> DM -> IO DM
-casadi_if_else__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_if_else__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_if_else__3" c_casadi_if_else__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> CInt -> IO (Ptr DM')
-
-casadi_if_else__3
-  :: DM -> DM -> DM -> Bool -> IO DM
-casadi_if_else__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_if_else__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_if_else__4" c_casadi_if_else__4
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_if_else__4
-  :: IM -> IM -> IM -> IO IM
-casadi_if_else__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_if_else__4 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_if_else__5" c_casadi_if_else__5
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> CInt -> IO (Ptr IM')
-
-casadi_if_else__5
-  :: IM -> IM -> IM -> Bool -> IO IM
-casadi_if_else__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_if_else__5 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_if_else__6" c_casadi_if_else__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_if_else__6
-  :: MX -> MX -> MX -> IO MX
-casadi_if_else__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_if_else__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_if_else__7" c_casadi_if_else__7
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> CInt -> IO (Ptr MX')
-
-casadi_if_else__7
-  :: MX -> MX -> MX -> Bool -> IO MX
-casadi_if_else__7 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_if_else__7 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_inv__0" c_casadi_inv__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_inv__0
-  :: SX -> IO SX
-casadi_inv__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_inv__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_inv__1" c_casadi_inv__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_inv__1
-  :: DM -> IO DM
-casadi_inv__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_inv__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_inv__2" c_casadi_inv__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_inv__2
-  :: IM -> IO IM
-casadi_inv__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_inv__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_inv__3" c_casadi_inv__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_inv__3
-  :: MX -> IO MX
-casadi_inv__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_inv__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_inv_skew__0" c_casadi_inv_skew__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_inv_skew__0
-  :: SX -> IO SX
-casadi_inv_skew__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_inv_skew__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_inv_skew__1" c_casadi_inv_skew__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_inv_skew__1
-  :: DM -> IO DM
-casadi_inv_skew__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_inv_skew__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_inv_skew__2" c_casadi_inv_skew__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_inv_skew__2
-  :: IM -> IO IM
-casadi_inv_skew__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_inv_skew__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_inv_skew__3" c_casadi_inv_skew__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_inv_skew__3
-  :: MX -> IO MX
-casadi_inv_skew__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_inv_skew__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_is_equal__0" c_casadi_is_equal__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CInt
-
-casadi_is_equal__0
-  :: Double -> Double -> IO Bool
-casadi_is_equal__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_is_equal__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_is_equal__1" c_casadi_is_equal__1
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> CInt -> IO CInt
-
-casadi_is_equal__1
-  :: Double -> Double -> Int -> IO Bool
-casadi_is_equal__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_is_equal__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_is_equal__2" c_casadi_is_equal__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO CInt
-
-casadi_is_equal__2
-  :: SX -> SX -> IO Bool
-casadi_is_equal__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_is_equal__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_is_equal__3" c_casadi_is_equal__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> IO CInt
-
-casadi_is_equal__3
-  :: SX -> SX -> Int -> IO Bool
-casadi_is_equal__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_is_equal__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_is_equal__4" c_casadi_is_equal__4
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO CInt
-
-casadi_is_equal__4
-  :: DM -> DM -> IO Bool
-casadi_is_equal__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_is_equal__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_is_equal__5" c_casadi_is_equal__5
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> IO CInt
-
-casadi_is_equal__5
-  :: DM -> DM -> Int -> IO Bool
-casadi_is_equal__5 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_is_equal__5 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_is_equal__6" c_casadi_is_equal__6
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO CInt
-
-casadi_is_equal__6
-  :: IM -> IM -> IO Bool
-casadi_is_equal__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_is_equal__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_is_equal__7" c_casadi_is_equal__7
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> IO CInt
-
-casadi_is_equal__7
-  :: IM -> IM -> Int -> IO Bool
-casadi_is_equal__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_is_equal__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_is_equal__8" c_casadi_is_equal__8
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO CInt
-
-casadi_is_equal__8
-  :: MX -> MX -> IO Bool
-casadi_is_equal__8 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_is_equal__8 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_is_equal__9" c_casadi_is_equal__9
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> IO CInt
-
-casadi_is_equal__9
-  :: MX -> MX -> Int -> IO Bool
-casadi_is_equal__9 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_is_equal__9 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_jacobian__0" c_casadi_jacobian__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_jacobian__0
-  :: SX -> SX -> IO SX
-casadi_jacobian__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_jacobian__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_jacobian__1" c_casadi_jacobian__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_jacobian__1
-  :: DM -> DM -> IO DM
-casadi_jacobian__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_jacobian__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_jacobian__2" c_casadi_jacobian__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_jacobian__2
-  :: IM -> IM -> IO IM
-casadi_jacobian__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_jacobian__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_jacobian__3" c_casadi_jacobian__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_jacobian__3
-  :: MX -> MX -> IO MX
-casadi_jacobian__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_jacobian__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_jtimes__0" c_casadi_jtimes__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_jtimes__0
-  :: SX -> SX -> SX -> IO SX
-casadi_jtimes__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_jtimes__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_jtimes__1" c_casadi_jtimes__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-
-casadi_jtimes__1
-  :: SX -> SX -> SX -> Bool -> IO SX
-casadi_jtimes__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_jtimes__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_jtimes__2" c_casadi_jtimes__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_jtimes__2
-  :: DM -> DM -> DM -> IO DM
-casadi_jtimes__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_jtimes__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_jtimes__3" c_casadi_jtimes__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> CInt -> IO (Ptr DM')
-
-casadi_jtimes__3
-  :: DM -> DM -> DM -> Bool -> IO DM
-casadi_jtimes__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_jtimes__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_jtimes__4" c_casadi_jtimes__4
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_jtimes__4
-  :: IM -> IM -> IM -> IO IM
-casadi_jtimes__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_jtimes__4 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_jtimes__5" c_casadi_jtimes__5
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> CInt -> IO (Ptr IM')
-
-casadi_jtimes__5
-  :: IM -> IM -> IM -> Bool -> IO IM
-casadi_jtimes__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_jtimes__5 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_jtimes__6" c_casadi_jtimes__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_jtimes__6
-  :: MX -> MX -> MX -> IO MX
-casadi_jtimes__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_jtimes__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_jtimes__7" c_casadi_jtimes__7
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> CInt -> IO (Ptr MX')
-
-casadi_jtimes__7
-  :: MX -> MX -> MX -> Bool -> IO MX
-casadi_jtimes__7 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_jtimes__7 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_kron__0" c_casadi_kron__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_kron__0
-  :: SX -> SX -> IO SX
-casadi_kron__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_kron__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_kron__1" c_casadi_kron__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_kron__1
-  :: DM -> DM -> IO DM
-casadi_kron__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_kron__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_kron__2" c_casadi_kron__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_kron__2
-  :: IM -> IM -> IO IM
-casadi_kron__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_kron__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_kron__3" c_casadi_kron__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_kron__3
-  :: MX -> MX -> IO MX
-casadi_kron__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_kron__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_kron__4" c_casadi_kron__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi_kron__4
-  :: Sparsity -> Sparsity -> IO Sparsity
-casadi_kron__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_kron__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ldivide__0" c_casadi_ldivide__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_ldivide__0
-  :: Double -> Double -> IO Double
-casadi_ldivide__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ldivide__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ldivide__1" c_casadi_ldivide__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_ldivide__1
-  :: SX -> SX -> IO SX
-casadi_ldivide__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ldivide__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ldivide__2" c_casadi_ldivide__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_ldivide__2
-  :: DM -> DM -> IO DM
-casadi_ldivide__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ldivide__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ldivide__3" c_casadi_ldivide__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_ldivide__3
-  :: IM -> IM -> IO IM
-casadi_ldivide__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ldivide__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ldivide__4" c_casadi_ldivide__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_ldivide__4
-  :: MX -> MX -> IO MX
-casadi_ldivide__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ldivide__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_le__0" c_casadi_le__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_le__0
-  :: Double -> Double -> IO Double
-casadi_le__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_le__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_le__1" c_casadi_le__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_le__1
-  :: SX -> SX -> IO SX
-casadi_le__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_le__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_le__2" c_casadi_le__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_le__2
-  :: DM -> DM -> IO DM
-casadi_le__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_le__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_le__3" c_casadi_le__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_le__3
-  :: IM -> IM -> IO IM
-casadi_le__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_le__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_le__4" c_casadi_le__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_le__4
-  :: MX -> MX -> IO MX
-casadi_le__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_le__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_linspace__0" c_casadi_linspace__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-
-casadi_linspace__0
-  :: SX -> SX -> Int -> IO SX
-casadi_linspace__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_linspace__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_linspace__1" c_casadi_linspace__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CInt -> IO (Ptr DM')
-
-casadi_linspace__1
-  :: DM -> DM -> Int -> IO DM
-casadi_linspace__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_linspace__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_linspace__2" c_casadi_linspace__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CInt -> IO (Ptr IM')
-
-casadi_linspace__2
-  :: IM -> IM -> Int -> IO IM
-casadi_linspace__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_linspace__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_linspace__3" c_casadi_linspace__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> IO (Ptr MX')
-
-casadi_linspace__3
-  :: MX -> MX -> Int -> IO MX
-casadi_linspace__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_linspace__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_log__0" c_casadi_log__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_log__0
-  :: Double -> IO Double
-casadi_log__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_log__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_log__1" c_casadi_log__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_log__1
-  :: SX -> IO SX
-casadi_log__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_log__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_log__2" c_casadi_log__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_log__2
-  :: DM -> IO DM
-casadi_log__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_log__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_log__3" c_casadi_log__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_log__3
-  :: IM -> IO IM
-casadi_log__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_log__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_log__4" c_casadi_log__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_log__4
-  :: MX -> IO MX
-casadi_log__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_log__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_log10__0" c_casadi_log10__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_log10__0
-  :: Double -> IO Double
-casadi_log10__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_log10__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_log10__1" c_casadi_log10__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_log10__1
-  :: SX -> IO SX
-casadi_log10__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_log10__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_log10__2" c_casadi_log10__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_log10__2
-  :: DM -> IO DM
-casadi_log10__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_log10__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_log10__3" c_casadi_log10__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_log10__3
-  :: IM -> IO IM
-casadi_log10__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_log10__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_log10__4" c_casadi_log10__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_log10__4
-  :: MX -> IO MX
-casadi_log10__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_log10__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_lt__0" c_casadi_lt__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_lt__0
-  :: Double -> Double -> IO Double
-casadi_lt__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_lt__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_lt__1" c_casadi_lt__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_lt__1
-  :: SX -> SX -> IO SX
-casadi_lt__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_lt__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_lt__2" c_casadi_lt__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_lt__2
-  :: DM -> DM -> IO DM
-casadi_lt__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_lt__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_lt__3" c_casadi_lt__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_lt__3
-  :: IM -> IM -> IO IM
-casadi_lt__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_lt__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_lt__4" c_casadi_lt__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_lt__4
-  :: MX -> MX -> IO MX
-casadi_lt__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_lt__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mac__0" c_casadi_mac__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_mac__0
-  :: SX -> SX -> SX -> IO SX
-casadi_mac__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mac__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mac__1" c_casadi_mac__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_mac__1
-  :: DM -> DM -> DM -> IO DM
-casadi_mac__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mac__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mac__2" c_casadi_mac__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_mac__2
-  :: IM -> IM -> IM -> IO IM
-casadi_mac__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mac__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mac__3" c_casadi_mac__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_mac__3
-  :: MX -> MX -> MX -> IO MX
-casadi_mac__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mac__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mac__4" c_casadi_mac__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi_mac__4
-  :: Sparsity -> Sparsity -> Sparsity -> IO Sparsity
-casadi_mac__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mac__4 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_matrix_expand__0" c_casadi_matrix_expand__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_matrix_expand__0
-  :: MX -> IO MX
-casadi_matrix_expand__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_matrix_expand__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_matrix_expand__1" c_casadi_matrix_expand__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-
-casadi_matrix_expand__1
-  :: MX -> Vector MX -> IO MX
-casadi_matrix_expand__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_matrix_expand__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_matrix_expand__2" c_casadi_matrix_expand__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr MX')
-
-casadi_matrix_expand__2
-  :: MX -> Vector MX -> M.Map String GenericType -> IO MX
-casadi_matrix_expand__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_matrix_expand__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_matrix_expand__3" c_casadi_matrix_expand__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_matrix_expand__3
-  :: Vector MX -> IO (Vector MX)
-casadi_matrix_expand__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_matrix_expand__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_matrix_expand__4" c_casadi_matrix_expand__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_matrix_expand__4
-  :: Vector MX -> Vector MX -> IO (Vector MX)
-casadi_matrix_expand__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_matrix_expand__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_matrix_expand__5" c_casadi_matrix_expand__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_matrix_expand__5
-  :: Vector MX -> Vector MX -> M.Map String GenericType -> IO (Vector MX)
-casadi_matrix_expand__5 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_matrix_expand__5 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_max__0" c_casadi_max__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_max__0
-  :: Double -> Double -> IO Double
-casadi_max__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_max__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_max__1" c_casadi_max__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_max__1
-  :: SX -> SX -> IO SX
-casadi_max__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_max__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_max__2" c_casadi_max__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_max__2
-  :: DM -> DM -> IO DM
-casadi_max__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_max__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_max__3" c_casadi_max__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_max__3
-  :: IM -> IM -> IO IM
-casadi_max__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_max__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_max__4" c_casadi_max__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_max__4
-  :: MX -> MX -> IO MX
-casadi_max__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_max__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_min__0" c_casadi_min__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_min__0
-  :: Double -> Double -> IO Double
-casadi_min__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_min__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_min__1" c_casadi_min__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_min__1
-  :: SX -> SX -> IO SX
-casadi_min__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_min__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_min__2" c_casadi_min__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_min__2
-  :: DM -> DM -> IO DM
-casadi_min__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_min__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_min__3" c_casadi_min__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_min__3
-  :: IM -> IM -> IO IM
-casadi_min__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_min__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_min__4" c_casadi_min__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_min__4
-  :: MX -> MX -> IO MX
-casadi_min__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_min__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_minus__0" c_casadi_minus__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_minus__0
-  :: Double -> Double -> IO Double
-casadi_minus__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_minus__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_minus__1" c_casadi_minus__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_minus__1
-  :: SX -> SX -> IO SX
-casadi_minus__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_minus__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_minus__2" c_casadi_minus__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_minus__2
-  :: DM -> DM -> IO DM
-casadi_minus__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_minus__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_minus__3" c_casadi_minus__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_minus__3
-  :: IM -> IM -> IO IM
-casadi_minus__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_minus__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_minus__4" c_casadi_minus__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_minus__4
-  :: MX -> MX -> IO MX
-casadi_minus__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_minus__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mldivide__0" c_casadi_mldivide__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_mldivide__0
-  :: SX -> SX -> IO SX
-casadi_mldivide__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mldivide__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mldivide__1" c_casadi_mldivide__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_mldivide__1
-  :: DM -> DM -> IO DM
-casadi_mldivide__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mldivide__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mldivide__2" c_casadi_mldivide__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_mldivide__2
-  :: IM -> IM -> IO IM
-casadi_mldivide__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mldivide__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mldivide__3" c_casadi_mldivide__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_mldivide__3
-  :: MX -> MX -> IO MX
-casadi_mldivide__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mldivide__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mod__0" c_casadi_mod__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_mod__0
-  :: Double -> Double -> IO Double
-casadi_mod__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mod__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mod__1" c_casadi_mod__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_mod__1
-  :: SX -> SX -> IO SX
-casadi_mod__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mod__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mod__2" c_casadi_mod__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_mod__2
-  :: DM -> DM -> IO DM
-casadi_mod__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mod__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mod__3" c_casadi_mod__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_mod__3
-  :: IM -> IM -> IO IM
-casadi_mod__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mod__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mod__4" c_casadi_mod__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_mod__4
-  :: MX -> MX -> IO MX
-casadi_mod__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mod__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mpower__0" c_casadi_mpower__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_mpower__0
-  :: SX -> SX -> IO SX
-casadi_mpower__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mpower__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mpower__1" c_casadi_mpower__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_mpower__1
-  :: DM -> DM -> IO DM
-casadi_mpower__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mpower__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mpower__2" c_casadi_mpower__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_mpower__2
-  :: IM -> IM -> IO IM
-casadi_mpower__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mpower__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mpower__3" c_casadi_mpower__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_mpower__3
-  :: MX -> MX -> IO MX
-casadi_mpower__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mpower__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mrdivide__0" c_casadi_mrdivide__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_mrdivide__0
-  :: SX -> SX -> IO SX
-casadi_mrdivide__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mrdivide__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mrdivide__1" c_casadi_mrdivide__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_mrdivide__1
-  :: DM -> DM -> IO DM
-casadi_mrdivide__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mrdivide__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mrdivide__2" c_casadi_mrdivide__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_mrdivide__2
-  :: IM -> IM -> IO IM
-casadi_mrdivide__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mrdivide__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mrdivide__3" c_casadi_mrdivide__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_mrdivide__3
-  :: MX -> MX -> IO MX
-casadi_mrdivide__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mrdivide__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtaylor__0" c_casadi_mtaylor__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> Ptr (StdVec CInt) -> IO (Ptr SX')
-
-casadi_mtaylor__0
-  :: SX -> SX -> SX -> Int -> Vector Int -> IO SX
-casadi_mtaylor__0 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtaylor__0 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtaylor__1" c_casadi_mtaylor__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_mtaylor__1
-  :: SX -> SX -> SX -> IO SX
-casadi_mtaylor__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtaylor__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtaylor__2" c_casadi_mtaylor__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-
-casadi_mtaylor__2
-  :: SX -> SX -> SX -> Int -> IO SX
-casadi_mtaylor__2 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtaylor__2 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtaylor__3" c_casadi_mtaylor__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> CInt -> Ptr (StdVec CInt) -> IO (Ptr DM')
-
-casadi_mtaylor__3
-  :: DM -> DM -> DM -> Int -> Vector Int -> IO DM
-casadi_mtaylor__3 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtaylor__3 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtaylor__4" c_casadi_mtaylor__4
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_mtaylor__4
-  :: DM -> DM -> DM -> IO DM
-casadi_mtaylor__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtaylor__4 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtaylor__5" c_casadi_mtaylor__5
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> CInt -> IO (Ptr DM')
-
-casadi_mtaylor__5
-  :: DM -> DM -> DM -> Int -> IO DM
-casadi_mtaylor__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtaylor__5 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtaylor__6" c_casadi_mtaylor__6
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> CInt -> Ptr (StdVec CInt) -> IO (Ptr IM')
-
-casadi_mtaylor__6
-  :: IM -> IM -> IM -> Int -> Vector Int -> IO IM
-casadi_mtaylor__6 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtaylor__6 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtaylor__7" c_casadi_mtaylor__7
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_mtaylor__7
-  :: IM -> IM -> IM -> IO IM
-casadi_mtaylor__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtaylor__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtaylor__8" c_casadi_mtaylor__8
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> CInt -> IO (Ptr IM')
-
-casadi_mtaylor__8
-  :: IM -> IM -> IM -> Int -> IO IM
-casadi_mtaylor__8 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtaylor__8 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtimes__0" c_casadi_mtimes__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
-
-casadi_mtimes__0
-  :: Vector SX -> IO SX
-casadi_mtimes__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtimes__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtimes__1" c_casadi_mtimes__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_mtimes__1
-  :: SX -> SX -> IO SX
-casadi_mtimes__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtimes__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtimes__2" c_casadi_mtimes__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> IO (Ptr DM')
-
-casadi_mtimes__2
-  :: Vector DM -> IO DM
-casadi_mtimes__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtimes__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtimes__3" c_casadi_mtimes__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_mtimes__3
-  :: DM -> DM -> IO DM
-casadi_mtimes__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtimes__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtimes__4" c_casadi_mtimes__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> IO (Ptr IM')
-
-casadi_mtimes__4
-  :: Vector IM -> IO IM
-casadi_mtimes__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtimes__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtimes__5" c_casadi_mtimes__5
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_mtimes__5
-  :: IM -> IM -> IO IM
-casadi_mtimes__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtimes__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtimes__6" c_casadi_mtimes__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-
-casadi_mtimes__6
-  :: Vector MX -> IO MX
-casadi_mtimes__6 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtimes__6 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtimes__7" c_casadi_mtimes__7
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_mtimes__7
-  :: MX -> MX -> IO MX
-casadi_mtimes__7 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtimes__7 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtimes__8" c_casadi_mtimes__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
-
-casadi_mtimes__8
-  :: Vector Sparsity -> IO Sparsity
-casadi_mtimes__8 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtimes__8 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_mtimes__9" c_casadi_mtimes__9
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi_mtimes__9
-  :: Sparsity -> Sparsity -> IO Sparsity
-casadi_mtimes__9 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_mtimes__9 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_n_nodes__0" c_casadi_n_nodes__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi_n_nodes__0
-  :: SX -> IO Int
-casadi_n_nodes__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_n_nodes__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_n_nodes__1" c_casadi_n_nodes__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi_n_nodes__1
-  :: DM -> IO Int
-casadi_n_nodes__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_n_nodes__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_n_nodes__2" c_casadi_n_nodes__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi_n_nodes__2
-  :: IM -> IO Int
-casadi_n_nodes__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_n_nodes__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_n_nodes__3" c_casadi_n_nodes__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi_n_nodes__3
-  :: MX -> IO Int
-casadi_n_nodes__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_n_nodes__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ne__0" c_casadi_ne__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_ne__0
-  :: Double -> Double -> IO Double
-casadi_ne__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ne__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ne__1" c_casadi_ne__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_ne__1
-  :: SX -> SX -> IO SX
-casadi_ne__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ne__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ne__2" c_casadi_ne__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_ne__2
-  :: DM -> DM -> IO DM
-casadi_ne__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ne__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ne__3" c_casadi_ne__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_ne__3
-  :: IM -> IM -> IO IM
-casadi_ne__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ne__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ne__4" c_casadi_ne__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_ne__4
-  :: MX -> MX -> IO MX
-casadi_ne__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ne__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_0_mul__0" c_casadi_norm_0_mul__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO CInt
-
-casadi_norm_0_mul__0
-  :: SX -> SX -> IO Int
-casadi_norm_0_mul__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_0_mul__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_0_mul__1" c_casadi_norm_0_mul__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO CInt
-
-casadi_norm_0_mul__1
-  :: DM -> DM -> IO Int
-casadi_norm_0_mul__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_0_mul__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_0_mul__2" c_casadi_norm_0_mul__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO CInt
-
-casadi_norm_0_mul__2
-  :: IM -> IM -> IO Int
-casadi_norm_0_mul__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_0_mul__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_0_mul__3" c_casadi_norm_0_mul__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO CInt
-
-casadi_norm_0_mul__3
-  :: MX -> MX -> IO Int
-casadi_norm_0_mul__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_0_mul__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_0_mul__4" c_casadi_norm_0_mul__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
-
-casadi_norm_0_mul__4
-  :: Sparsity -> Sparsity -> IO Int
-casadi_norm_0_mul__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_0_mul__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_1__0" c_casadi_norm_1__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_norm_1__0
-  :: SX -> IO SX
-casadi_norm_1__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_1__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_1__1" c_casadi_norm_1__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_norm_1__1
-  :: DM -> IO DM
-casadi_norm_1__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_1__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_1__2" c_casadi_norm_1__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_norm_1__2
-  :: IM -> IO IM
-casadi_norm_1__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_1__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_1__3" c_casadi_norm_1__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_norm_1__3
-  :: MX -> IO MX
-casadi_norm_1__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_1__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_2__0" c_casadi_norm_2__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_norm_2__0
-  :: SX -> IO SX
-casadi_norm_2__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_2__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_2__1" c_casadi_norm_2__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_norm_2__1
-  :: DM -> IO DM
-casadi_norm_2__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_2__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_2__2" c_casadi_norm_2__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_norm_2__2
-  :: IM -> IO IM
-casadi_norm_2__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_2__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_2__3" c_casadi_norm_2__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_norm_2__3
-  :: MX -> IO MX
-casadi_norm_2__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_2__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_F__0" c_casadi_norm_F__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_norm_F__0
-  :: SX -> IO SX
-casadi_norm_F__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_F__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_F__1" c_casadi_norm_F__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_norm_F__1
-  :: DM -> IO DM
-casadi_norm_F__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_F__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_F__2" c_casadi_norm_F__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_norm_F__2
-  :: IM -> IO IM
-casadi_norm_F__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_F__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_F__3" c_casadi_norm_F__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_norm_F__3
-  :: MX -> IO MX
-casadi_norm_F__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_F__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_fro__0" c_casadi_norm_fro__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_norm_fro__0
-  :: SX -> IO SX
-casadi_norm_fro__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_fro__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_fro__1" c_casadi_norm_fro__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_norm_fro__1
-  :: DM -> IO DM
-casadi_norm_fro__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_fro__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_fro__2" c_casadi_norm_fro__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_norm_fro__2
-  :: IM -> IO IM
-casadi_norm_fro__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_fro__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_fro__3" c_casadi_norm_fro__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_norm_fro__3
-  :: MX -> IO MX
-casadi_norm_fro__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_fro__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_inf__0" c_casadi_norm_inf__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_norm_inf__0
-  :: SX -> IO SX
-casadi_norm_inf__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_inf__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_inf__1" c_casadi_norm_inf__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_norm_inf__1
-  :: DM -> IO DM
-casadi_norm_inf__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_inf__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_inf__2" c_casadi_norm_inf__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_norm_inf__2
-  :: IM -> IO IM
-casadi_norm_inf__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_inf__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_inf__3" c_casadi_norm_inf__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_norm_inf__3
-  :: MX -> IO MX
-casadi_norm_inf__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_inf__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_inf_mul__0" c_casadi_norm_inf_mul__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_norm_inf_mul__0
-  :: SX -> SX -> IO SX
-casadi_norm_inf_mul__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_inf_mul__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_inf_mul__1" c_casadi_norm_inf_mul__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_norm_inf_mul__1
-  :: DM -> DM -> IO DM
-casadi_norm_inf_mul__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_inf_mul__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_norm_inf_mul__2" c_casadi_norm_inf_mul__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_norm_inf_mul__2
-  :: IM -> IM -> IO IM
-casadi_norm_inf_mul__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_norm_inf_mul__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_not__0" c_casadi_not__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_not__0
-  :: Double -> IO Double
-casadi_not__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_not__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_not__1" c_casadi_not__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_not__1
-  :: SX -> IO SX
-casadi_not__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_not__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_not__2" c_casadi_not__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_not__2
-  :: DM -> IO DM
-casadi_not__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_not__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_not__3" c_casadi_not__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_not__3
-  :: IM -> IO IM
-casadi_not__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_not__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_not__4" c_casadi_not__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_not__4
-  :: MX -> IO MX
-casadi_not__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_not__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_nullspace__0" c_casadi_nullspace__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_nullspace__0
-  :: SX -> IO SX
-casadi_nullspace__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_nullspace__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_nullspace__1" c_casadi_nullspace__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_nullspace__1
-  :: DM -> IO DM
-casadi_nullspace__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_nullspace__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_nullspace__2" c_casadi_nullspace__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_nullspace__2
-  :: IM -> IO IM
-casadi_nullspace__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_nullspace__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_nullspace__3" c_casadi_nullspace__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_nullspace__3
-  :: MX -> IO MX
-casadi_nullspace__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_nullspace__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_offset__0" c_casadi_offset__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec CInt))
-
-casadi_offset__0
-  :: Vector SX -> IO (Vector Int)
-casadi_offset__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_offset__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_offset__1" c_casadi_offset__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> CInt -> IO (Ptr (StdVec CInt))
-
-casadi_offset__1
-  :: Vector SX -> Bool -> IO (Vector Int)
-casadi_offset__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_offset__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_offset__2" c_casadi_offset__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> IO (Ptr (StdVec CInt))
-
-casadi_offset__2
-  :: Vector DM -> IO (Vector Int)
-casadi_offset__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_offset__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_offset__3" c_casadi_offset__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> CInt -> IO (Ptr (StdVec CInt))
-
-casadi_offset__3
-  :: Vector DM -> Bool -> IO (Vector Int)
-casadi_offset__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_offset__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_offset__4" c_casadi_offset__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> IO (Ptr (StdVec CInt))
-
-casadi_offset__4
-  :: Vector IM -> IO (Vector Int)
-casadi_offset__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_offset__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_offset__5" c_casadi_offset__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> CInt -> IO (Ptr (StdVec CInt))
-
-casadi_offset__5
-  :: Vector IM -> Bool -> IO (Vector Int)
-casadi_offset__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_offset__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_offset__6" c_casadi_offset__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec CInt))
-
-casadi_offset__6
-  :: Vector MX -> IO (Vector Int)
-casadi_offset__6 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_offset__6 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_offset__7" c_casadi_offset__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> CInt -> IO (Ptr (StdVec CInt))
-
-casadi_offset__7
-  :: Vector MX -> Bool -> IO (Vector Int)
-casadi_offset__7 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_offset__7 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_offset__8" c_casadi_offset__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec CInt))
-
-casadi_offset__8
-  :: Vector Sparsity -> IO (Vector Int)
-casadi_offset__8 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_offset__8 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_offset__9" c_casadi_offset__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> CInt -> IO (Ptr (StdVec CInt))
-
-casadi_offset__9
-  :: Vector Sparsity -> Bool -> IO (Vector Int)
-casadi_offset__9 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_offset__9 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_or__0" c_casadi_or__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_or__0
-  :: Double -> Double -> IO Double
-casadi_or__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_or__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_or__1" c_casadi_or__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_or__1
-  :: SX -> SX -> IO SX
-casadi_or__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_or__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_or__2" c_casadi_or__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_or__2
-  :: DM -> DM -> IO DM
-casadi_or__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_or__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_or__3" c_casadi_or__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_or__3
-  :: IM -> IM -> IO IM
-casadi_or__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_or__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_or__4" c_casadi_or__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_or__4
-  :: MX -> MX -> IO MX
-casadi_or__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_or__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pinv__0" c_casadi_pinv__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr StdString -> IO (Ptr SX')
-
-casadi_pinv__0
-  :: SX -> String -> IO SX
-casadi_pinv__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pinv__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pinv__1" c_casadi_pinv__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr SX')
-
-casadi_pinv__1
-  :: SX -> String -> M.Map String GenericType -> IO SX
-casadi_pinv__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pinv__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pinv__2" c_casadi_pinv__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_pinv__2
-  :: SX -> IO SX
-casadi_pinv__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pinv__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pinv__3" c_casadi_pinv__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr StdString -> IO (Ptr DM')
-
-casadi_pinv__3
-  :: DM -> String -> IO DM
-casadi_pinv__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pinv__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pinv__4" c_casadi_pinv__4
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr DM')
-
-casadi_pinv__4
-  :: DM -> String -> M.Map String GenericType -> IO DM
-casadi_pinv__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pinv__4 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pinv__5" c_casadi_pinv__5
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_pinv__5
-  :: DM -> IO DM
-casadi_pinv__5 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pinv__5 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pinv__6" c_casadi_pinv__6
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr StdString -> IO (Ptr IM')
-
-casadi_pinv__6
-  :: IM -> String -> IO IM
-casadi_pinv__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pinv__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pinv__7" c_casadi_pinv__7
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr IM')
-
-casadi_pinv__7
-  :: IM -> String -> M.Map String GenericType -> IO IM
-casadi_pinv__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pinv__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pinv__8" c_casadi_pinv__8
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_pinv__8
-  :: IM -> IO IM
-casadi_pinv__8 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pinv__8 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pinv__9" c_casadi_pinv__9
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
-
-casadi_pinv__9
-  :: MX -> String -> IO MX
-casadi_pinv__9 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pinv__9 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pinv__10" c_casadi_pinv__10
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr MX')
-
-casadi_pinv__10
-  :: MX -> String -> M.Map String GenericType -> IO MX
-casadi_pinv__10 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pinv__10 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pinv__11" c_casadi_pinv__11
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_pinv__11
-  :: MX -> IO MX
-casadi_pinv__11 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pinv__11 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_plus__0" c_casadi_plus__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_plus__0
-  :: Double -> Double -> IO Double
-casadi_plus__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_plus__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_plus__1" c_casadi_plus__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_plus__1
-  :: SX -> SX -> IO SX
-casadi_plus__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_plus__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_plus__2" c_casadi_plus__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_plus__2
-  :: DM -> DM -> IO DM
-casadi_plus__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_plus__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_plus__3" c_casadi_plus__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_plus__3
-  :: IM -> IM -> IO IM
-casadi_plus__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_plus__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_plus__4" c_casadi_plus__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_plus__4
-  :: MX -> MX -> IO MX
-casadi_plus__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_plus__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_poly_coeff__0" c_casadi_poly_coeff__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_poly_coeff__0
-  :: SX -> SX -> IO SX
-casadi_poly_coeff__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_poly_coeff__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_poly_coeff__1" c_casadi_poly_coeff__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_poly_coeff__1
-  :: DM -> DM -> IO DM
-casadi_poly_coeff__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_poly_coeff__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_poly_coeff__2" c_casadi_poly_coeff__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_poly_coeff__2
-  :: IM -> IM -> IO IM
-casadi_poly_coeff__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_poly_coeff__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_poly_roots__0" c_casadi_poly_roots__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_poly_roots__0
-  :: SX -> IO SX
-casadi_poly_roots__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_poly_roots__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_poly_roots__1" c_casadi_poly_roots__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_poly_roots__1
-  :: DM -> IO DM
-casadi_poly_roots__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_poly_roots__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_poly_roots__2" c_casadi_poly_roots__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_poly_roots__2
-  :: IM -> IO IM
-casadi_poly_roots__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_poly_roots__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_polyval__0" c_casadi_polyval__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_polyval__0
-  :: SX -> SX -> IO SX
-casadi_polyval__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_polyval__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_polyval__1" c_casadi_polyval__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_polyval__1
-  :: DM -> DM -> IO DM
-casadi_polyval__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_polyval__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_polyval__2" c_casadi_polyval__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_polyval__2
-  :: IM -> IM -> IO IM
-casadi_polyval__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_polyval__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_polyval__3" c_casadi_polyval__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_polyval__3
-  :: MX -> MX -> IO MX
-casadi_polyval__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_polyval__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_power__0" c_casadi_power__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_power__0
-  :: Double -> Double -> IO Double
-casadi_power__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_power__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_power__1" c_casadi_power__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_power__1
-  :: SX -> SX -> IO SX
-casadi_power__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_power__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_power__2" c_casadi_power__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_power__2
-  :: DM -> DM -> IO DM
-casadi_power__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_power__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_power__3" c_casadi_power__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_power__3
-  :: IM -> IM -> IO IM
-casadi_power__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_power__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_power__4" c_casadi_power__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_power__4
-  :: MX -> MX -> IO MX
-casadi_power__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_power__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_print_operator__0" c_casadi_print_operator__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
-
-casadi_print_operator__0
-  :: SX -> Vector String -> IO String
-casadi_print_operator__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_print_operator__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_print_operator__1" c_casadi_print_operator__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
-
-casadi_print_operator__1
-  :: DM -> Vector String -> IO String
-casadi_print_operator__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_print_operator__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_print_operator__2" c_casadi_print_operator__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
-
-casadi_print_operator__2
-  :: IM -> Vector String -> IO String
-casadi_print_operator__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_print_operator__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_print_operator__3" c_casadi_print_operator__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
-
-casadi_print_operator__3
-  :: MX -> Vector String -> IO String
-casadi_print_operator__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_print_operator__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_project__0" c_casadi_project__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-
-casadi_project__0
-  :: SX -> Sparsity -> IO SX
-casadi_project__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_project__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_project__1" c_casadi_project__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> CInt -> IO (Ptr SX')
-
-casadi_project__1
-  :: SX -> Sparsity -> Bool -> IO SX
-casadi_project__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_project__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_project__2" c_casadi_project__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr Sparsity' -> IO (Ptr DM')
-
-casadi_project__2
-  :: DM -> Sparsity -> IO DM
-casadi_project__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_project__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_project__3" c_casadi_project__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr Sparsity' -> CInt -> IO (Ptr DM')
-
-casadi_project__3
-  :: DM -> Sparsity -> Bool -> IO DM
-casadi_project__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_project__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_project__4" c_casadi_project__4
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr Sparsity' -> IO (Ptr IM')
-
-casadi_project__4
-  :: IM -> Sparsity -> IO IM
-casadi_project__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_project__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_project__5" c_casadi_project__5
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr Sparsity' -> CInt -> IO (Ptr IM')
-
-casadi_project__5
-  :: IM -> Sparsity -> Bool -> IO IM
-casadi_project__5 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_project__5 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_project__6" c_casadi_project__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-
-casadi_project__6
-  :: MX -> Sparsity -> IO MX
-casadi_project__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_project__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_project__7" c_casadi_project__7
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> CInt -> IO (Ptr MX')
-
-casadi_project__7
-  :: MX -> Sparsity -> Bool -> IO MX
-casadi_project__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_project__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pw_const__0" c_casadi_pw_const__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_pw_const__0
-  :: SX -> SX -> SX -> IO SX
-casadi_pw_const__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pw_const__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pw_const__1" c_casadi_pw_const__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_pw_const__1
-  :: DM -> DM -> DM -> IO DM
-casadi_pw_const__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pw_const__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pw_const__2" c_casadi_pw_const__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_pw_const__2
-  :: IM -> IM -> IM -> IO IM
-casadi_pw_const__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pw_const__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pw_lin__0" c_casadi_pw_lin__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_pw_lin__0
-  :: SX -> SX -> SX -> IO SX
-casadi_pw_lin__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pw_lin__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pw_lin__1" c_casadi_pw_lin__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_pw_lin__1
-  :: DM -> DM -> DM -> IO DM
-casadi_pw_lin__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pw_lin__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_pw_lin__2" c_casadi_pw_lin__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_pw_lin__2
-  :: IM -> IM -> IM -> IO IM
-casadi_pw_lin__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_pw_lin__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_qr__0" c_casadi_qr__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
-
-casadi_qr__0
-  :: SX -> SX -> SX -> IO ()
-casadi_qr__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_qr__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_qr__1" c_casadi_qr__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO ()
-
-casadi_qr__1
-  :: DM -> DM -> DM -> IO ()
-casadi_qr__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_qr__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_qr__2" c_casadi_qr__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO ()
-
-casadi_qr__2
-  :: IM -> IM -> IM -> IO ()
-casadi_qr__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_qr__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_ramp__0" c_casadi_ramp__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_ramp__0
-  :: SX -> IO SX
-casadi_ramp__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ramp__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ramp__1" c_casadi_ramp__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_ramp__1
-  :: DM -> IO DM
-casadi_ramp__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ramp__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_ramp__2" c_casadi_ramp__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_ramp__2
-  :: IM -> IO IM
-casadi_ramp__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_ramp__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_rank1__0" c_casadi_rank1__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_rank1__0
-  :: SX -> SX -> SX -> SX -> IO SX
-casadi_rank1__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_rank1__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_rank1__1" c_casadi_rank1__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_rank1__1
-  :: DM -> DM -> DM -> DM -> IO DM
-casadi_rank1__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_rank1__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_rank1__2" c_casadi_rank1__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_rank1__2
-  :: IM -> IM -> IM -> IM -> IO IM
-casadi_rank1__2 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_rank1__2 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_rank1__3" c_casadi_rank1__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_rank1__3
-  :: MX -> MX -> MX -> MX -> IO MX
-casadi_rank1__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_rank1__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_rdivide__0" c_casadi_rdivide__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_rdivide__0
-  :: Double -> Double -> IO Double
-casadi_rdivide__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_rdivide__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_rdivide__1" c_casadi_rdivide__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_rdivide__1
-  :: SX -> SX -> IO SX
-casadi_rdivide__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_rdivide__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_rdivide__2" c_casadi_rdivide__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_rdivide__2
-  :: DM -> DM -> IO DM
-casadi_rdivide__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_rdivide__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_rdivide__3" c_casadi_rdivide__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_rdivide__3
-  :: IM -> IM -> IO IM
-casadi_rdivide__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_rdivide__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_rdivide__4" c_casadi_rdivide__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_rdivide__4
-  :: MX -> MX -> IO MX
-casadi_rdivide__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_rdivide__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_rectangle__0" c_casadi_rectangle__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_rectangle__0
-  :: SX -> IO SX
-casadi_rectangle__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_rectangle__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_rectangle__1" c_casadi_rectangle__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_rectangle__1
-  :: DM -> IO DM
-casadi_rectangle__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_rectangle__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_rectangle__2" c_casadi_rectangle__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_rectangle__2
-  :: IM -> IO IM
-casadi_rectangle__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_rectangle__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__0" c_casadi_repmat__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdPair CInt CInt) -> IO (Ptr SX')
-
-casadi_repmat__0
-  :: SX -> (Int, Int) -> IO SX
-casadi_repmat__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__1" c_casadi_repmat__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
-
-casadi_repmat__1
-  :: SX -> Int -> IO SX
-casadi_repmat__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__2" c_casadi_repmat__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-
-casadi_repmat__2
-  :: SX -> Int -> Int -> IO SX
-casadi_repmat__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__3" c_casadi_repmat__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdPair CInt CInt) -> IO (Ptr DM')
-
-casadi_repmat__3
-  :: DM -> (Int, Int) -> IO DM
-casadi_repmat__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__4" c_casadi_repmat__4
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO (Ptr DM')
-
-casadi_repmat__4
-  :: DM -> Int -> IO DM
-casadi_repmat__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__5" c_casadi_repmat__5
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> CInt -> IO (Ptr DM')
-
-casadi_repmat__5
-  :: DM -> Int -> Int -> IO DM
-casadi_repmat__5 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__5 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__6" c_casadi_repmat__6
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdPair CInt CInt) -> IO (Ptr IM')
-
-casadi_repmat__6
-  :: IM -> (Int, Int) -> IO IM
-casadi_repmat__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__7" c_casadi_repmat__7
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr IM')
-
-casadi_repmat__7
-  :: IM -> Int -> IO IM
-casadi_repmat__7 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__7 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__8" c_casadi_repmat__8
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> CInt -> IO (Ptr IM')
-
-casadi_repmat__8
-  :: IM -> Int -> Int -> IO IM
-casadi_repmat__8 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__8 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__9" c_casadi_repmat__9
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdPair CInt CInt) -> IO (Ptr MX')
-
-casadi_repmat__9
-  :: MX -> (Int, Int) -> IO MX
-casadi_repmat__9 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__9 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__10" c_casadi_repmat__10
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
-
-casadi_repmat__10
-  :: MX -> Int -> IO MX
-casadi_repmat__10 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__10 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__11" c_casadi_repmat__11
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr MX')
-
-casadi_repmat__11
-  :: MX -> Int -> Int -> IO MX
-casadi_repmat__11 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__11 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__12" c_casadi_repmat__12
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdPair CInt CInt) -> IO (Ptr Sparsity')
-
-casadi_repmat__12
-  :: Sparsity -> (Int, Int) -> IO Sparsity
-casadi_repmat__12 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__12 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__13" c_casadi_repmat__13
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-
-casadi_repmat__13
-  :: Sparsity -> Int -> IO Sparsity
-casadi_repmat__13 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__13 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repmat__14" c_casadi_repmat__14
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi_repmat__14
-  :: Sparsity -> Int -> Int -> IO Sparsity
-casadi_repmat__14 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repmat__14 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repsum__0" c_casadi_repsum__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
-
-casadi_repsum__0
-  :: SX -> Int -> IO SX
-casadi_repsum__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repsum__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repsum__1" c_casadi_repsum__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-
-casadi_repsum__1
-  :: SX -> Int -> Int -> IO SX
-casadi_repsum__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repsum__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repsum__2" c_casadi_repsum__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO (Ptr DM')
-
-casadi_repsum__2
-  :: DM -> Int -> IO DM
-casadi_repsum__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repsum__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repsum__3" c_casadi_repsum__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> CInt -> IO (Ptr DM')
-
-casadi_repsum__3
-  :: DM -> Int -> Int -> IO DM
-casadi_repsum__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repsum__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repsum__4" c_casadi_repsum__4
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr IM')
-
-casadi_repsum__4
-  :: IM -> Int -> IO IM
-casadi_repsum__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repsum__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repsum__5" c_casadi_repsum__5
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> CInt -> IO (Ptr IM')
-
-casadi_repsum__5
-  :: IM -> Int -> Int -> IO IM
-casadi_repsum__5 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repsum__5 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repsum__6" c_casadi_repsum__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
-
-casadi_repsum__6
-  :: MX -> Int -> IO MX
-casadi_repsum__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repsum__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_repsum__7" c_casadi_repsum__7
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr MX')
-
-casadi_repsum__7
-  :: MX -> Int -> Int -> IO MX
-casadi_repsum__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_repsum__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__0" c_casadi_reshape__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-
-casadi_reshape__0
-  :: SX -> Sparsity -> IO SX
-casadi_reshape__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__1" c_casadi_reshape__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdPair CInt CInt) -> IO (Ptr SX')
-
-casadi_reshape__1
-  :: SX -> (Int, Int) -> IO SX
-casadi_reshape__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__2" c_casadi_reshape__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-
-casadi_reshape__2
-  :: SX -> Int -> Int -> IO SX
-casadi_reshape__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__3" c_casadi_reshape__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr Sparsity' -> IO (Ptr DM')
-
-casadi_reshape__3
-  :: DM -> Sparsity -> IO DM
-casadi_reshape__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__4" c_casadi_reshape__4
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdPair CInt CInt) -> IO (Ptr DM')
-
-casadi_reshape__4
-  :: DM -> (Int, Int) -> IO DM
-casadi_reshape__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__5" c_casadi_reshape__5
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> CInt -> IO (Ptr DM')
-
-casadi_reshape__5
-  :: DM -> Int -> Int -> IO DM
-casadi_reshape__5 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__5 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__6" c_casadi_reshape__6
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr Sparsity' -> IO (Ptr IM')
-
-casadi_reshape__6
-  :: IM -> Sparsity -> IO IM
-casadi_reshape__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__7" c_casadi_reshape__7
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdPair CInt CInt) -> IO (Ptr IM')
-
-casadi_reshape__7
-  :: IM -> (Int, Int) -> IO IM
-casadi_reshape__7 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__7 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__8" c_casadi_reshape__8
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> CInt -> IO (Ptr IM')
-
-casadi_reshape__8
-  :: IM -> Int -> Int -> IO IM
-casadi_reshape__8 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__8 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__9" c_casadi_reshape__9
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-
-casadi_reshape__9
-  :: MX -> Sparsity -> IO MX
-casadi_reshape__9 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__9 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__10" c_casadi_reshape__10
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdPair CInt CInt) -> IO (Ptr MX')
-
-casadi_reshape__10
-  :: MX -> (Int, Int) -> IO MX
-casadi_reshape__10 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__10 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__11" c_casadi_reshape__11
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr MX')
-
-casadi_reshape__11
-  :: MX -> Int -> Int -> IO MX
-casadi_reshape__11 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__11 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__12" c_casadi_reshape__12
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi_reshape__12
-  :: Sparsity -> Sparsity -> IO Sparsity
-casadi_reshape__12 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__12 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__13" c_casadi_reshape__13
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdPair CInt CInt) -> IO (Ptr Sparsity')
-
-casadi_reshape__13
-  :: Sparsity -> (Int, Int) -> IO Sparsity
-casadi_reshape__13 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__13 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_reshape__14" c_casadi_reshape__14
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi_reshape__14
-  :: Sparsity -> Int -> Int -> IO Sparsity
-casadi_reshape__14 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_reshape__14 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_shared__0" c_casadi_shared__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO ()
-
-casadi_shared__0
-  :: Vector SX -> Vector SX -> Vector SX -> Vector SX -> IO ()
-casadi_shared__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_shared__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_shared__1" c_casadi_shared__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO ()
-
-casadi_shared__1
-  :: Vector SX -> Vector SX -> Vector SX -> Vector SX -> String -> IO ()
-casadi_shared__1 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_shared__1 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_shared__2" c_casadi_shared__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO ()
-
-casadi_shared__2
-  :: Vector SX -> Vector SX -> Vector SX -> Vector SX -> String -> String -> IO ()
-casadi_shared__2 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_shared__2 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_shared__3" c_casadi_shared__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> IO ()
-
-casadi_shared__3
-  :: Vector DM -> Vector DM -> Vector DM -> Vector DM -> IO ()
-casadi_shared__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_shared__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_shared__4" c_casadi_shared__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr StdString -> IO ()
-
-casadi_shared__4
-  :: Vector DM -> Vector DM -> Vector DM -> Vector DM -> String -> IO ()
-casadi_shared__4 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_shared__4 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_shared__5" c_casadi_shared__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr StdString -> Ptr StdString -> IO ()
-
-casadi_shared__5
-  :: Vector DM -> Vector DM -> Vector DM -> Vector DM -> String -> String -> IO ()
-casadi_shared__5 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_shared__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_shared__6" c_casadi_shared__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> IO ()
-
-casadi_shared__6
-  :: Vector IM -> Vector IM -> Vector IM -> Vector IM -> IO ()
-casadi_shared__6 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_shared__6 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_shared__7" c_casadi_shared__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr StdString -> IO ()
-
-casadi_shared__7
-  :: Vector IM -> Vector IM -> Vector IM -> Vector IM -> String -> IO ()
-casadi_shared__7 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_shared__7 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_shared__8" c_casadi_shared__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr StdString -> Ptr StdString -> IO ()
-
-casadi_shared__8
-  :: Vector IM -> Vector IM -> Vector IM -> Vector IM -> String -> String -> IO ()
-casadi_shared__8 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_shared__8 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_shared__9" c_casadi_shared__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO ()
-
-casadi_shared__9
-  :: Vector MX -> Vector MX -> Vector MX -> Vector MX -> IO ()
-casadi_shared__9 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_shared__9 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_shared__10" c_casadi_shared__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO ()
-
-casadi_shared__10
-  :: Vector MX -> Vector MX -> Vector MX -> Vector MX -> String -> IO ()
-casadi_shared__10 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_shared__10 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_shared__11" c_casadi_shared__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO ()
-
-casadi_shared__11
-  :: Vector MX -> Vector MX -> Vector MX -> Vector MX -> String -> String -> IO ()
-casadi_shared__11 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_shared__11 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_sign__0" c_casadi_sign__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_sign__0
-  :: Double -> IO Double
-casadi_sign__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sign__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sign__1" c_casadi_sign__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_sign__1
-  :: SX -> IO SX
-casadi_sign__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sign__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sign__2" c_casadi_sign__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_sign__2
-  :: DM -> IO DM
-casadi_sign__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sign__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sign__3" c_casadi_sign__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_sign__3
-  :: IM -> IO IM
-casadi_sign__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sign__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sign__4" c_casadi_sign__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_sign__4
-  :: MX -> IO MX
-casadi_sign__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sign__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_simplify__0" c_casadi_simplify__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_simplify__0
-  :: Double -> IO Double
-casadi_simplify__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_simplify__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_simplify__1" c_casadi_simplify__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_simplify__1
-  :: SX -> IO SX
-casadi_simplify__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_simplify__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_simplify__2" c_casadi_simplify__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_simplify__2
-  :: DM -> IO DM
-casadi_simplify__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_simplify__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_simplify__3" c_casadi_simplify__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_simplify__3
-  :: IM -> IO IM
-casadi_simplify__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_simplify__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_simplify__4" c_casadi_simplify__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_simplify__4
-  :: MX -> IO MX
-casadi_simplify__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_simplify__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sin__0" c_casadi_sin__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_sin__0
-  :: Double -> IO Double
-casadi_sin__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sin__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sin__1" c_casadi_sin__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_sin__1
-  :: SX -> IO SX
-casadi_sin__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sin__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sin__2" c_casadi_sin__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_sin__2
-  :: DM -> IO DM
-casadi_sin__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sin__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sin__3" c_casadi_sin__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_sin__3
-  :: IM -> IO IM
-casadi_sin__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sin__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sin__4" c_casadi_sin__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_sin__4
-  :: MX -> IO MX
-casadi_sin__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sin__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sinh__0" c_casadi_sinh__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_sinh__0
-  :: Double -> IO Double
-casadi_sinh__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sinh__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sinh__1" c_casadi_sinh__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_sinh__1
-  :: SX -> IO SX
-casadi_sinh__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sinh__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sinh__2" c_casadi_sinh__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_sinh__2
-  :: DM -> IO DM
-casadi_sinh__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sinh__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sinh__3" c_casadi_sinh__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_sinh__3
-  :: IM -> IO IM
-casadi_sinh__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sinh__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sinh__4" c_casadi_sinh__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_sinh__4
-  :: MX -> IO MX
-casadi_sinh__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sinh__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_skew__0" c_casadi_skew__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_skew__0
-  :: SX -> IO SX
-casadi_skew__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_skew__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_skew__1" c_casadi_skew__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_skew__1
-  :: DM -> IO DM
-casadi_skew__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_skew__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_skew__2" c_casadi_skew__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_skew__2
-  :: IM -> IO IM
-casadi_skew__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_skew__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_skew__3" c_casadi_skew__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_skew__3
-  :: MX -> IO MX
-casadi_skew__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_skew__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_solve__0" c_casadi_solve__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr StdString -> IO (Ptr SX')
-
-casadi_solve__0
-  :: SX -> SX -> String -> IO SX
-casadi_solve__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_solve__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_solve__1" c_casadi_solve__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr SX')
-
-casadi_solve__1
-  :: SX -> SX -> String -> M.Map String GenericType -> IO SX
-casadi_solve__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_solve__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_solve__2" c_casadi_solve__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_solve__2
-  :: SX -> SX -> IO SX
-casadi_solve__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_solve__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_solve__3" c_casadi_solve__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr StdString -> IO (Ptr DM')
-
-casadi_solve__3
-  :: DM -> DM -> String -> IO DM
-casadi_solve__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_solve__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_solve__4" c_casadi_solve__4
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr DM')
-
-casadi_solve__4
-  :: DM -> DM -> String -> M.Map String GenericType -> IO DM
-casadi_solve__4 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_solve__4 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_solve__5" c_casadi_solve__5
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_solve__5
-  :: DM -> DM -> IO DM
-casadi_solve__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_solve__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_solve__6" c_casadi_solve__6
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr StdString -> IO (Ptr IM')
-
-casadi_solve__6
-  :: IM -> IM -> String -> IO IM
-casadi_solve__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_solve__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_solve__7" c_casadi_solve__7
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr IM')
-
-casadi_solve__7
-  :: IM -> IM -> String -> M.Map String GenericType -> IO IM
-casadi_solve__7 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_solve__7 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_solve__8" c_casadi_solve__8
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_solve__8
-  :: IM -> IM -> IO IM
-casadi_solve__8 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_solve__8 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_solve__9" c_casadi_solve__9
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
-
-casadi_solve__9
-  :: MX -> MX -> String -> IO MX
-casadi_solve__9 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_solve__9 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_solve__10" c_casadi_solve__10
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr MX')
-
-casadi_solve__10
-  :: MX -> MX -> String -> M.Map String GenericType -> IO MX
-casadi_solve__10 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_solve__10 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_solve__11" c_casadi_solve__11
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_solve__11
-  :: MX -> MX -> IO MX
-casadi_solve__11 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_solve__11 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sparsify__0" c_casadi_sparsify__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_sparsify__0
-  :: SX -> IO SX
-casadi_sparsify__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sparsify__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sparsify__1" c_casadi_sparsify__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CDouble -> IO (Ptr SX')
-
-casadi_sparsify__1
-  :: SX -> Double -> IO SX
-casadi_sparsify__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sparsify__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sparsify__2" c_casadi_sparsify__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_sparsify__2
-  :: DM -> IO DM
-casadi_sparsify__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sparsify__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sparsify__3" c_casadi_sparsify__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CDouble -> IO (Ptr DM')
-
-casadi_sparsify__3
-  :: DM -> Double -> IO DM
-casadi_sparsify__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sparsify__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sparsify__4" c_casadi_sparsify__4
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_sparsify__4
-  :: IM -> IO IM
-casadi_sparsify__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sparsify__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sparsify__5" c_casadi_sparsify__5
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CDouble -> IO (Ptr IM')
-
-casadi_sparsify__5
-  :: IM -> Double -> IO IM
-casadi_sparsify__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sparsify__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sprank__0" c_casadi_sprank__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-
-casadi_sprank__0
-  :: SX -> IO Int
-casadi_sprank__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sprank__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sprank__1" c_casadi_sprank__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CInt
-
-casadi_sprank__1
-  :: DM -> IO Int
-casadi_sprank__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sprank__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sprank__2" c_casadi_sprank__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-casadi_sprank__2
-  :: IM -> IO Int
-casadi_sprank__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sprank__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sprank__3" c_casadi_sprank__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-
-casadi_sprank__3
-  :: MX -> IO Int
-casadi_sprank__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sprank__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sprank__4" c_casadi_sprank__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-
-casadi_sprank__4
-  :: Sparsity -> IO Int
-casadi_sprank__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sprank__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sqrt__0" c_casadi_sqrt__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_sqrt__0
-  :: Double -> IO Double
-casadi_sqrt__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sqrt__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sqrt__1" c_casadi_sqrt__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_sqrt__1
-  :: SX -> IO SX
-casadi_sqrt__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sqrt__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sqrt__2" c_casadi_sqrt__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_sqrt__2
-  :: DM -> IO DM
-casadi_sqrt__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sqrt__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sqrt__3" c_casadi_sqrt__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_sqrt__3
-  :: IM -> IO IM
-casadi_sqrt__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sqrt__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sqrt__4" c_casadi_sqrt__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_sqrt__4
-  :: MX -> IO MX
-casadi_sqrt__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sqrt__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_substitute__0" c_casadi_substitute__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi_substitute__0
-  :: Vector SX -> Vector SX -> Vector SX -> IO (Vector SX)
-casadi_substitute__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_substitute__1" c_casadi_substitute__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_substitute__1
-  :: SX -> SX -> SX -> IO SX
-casadi_substitute__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_substitute__2" c_casadi_substitute__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi_substitute__2
-  :: Vector DM -> Vector DM -> Vector DM -> IO (Vector DM)
-casadi_substitute__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_substitute__3" c_casadi_substitute__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_substitute__3
-  :: DM -> DM -> DM -> IO DM
-casadi_substitute__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_substitute__4" c_casadi_substitute__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi_substitute__4
-  :: Vector IM -> Vector IM -> Vector IM -> IO (Vector IM)
-casadi_substitute__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute__4 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_substitute__5" c_casadi_substitute__5
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_substitute__5
-  :: IM -> IM -> IM -> IO IM
-casadi_substitute__5 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute__5 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_substitute__6" c_casadi_substitute__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_substitute__6
-  :: Vector MX -> Vector MX -> Vector MX -> IO (Vector MX)
-casadi_substitute__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_substitute__7" c_casadi_substitute__7
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_substitute__7
-  :: MX -> MX -> MX -> IO MX
-casadi_substitute__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_substitute_inplace__0" c_casadi_substitute_inplace__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO ()
-
-casadi_substitute_inplace__0
-  :: Vector SX -> Vector SX -> Vector SX -> IO ()
-casadi_substitute_inplace__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute_inplace__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_substitute_inplace__1" c_casadi_substitute_inplace__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> CInt -> IO ()
-
-casadi_substitute_inplace__1
-  :: Vector SX -> Vector SX -> Vector SX -> Bool -> IO ()
-casadi_substitute_inplace__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute_inplace__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_substitute_inplace__2" c_casadi_substitute_inplace__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> IO ()
-
-casadi_substitute_inplace__2
-  :: Vector DM -> Vector DM -> Vector DM -> IO ()
-casadi_substitute_inplace__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute_inplace__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_substitute_inplace__3" c_casadi_substitute_inplace__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> CInt -> IO ()
-
-casadi_substitute_inplace__3
-  :: Vector DM -> Vector DM -> Vector DM -> Bool -> IO ()
-casadi_substitute_inplace__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute_inplace__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_substitute_inplace__4" c_casadi_substitute_inplace__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> IO ()
-
-casadi_substitute_inplace__4
-  :: Vector IM -> Vector IM -> Vector IM -> IO ()
-casadi_substitute_inplace__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute_inplace__4 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_substitute_inplace__5" c_casadi_substitute_inplace__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> CInt -> IO ()
-
-casadi_substitute_inplace__5
-  :: Vector IM -> Vector IM -> Vector IM -> Bool -> IO ()
-casadi_substitute_inplace__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute_inplace__5 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_substitute_inplace__6" c_casadi_substitute_inplace__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO ()
-
-casadi_substitute_inplace__6
-  :: Vector MX -> Vector MX -> Vector MX -> IO ()
-casadi_substitute_inplace__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute_inplace__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_substitute_inplace__7" c_casadi_substitute_inplace__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> CInt -> IO ()
-
-casadi_substitute_inplace__7
-  :: Vector MX -> Vector MX -> Vector MX -> Bool -> IO ()
-casadi_substitute_inplace__7 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_substitute_inplace__7 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ()
-
-
-
-foreign import ccall unsafe "casadi_sum1__0" c_casadi_sum1__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_sum1__0
-  :: SX -> IO SX
-casadi_sum1__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sum1__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sum1__1" c_casadi_sum1__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_sum1__1
-  :: DM -> IO DM
-casadi_sum1__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sum1__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sum1__2" c_casadi_sum1__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_sum1__2
-  :: IM -> IO IM
-casadi_sum1__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sum1__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sum1__3" c_casadi_sum1__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_sum1__3
-  :: MX -> IO MX
-casadi_sum1__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sum1__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sum2__0" c_casadi_sum2__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_sum2__0
-  :: SX -> IO SX
-casadi_sum2__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sum2__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sum2__1" c_casadi_sum2__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_sum2__1
-  :: DM -> IO DM
-casadi_sum2__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sum2__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sum2__2" c_casadi_sum2__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_sum2__2
-  :: IM -> IO IM
-casadi_sum2__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sum2__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sum2__3" c_casadi_sum2__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_sum2__3
-  :: MX -> IO MX
-casadi_sum2__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sum2__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sum_square__0" c_casadi_sum_square__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_sum_square__0
-  :: SX -> IO SX
-casadi_sum_square__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sum_square__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sum_square__1" c_casadi_sum_square__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_sum_square__1
-  :: DM -> IO DM
-casadi_sum_square__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sum_square__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sum_square__2" c_casadi_sum_square__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_sum_square__2
-  :: IM -> IO IM
-casadi_sum_square__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sum_square__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_sum_square__3" c_casadi_sum_square__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_sum_square__3
-  :: MX -> IO MX
-casadi_sum_square__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_sum_square__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_symvar__0" c_casadi_symvar__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi_symvar__0
-  :: SX -> IO (Vector SX)
-casadi_symvar__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_symvar__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_symvar__1" c_casadi_symvar__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi_symvar__1
-  :: DM -> IO (Vector DM)
-casadi_symvar__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_symvar__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_symvar__2" c_casadi_symvar__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi_symvar__2
-  :: IM -> IO (Vector IM)
-casadi_symvar__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_symvar__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_symvar__3" c_casadi_symvar__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_symvar__3
-  :: MX -> IO (Vector MX)
-casadi_symvar__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_symvar__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tan__0" c_casadi_tan__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_tan__0
-  :: Double -> IO Double
-casadi_tan__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tan__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tan__1" c_casadi_tan__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_tan__1
-  :: SX -> IO SX
-casadi_tan__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tan__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tan__2" c_casadi_tan__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_tan__2
-  :: DM -> IO DM
-casadi_tan__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tan__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tan__3" c_casadi_tan__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_tan__3
-  :: IM -> IO IM
-casadi_tan__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tan__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tan__4" c_casadi_tan__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_tan__4
-  :: MX -> IO MX
-casadi_tan__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tan__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tangent__0" c_casadi_tangent__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_tangent__0
-  :: SX -> SX -> IO SX
-casadi_tangent__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tangent__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tangent__1" c_casadi_tangent__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_tangent__1
-  :: DM -> DM -> IO DM
-casadi_tangent__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tangent__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tangent__2" c_casadi_tangent__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_tangent__2
-  :: IM -> IM -> IO IM
-casadi_tangent__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tangent__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tangent__3" c_casadi_tangent__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_tangent__3
-  :: MX -> MX -> IO MX
-casadi_tangent__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tangent__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tanh__0" c_casadi_tanh__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-
-casadi_tanh__0
-  :: Double -> IO Double
-casadi_tanh__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tanh__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tanh__1" c_casadi_tanh__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_tanh__1
-  :: SX -> IO SX
-casadi_tanh__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tanh__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tanh__2" c_casadi_tanh__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_tanh__2
-  :: DM -> IO DM
-casadi_tanh__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tanh__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tanh__3" c_casadi_tanh__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_tanh__3
-  :: IM -> IO IM
-casadi_tanh__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tanh__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tanh__4" c_casadi_tanh__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_tanh__4
-  :: MX -> IO MX
-casadi_tanh__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tanh__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_taylor__0" c_casadi_taylor__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_taylor__0
-  :: SX -> SX -> IO SX
-casadi_taylor__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_taylor__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_taylor__1" c_casadi_taylor__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_taylor__1
-  :: SX -> SX -> SX -> IO SX
-casadi_taylor__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_taylor__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_taylor__2" c_casadi_taylor__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-
-casadi_taylor__2
-  :: SX -> SX -> SX -> Int -> IO SX
-casadi_taylor__2 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_taylor__2 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_taylor__3" c_casadi_taylor__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_taylor__3
-  :: DM -> DM -> IO DM
-casadi_taylor__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_taylor__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_taylor__4" c_casadi_taylor__4
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_taylor__4
-  :: DM -> DM -> DM -> IO DM
-casadi_taylor__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_taylor__4 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_taylor__5" c_casadi_taylor__5
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> CInt -> IO (Ptr DM')
-
-casadi_taylor__5
-  :: DM -> DM -> DM -> Int -> IO DM
-casadi_taylor__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_taylor__5 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_taylor__6" c_casadi_taylor__6
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_taylor__6
-  :: IM -> IM -> IO IM
-casadi_taylor__6 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_taylor__6 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_taylor__7" c_casadi_taylor__7
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_taylor__7
-  :: IM -> IM -> IM -> IO IM
-casadi_taylor__7 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_taylor__7 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_taylor__8" c_casadi_taylor__8
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> CInt -> IO (Ptr IM')
-
-casadi_taylor__8
-  :: IM -> IM -> IM -> Int -> IO IM
-casadi_taylor__8 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_taylor__8 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_times__0" c_casadi_times__0
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-
-casadi_times__0
-  :: Double -> Double -> IO Double
-casadi_times__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_times__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_times__1" c_casadi_times__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_times__1
-  :: SX -> SX -> IO SX
-casadi_times__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_times__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_times__2" c_casadi_times__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_times__2
-  :: DM -> DM -> IO DM
-casadi_times__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_times__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_times__3" c_casadi_times__3
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_times__3
-  :: IM -> IM -> IO IM
-casadi_times__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_times__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_times__4" c_casadi_times__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_times__4
-  :: MX -> MX -> IO MX
-casadi_times__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_times__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_trace__0" c_casadi_trace__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_trace__0
-  :: SX -> IO SX
-casadi_trace__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_trace__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_trace__1" c_casadi_trace__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_trace__1
-  :: DM -> IO DM
-casadi_trace__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_trace__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_trace__2" c_casadi_trace__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_trace__2
-  :: IM -> IO IM
-casadi_trace__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_trace__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_trace__3" c_casadi_trace__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_trace__3
-  :: MX -> IO MX
-casadi_trace__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_trace__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_transpose__0" c_casadi_transpose__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_transpose__0
-  :: SX -> IO SX
-casadi_transpose__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_transpose__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_transpose__1" c_casadi_transpose__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_transpose__1
-  :: DM -> IO DM
-casadi_transpose__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_transpose__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_transpose__2" c_casadi_transpose__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_transpose__2
-  :: IM -> IO IM
-casadi_transpose__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_transpose__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_transpose__3" c_casadi_transpose__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_transpose__3
-  :: MX -> IO MX
-casadi_transpose__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_transpose__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_transpose__4" c_casadi_transpose__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi_transpose__4
-  :: Sparsity -> IO Sparsity
-casadi_transpose__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_transpose__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triangle__0" c_casadi_triangle__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_triangle__0
-  :: SX -> IO SX
-casadi_triangle__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triangle__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triangle__1" c_casadi_triangle__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_triangle__1
-  :: DM -> IO DM
-casadi_triangle__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triangle__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triangle__2" c_casadi_triangle__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_triangle__2
-  :: IM -> IO IM
-casadi_triangle__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triangle__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tril__0" c_casadi_tril__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_tril__0
-  :: SX -> IO SX
-casadi_tril__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tril__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tril__1" c_casadi_tril__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
-
-casadi_tril__1
-  :: SX -> Bool -> IO SX
-casadi_tril__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tril__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tril__2" c_casadi_tril__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_tril__2
-  :: DM -> IO DM
-casadi_tril__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tril__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tril__3" c_casadi_tril__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO (Ptr DM')
-
-casadi_tril__3
-  :: DM -> Bool -> IO DM
-casadi_tril__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tril__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tril__4" c_casadi_tril__4
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_tril__4
-  :: IM -> IO IM
-casadi_tril__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tril__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tril__5" c_casadi_tril__5
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr IM')
-
-casadi_tril__5
-  :: IM -> Bool -> IO IM
-casadi_tril__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tril__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tril__6" c_casadi_tril__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_tril__6
-  :: MX -> IO MX
-casadi_tril__6 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tril__6 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tril__7" c_casadi_tril__7
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
-
-casadi_tril__7
-  :: MX -> Bool -> IO MX
-casadi_tril__7 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tril__7 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tril__8" c_casadi_tril__8
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi_tril__8
-  :: Sparsity -> IO Sparsity
-casadi_tril__8 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tril__8 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tril__9" c_casadi_tril__9
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-
-casadi_tril__9
-  :: Sparsity -> Bool -> IO Sparsity
-casadi_tril__9 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tril__9 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tril2symm__0" c_casadi_tril2symm__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_tril2symm__0
-  :: SX -> IO SX
-casadi_tril2symm__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tril2symm__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tril2symm__1" c_casadi_tril2symm__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_tril2symm__1
-  :: DM -> IO DM
-casadi_tril2symm__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tril2symm__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tril2symm__2" c_casadi_tril2symm__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_tril2symm__2
-  :: IM -> IO IM
-casadi_tril2symm__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tril2symm__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_tril2symm__3" c_casadi_tril2symm__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_tril2symm__3
-  :: MX -> IO MX
-casadi_tril2symm__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_tril2symm__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triu__0" c_casadi_triu__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_triu__0
-  :: SX -> IO SX
-casadi_triu__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triu__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triu__1" c_casadi_triu__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
-
-casadi_triu__1
-  :: SX -> Bool -> IO SX
-casadi_triu__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triu__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triu__2" c_casadi_triu__2
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_triu__2
-  :: DM -> IO DM
-casadi_triu__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triu__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triu__3" c_casadi_triu__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO (Ptr DM')
-
-casadi_triu__3
-  :: DM -> Bool -> IO DM
-casadi_triu__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triu__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triu__4" c_casadi_triu__4
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_triu__4
-  :: IM -> IO IM
-casadi_triu__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triu__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triu__5" c_casadi_triu__5
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr IM')
-
-casadi_triu__5
-  :: IM -> Bool -> IO IM
-casadi_triu__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triu__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triu__6" c_casadi_triu__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_triu__6
-  :: MX -> IO MX
-casadi_triu__6 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triu__6 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triu__7" c_casadi_triu__7
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
-
-casadi_triu__7
-  :: MX -> Bool -> IO MX
-casadi_triu__7 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triu__7 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triu__8" c_casadi_triu__8
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi_triu__8
-  :: Sparsity -> IO Sparsity
-casadi_triu__8 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triu__8 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triu__9" c_casadi_triu__9
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-
-casadi_triu__9
-  :: Sparsity -> Bool -> IO Sparsity
-casadi_triu__9 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triu__9 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triu2symm__0" c_casadi_triu2symm__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_triu2symm__0
-  :: SX -> IO SX
-casadi_triu2symm__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triu2symm__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triu2symm__1" c_casadi_triu2symm__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_triu2symm__1
-  :: DM -> IO DM
-casadi_triu2symm__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triu2symm__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triu2symm__2" c_casadi_triu2symm__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_triu2symm__2
-  :: IM -> IO IM
-casadi_triu2symm__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triu2symm__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_triu2symm__3" c_casadi_triu2symm__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_triu2symm__3
-  :: MX -> IO MX
-casadi_triu2symm__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_triu2symm__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_unite__0" c_casadi_unite__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-
-casadi_unite__0
-  :: SX -> SX -> IO SX
-casadi_unite__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_unite__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_unite__1" c_casadi_unite__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
-
-casadi_unite__1
-  :: DM -> DM -> IO DM
-casadi_unite__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_unite__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_unite__2" c_casadi_unite__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
-
-casadi_unite__2
-  :: IM -> IM -> IO IM
-casadi_unite__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_unite__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_unite__3" c_casadi_unite__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi_unite__3
-  :: MX -> MX -> IO MX
-casadi_unite__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_unite__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vec__0" c_casadi_vec__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-
-casadi_vec__0
-  :: SX -> IO SX
-casadi_vec__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vec__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vec__1" c_casadi_vec__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
-
-casadi_vec__1
-  :: DM -> IO DM
-casadi_vec__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vec__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vec__2" c_casadi_vec__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
-
-casadi_vec__2
-  :: IM -> IO IM
-casadi_vec__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vec__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vec__3" c_casadi_vec__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-
-casadi_vec__3
-  :: MX -> IO MX
-casadi_vec__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vec__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vec__4" c_casadi_vec__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-
-casadi_vec__4
-  :: Sparsity -> IO Sparsity
-casadi_vec__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vec__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_veccat__0" c_casadi_veccat__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
-
-casadi_veccat__0
-  :: Vector SX -> IO SX
-casadi_veccat__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_veccat__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_veccat__1" c_casadi_veccat__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> IO (Ptr DM')
-
-casadi_veccat__1
-  :: Vector DM -> IO DM
-casadi_veccat__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_veccat__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_veccat__2" c_casadi_veccat__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> IO (Ptr IM')
-
-casadi_veccat__2
-  :: Vector IM -> IO IM
-casadi_veccat__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_veccat__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_veccat__3" c_casadi_veccat__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-
-casadi_veccat__3
-  :: Vector MX -> IO MX
-casadi_veccat__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_veccat__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_veccat__4" c_casadi_veccat__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
-
-casadi_veccat__4
-  :: Vector Sparsity -> IO Sparsity
-casadi_veccat__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_veccat__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertcat__0" c_casadi_vertcat__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
-
-casadi_vertcat__0
-  :: Vector SX -> IO SX
-casadi_vertcat__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertcat__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertcat__1" c_casadi_vertcat__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> IO (Ptr DM')
-
-casadi_vertcat__1
-  :: Vector DM -> IO DM
-casadi_vertcat__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertcat__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertcat__2" c_casadi_vertcat__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> IO (Ptr IM')
-
-casadi_vertcat__2
-  :: Vector IM -> IO IM
-casadi_vertcat__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertcat__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertcat__3" c_casadi_vertcat__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-
-casadi_vertcat__3
-  :: Vector MX -> IO MX
-casadi_vertcat__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertcat__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertcat__4" c_casadi_vertcat__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
-
-casadi_vertcat__4
-  :: Vector Sparsity -> IO Sparsity
-casadi_vertcat__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertcat__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__0" c_casadi_vertsplit__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi_vertsplit__0
-  :: SX -> IO (Vector SX)
-casadi_vertsplit__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__1" c_casadi_vertsplit__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi_vertsplit__1
-  :: SX -> Int -> IO (Vector SX)
-casadi_vertsplit__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__2" c_casadi_vertsplit__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr SX')))
-
-casadi_vertsplit__2
-  :: SX -> Vector Int -> IO (Vector SX)
-casadi_vertsplit__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__3" c_casadi_vertsplit__3
-  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi_vertsplit__3
-  :: DM -> IO (Vector DM)
-casadi_vertsplit__3 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__3 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__4" c_casadi_vertsplit__4
-  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi_vertsplit__4
-  :: DM -> Int -> IO (Vector DM)
-casadi_vertsplit__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__4 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__5" c_casadi_vertsplit__5
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr DM')))
-
-casadi_vertsplit__5
-  :: DM -> Vector Int -> IO (Vector DM)
-casadi_vertsplit__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__6" c_casadi_vertsplit__6
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi_vertsplit__6
-  :: IM -> IO (Vector IM)
-casadi_vertsplit__6 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__6 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__7" c_casadi_vertsplit__7
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi_vertsplit__7
-  :: IM -> Int -> IO (Vector IM)
-casadi_vertsplit__7 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__7 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__8" c_casadi_vertsplit__8
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr IM')))
-
-casadi_vertsplit__8
-  :: IM -> Vector Int -> IO (Vector IM)
-casadi_vertsplit__8 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__8 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__9" c_casadi_vertsplit__9
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_vertsplit__9
-  :: MX -> IO (Vector MX)
-casadi_vertsplit__9 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__9 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__10" c_casadi_vertsplit__10
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_vertsplit__10
-  :: MX -> Int -> IO (Vector MX)
-casadi_vertsplit__10 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__10 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__11" c_casadi_vertsplit__11
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi_vertsplit__11
-  :: MX -> Vector Int -> IO (Vector MX)
-casadi_vertsplit__11 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__11 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__12" c_casadi_vertsplit__12
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec (Ptr Sparsity')))
-
-casadi_vertsplit__12
-  :: Sparsity -> IO (Vector Sparsity)
-casadi_vertsplit__12 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__12 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__13" c_casadi_vertsplit__13
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr Sparsity')))
-
-casadi_vertsplit__13
-  :: Sparsity -> Int -> IO (Vector Sparsity)
-casadi_vertsplit__13 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__13 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "casadi_vertsplit__14" c_casadi_vertsplit__14
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr Sparsity')))
-
-casadi_vertsplit__14
-  :: Sparsity -> Vector Int -> IO (Vector Sparsity)
-casadi_vertsplit__14 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_vertsplit__14 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "collocationInterpolators" c_collocationInterpolators
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> Ptr (Ptr (StdVec (Ptr (StdVec CDouble)))) -> Ptr (Ptr (StdVec CDouble)) -> IO ()
-
-collocationInterpolators
-  :: Vector Double -> IO (Vector (Vector Double), Vector Double)
-collocationInterpolators x0 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_collocationInterpolators errStrPtrP x0' o1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in collocationInterpolators/c_collocationInterpolators" else wrapReturn o1''
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in collocationInterpolators/c_collocationInterpolators" else wrapReturn o2''
-
-  return (o1''', o2''')
-
-
-
-foreign import ccall unsafe "collocation_interpolators" c_collocation_interpolators
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> Ptr (Ptr (StdVec (Ptr (StdVec CDouble)))) -> Ptr (Ptr (StdVec CDouble)) -> IO ()
-
-collocation_interpolators
-  :: Vector Double -> IO (Vector (Vector Double), Vector Double)
-collocation_interpolators x0 = do
-  x0' <- marshal x0
-  o1' <- new nullPtr
-  o2' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_collocation_interpolators errStrPtrP x0' o1' o2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  o1'' <- peek o1'
-  free o1'
-  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in collocation_interpolators/c_collocation_interpolators" else wrapReturn o1''
-  o2'' <- peek o2'
-  free o2'
-  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in collocation_interpolators/c_collocation_interpolators" else wrapReturn o2''
-
-  return (o1''', o2''')
-
-
-
-foreign import ccall unsafe "collocation_points__0" c_collocation_points__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr (StdVec CDouble))
-
-collocation_points__0
-  :: Int -> IO (Vector Double)
-collocation_points__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_collocation_points__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "collocation_points__1" c_collocation_points__1
-  :: Ptr (Ptr StdString) -> CInt -> Ptr StdString -> IO (Ptr (StdVec CDouble))
-
-collocation_points__1
-  :: Int -> String -> IO (Vector Double)
-collocation_points__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_collocation_points__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "complement" c_complement
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> IO (Ptr (StdVec CInt))
-
-complement
-  :: Vector Int -> Int -> IO (Vector Int)
-complement x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_complement errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "conic__0" c_conic__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr Sparsity')) -> IO (Ptr Function')
-
-conic__0
-  :: String -> String -> M.Map String Sparsity -> IO Function
-conic__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_conic__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "conic__1" c_conic__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr Sparsity')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-conic__1
-  :: String -> String -> M.Map String Sparsity -> M.Map String GenericType -> IO Function
-conic__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_conic__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "conic_in__0" c_conic_in__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
-
-conic_in__0
-  :: Int -> IO String
-conic_in__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_conic_in__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "conic_in__1" c_conic_in__1
-  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
-
-conic_in__1
-  :: IO (Vector String)
-conic_in__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_conic_in__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "conic_n_in" c_conic_n_in
-  :: Ptr (Ptr StdString) -> IO CInt
-
-conic_n_in
-  :: IO Int
-conic_n_in  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_conic_n_in errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "conic_n_out" c_conic_n_out
-  :: Ptr (Ptr StdString) -> IO CInt
-
-conic_n_out
-  :: IO Int
-conic_n_out  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_conic_n_out errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "conic_out__0" c_conic_out__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
-
-conic_out__0
-  :: Int -> IO String
-conic_out__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_conic_out__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "conic_out__1" c_conic_out__1
-  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
-
-conic_out__1
-  :: IO (Vector String)
-conic_out__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_conic_out__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "doc_conic" c_doc_conic
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
-
-doc_conic
-  :: String -> IO String
-doc_conic x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_doc_conic errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "doc_dple" c_doc_dple
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
-
-doc_dple
-  :: String -> IO String
-doc_dple x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_doc_dple errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "doc_integrator" c_doc_integrator
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
-
-doc_integrator
-  :: String -> IO String
-doc_integrator x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_doc_integrator errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "doc_interpolant" c_doc_interpolant
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
-
-doc_interpolant
-  :: String -> IO String
-doc_interpolant x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_doc_interpolant errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "doc_linsol" c_doc_linsol
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
-
-doc_linsol
-  :: String -> IO String
-doc_linsol x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_doc_linsol errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "doc_nlpsol" c_doc_nlpsol
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
-
-doc_nlpsol
-  :: String -> IO String
-doc_nlpsol x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_doc_nlpsol errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "doc_rootfinder" c_doc_rootfinder
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
-
-doc_rootfinder
-  :: String -> IO String
-doc_rootfinder x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_doc_rootfinder errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "dple_in__0" c_dple_in__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
-
-dple_in__0
-  :: Int -> IO String
-dple_in__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_dple_in__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "dple_in__1" c_dple_in__1
-  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
-
-dple_in__1
-  :: IO (Vector String)
-dple_in__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_dple_in__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "dple_n_in" c_dple_n_in
-  :: Ptr (Ptr StdString) -> IO CInt
-
-dple_n_in
-  :: IO Int
-dple_n_in  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_dple_n_in errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "dple_n_out" c_dple_n_out
-  :: Ptr (Ptr StdString) -> IO CInt
-
-dple_n_out
-  :: IO Int
-dple_n_out  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_dple_n_out errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "dple_out__0" c_dple_out__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
-
-dple_out__0
-  :: Int -> IO String
-dple_out__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_dple_out__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "dple_out__1" c_dple_out__1
-  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
-
-dple_out__1
-  :: IO (Vector String)
-dple_out__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_dple_out__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "dplesol__0" c_dplesol__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DM')))
-
-dplesol__0
-  :: Vector DM -> Vector DM -> String -> IO (Vector DM)
-dplesol__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_dplesol__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "dplesol__1" c_dplesol__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr (StdVec (Ptr DM')))
-
-dplesol__1
-  :: Vector DM -> Vector DM -> String -> M.Map String GenericType -> IO (Vector DM)
-dplesol__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_dplesol__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "dplesol__2" c_dplesol__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-
-dplesol__2
-  :: Vector MX -> Vector MX -> String -> IO (Vector MX)
-dplesol__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_dplesol__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "dplesol__3" c_dplesol__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr (StdVec (Ptr MX')))
-
-dplesol__3
-  :: Vector MX -> Vector MX -> String -> M.Map String GenericType -> IO (Vector MX)
-dplesol__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_dplesol__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "dplesol__4" c_dplesol__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
-
-dplesol__4
-  :: MX -> MX -> String -> IO MX
-dplesol__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_dplesol__4 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "dplesol__5" c_dplesol__5
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr MX')
-
-dplesol__5
-  :: MX -> MX -> String -> M.Map String GenericType -> IO MX
-dplesol__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_dplesol__5 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "dplesol__6" c_dplesol__6
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr Sparsity')) -> IO (Ptr Function')
-
-dplesol__6
-  :: String -> String -> M.Map String Sparsity -> IO Function
-dplesol__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_dplesol__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "dplesol__7" c_dplesol__7
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr Sparsity')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-dplesol__7
-  :: String -> String -> M.Map String Sparsity -> M.Map String GenericType -> IO Function
-dplesol__7 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_dplesol__7 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "external__0" c_external__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Importer' -> IO (Ptr Function')
-
-external__0
-  :: String -> Importer -> IO Function
-external__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_external__0 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "external__1" c_external__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Importer' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-external__1
-  :: String -> Importer -> M.Map String GenericType -> IO Function
-external__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_external__1 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "external__2" c_external__2
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> IO (Ptr Function')
-
-external__2
-  :: String -> String -> IO Function
-external__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_external__2 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "external__3" c_external__3
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-external__3
-  :: String -> String -> M.Map String GenericType -> IO Function
-external__3 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_external__3 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "external__4" c_external__4
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr Function')
-
-external__4
-  :: String -> IO Function
-external__4 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_external__4 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "external__5" c_external__5
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-external__5
-  :: String -> M.Map String GenericType -> IO Function
-external__5 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_external__5 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "has_conic" c_has_conic
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
-
-has_conic
-  :: String -> IO Bool
-has_conic x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_has_conic errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "has_dple" c_has_dple
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
-
-has_dple
-  :: String -> IO Bool
-has_dple x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_has_dple errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "has_integrator" c_has_integrator
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
-
-has_integrator
-  :: String -> IO Bool
-has_integrator x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_has_integrator errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "has_interpolant" c_has_interpolant
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
-
-has_interpolant
-  :: String -> IO Bool
-has_interpolant x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_has_interpolant errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "has_linsol" c_has_linsol
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
-
-has_linsol
-  :: String -> IO Bool
-has_linsol x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_has_linsol errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "has_nlpsol" c_has_nlpsol
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
-
-has_nlpsol
-  :: String -> IO Bool
-has_nlpsol x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_has_nlpsol errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "has_rootfinder" c_has_rootfinder
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
-
-has_rootfinder
-  :: String -> IO Bool
-has_rootfinder x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_has_rootfinder errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "hash_combine" c_hash_combine
-  :: Ptr (Ptr StdString) -> CSize -> Ptr (StdVec CInt) -> IO ()
-
-hash_combine
-  :: CSize -> Vector Int -> IO ()
-hash_combine x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_hash_combine errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
-foreign import ccall unsafe "hash_sparsity" c_hash_sparsity
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CSize
-
-hash_sparsity
-  :: Int -> Int -> Vector Int -> Vector Int -> IO CSize
-hash_sparsity x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_hash_sparsity errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "integrator__0" c_integrator__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> IO (Ptr Function')
-
-integrator__0
-  :: String -> String -> M.Map String MX -> IO Function
-integrator__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_integrator__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "integrator__1" c_integrator__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-integrator__1
-  :: String -> String -> M.Map String MX -> M.Map String GenericType -> IO Function
-integrator__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_integrator__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "integrator__2" c_integrator__2
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> IO (Ptr Function')
-
-integrator__2
-  :: String -> String -> M.Map String SX -> IO Function
-integrator__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_integrator__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "integrator__3" c_integrator__3
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-integrator__3
-  :: String -> String -> M.Map String SX -> M.Map String GenericType -> IO Function
-integrator__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_integrator__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "integrator_in__0" c_integrator_in__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
-
-integrator_in__0
-  :: Int -> IO String
-integrator_in__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_integrator_in__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "integrator_in__1" c_integrator_in__1
-  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
-
-integrator_in__1
-  :: IO (Vector String)
-integrator_in__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_integrator_in__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "integrator_n_in" c_integrator_n_in
-  :: Ptr (Ptr StdString) -> IO CInt
-
-integrator_n_in
-  :: IO Int
-integrator_n_in  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_integrator_n_in errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "integrator_n_out" c_integrator_n_out
-  :: Ptr (Ptr StdString) -> IO CInt
-
-integrator_n_out
-  :: IO Int
-integrator_n_out  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_integrator_n_out errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "integrator_out__0" c_integrator_out__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
-
-integrator_out__0
-  :: Int -> IO String
-integrator_out__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_integrator_out__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "integrator_out__1" c_integrator_out__1
-  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
-
-integrator_out__1
-  :: IO (Vector String)
-integrator_out__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_integrator_out__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "interpolant__0" c_interpolant__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdVec (Ptr (StdVec CDouble))) -> Ptr (StdVec CDouble) -> IO (Ptr Function')
-
-interpolant__0
-  :: String -> String -> Vector (Vector Double) -> Vector Double -> IO Function
-interpolant__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_interpolant__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "interpolant__1" c_interpolant__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdVec (Ptr (StdVec CDouble))) -> Ptr (StdVec CDouble) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-interpolant__1
-  :: String -> String -> Vector (Vector Double) -> Vector Double -> M.Map String GenericType -> IO Function
-interpolant__1 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_interpolant__1 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
-foreign import ccall unsafe "is_slice__0" c_is_slice__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
-
-is_slice__0
-  :: IM -> IO Bool
-is_slice__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_is_slice__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "is_slice__1" c_is_slice__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO CInt
-
-is_slice__1
-  :: IM -> Bool -> IO Bool
-is_slice__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_is_slice__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "is_slice__2" c_is_slice__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
-
-is_slice__2
-  :: Vector Int -> IO Bool
-is_slice__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_is_slice__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "is_slice__3" c_is_slice__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> IO CInt
-
-is_slice__3
-  :: Vector Int -> Bool -> IO Bool
-is_slice__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_is_slice__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "is_slice2" c_is_slice2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
-
-is_slice2
-  :: Vector Int -> IO Bool
-is_slice2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_is_slice2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "jit__0" c_jit__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> Ptr StdString -> IO (Ptr Function')
-
-jit__0
-  :: String -> Int -> Int -> String -> IO Function
-jit__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_jit__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "jit__1" c_jit__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-jit__1
-  :: String -> Int -> Int -> String -> M.Map String GenericType -> IO Function
-jit__1 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_jit__1 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
-foreign import ccall unsafe "linsol_new__0" c_linsol_new__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Sparsity' -> CInt -> IO (Ptr Function')
-
-linsol_new__0
-  :: String -> String -> Sparsity -> Int -> IO Function
-linsol_new__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_linsol_new__0 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "linsol_new__1" c_linsol_new__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Sparsity' -> CInt -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-linsol_new__1
-  :: String -> String -> Sparsity -> Int -> M.Map String GenericType -> IO Function
-linsol_new__1 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_linsol_new__1 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
-foreign import ccall unsafe "load_conic" c_load_conic
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
-
-load_conic
-  :: String -> IO ()
-load_conic x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_load_conic errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
-foreign import ccall unsafe "load_dple" c_load_dple
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
-
-load_dple
-  :: String -> IO ()
-load_dple x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_load_dple errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
-foreign import ccall unsafe "load_integrator" c_load_integrator
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
-
-load_integrator
-  :: String -> IO ()
-load_integrator x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_load_integrator errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
-foreign import ccall unsafe "load_interpolant" c_load_interpolant
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
-
-load_interpolant
-  :: String -> IO ()
-load_interpolant x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_load_interpolant errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
-foreign import ccall unsafe "load_linsol" c_load_linsol
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
-
-load_linsol
-  :: String -> IO ()
-load_linsol x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_load_linsol errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
-foreign import ccall unsafe "load_nlpsol" c_load_nlpsol
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
-
-load_nlpsol
-  :: String -> IO ()
-load_nlpsol x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_load_nlpsol errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
-foreign import ccall unsafe "load_rootfinder" c_load_rootfinder
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
-
-load_rootfinder
-  :: String -> IO ()
-load_rootfinder x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_load_rootfinder errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
-foreign import ccall unsafe "lookupvector" c_lookupvector
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> IO (Ptr (StdVec CInt))
-
-lookupvector
-  :: Vector Int -> Int -> IO (Vector Int)
-lookupvector x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_lookupvector errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol__0" c_nlpsol__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr NlpBuilder' -> IO (Ptr Function')
-
-nlpsol__0
-  :: String -> String -> NlpBuilder -> IO Function
-nlpsol__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol__1" c_nlpsol__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr NlpBuilder' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-nlpsol__1
-  :: String -> String -> NlpBuilder -> M.Map String GenericType -> IO Function
-nlpsol__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol__2" c_nlpsol__2
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Importer' -> IO (Ptr Function')
-
-nlpsol__2
-  :: String -> String -> Importer -> IO Function
-nlpsol__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol__3" c_nlpsol__3
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Importer' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-nlpsol__3
-  :: String -> String -> Importer -> M.Map String GenericType -> IO Function
-nlpsol__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol__4" c_nlpsol__4
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr Function')
-
-nlpsol__4
-  :: String -> String -> String -> IO Function
-nlpsol__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol__4 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol__5" c_nlpsol__5
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-nlpsol__5
-  :: String -> String -> String -> M.Map String GenericType -> IO Function
-nlpsol__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol__5 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol__6" c_nlpsol__6
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> IO (Ptr Function')
-
-nlpsol__6
-  :: String -> String -> M.Map String MX -> IO Function
-nlpsol__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol__6 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol__7" c_nlpsol__7
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-nlpsol__7
-  :: String -> String -> M.Map String MX -> M.Map String GenericType -> IO Function
-nlpsol__7 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol__7 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol__8" c_nlpsol__8
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> IO (Ptr Function')
-
-nlpsol__8
-  :: String -> String -> M.Map String SX -> IO Function
-nlpsol__8 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol__8 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol__9" c_nlpsol__9
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-nlpsol__9
-  :: String -> String -> M.Map String SX -> M.Map String GenericType -> IO Function
-nlpsol__9 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol__9 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol_default_in__0" c_nlpsol_default_in__0
-  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec CDouble))
-
-nlpsol_default_in__0
-  :: IO (Vector Double)
-nlpsol_default_in__0  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol_default_in__0 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol_default_in__1" c_nlpsol_default_in__1
-  :: Ptr (Ptr StdString) -> CInt -> IO CDouble
-
-nlpsol_default_in__1
-  :: Int -> IO Double
-nlpsol_default_in__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol_default_in__1 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol_in__0" c_nlpsol_in__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
-
-nlpsol_in__0
-  :: Int -> IO String
-nlpsol_in__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol_in__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol_in__1" c_nlpsol_in__1
-  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
-
-nlpsol_in__1
-  :: IO (Vector String)
-nlpsol_in__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol_in__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol_n_in" c_nlpsol_n_in
-  :: Ptr (Ptr StdString) -> IO CInt
-
-nlpsol_n_in
-  :: IO Int
-nlpsol_n_in  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol_n_in errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol_n_out" c_nlpsol_n_out
-  :: Ptr (Ptr StdString) -> IO CInt
-
-nlpsol_n_out
-  :: IO Int
-nlpsol_n_out  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol_n_out errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol_out__0" c_nlpsol_out__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
-
-nlpsol_out__0
-  :: Int -> IO String
-nlpsol_out__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol_out__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "nlpsol_out__1" c_nlpsol_out__1
-  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
-
-nlpsol_out__1
-  :: IO (Vector String)
-nlpsol_out__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_nlpsol_out__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
-foreign import ccall unsafe "qpsol__0" c_qpsol__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> IO (Ptr Function')
-
-qpsol__0
-  :: String -> String -> M.Map String MX -> IO Function
-qpsol__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_qpsol__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "qpsol__1" c_qpsol__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-qpsol__1
-  :: String -> String -> M.Map String MX -> M.Map String GenericType -> IO Function
-qpsol__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_qpsol__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "qpsol__2" c_qpsol__2
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> IO (Ptr Function')
-
-qpsol__2
-  :: String -> String -> M.Map String SX -> IO Function
-qpsol__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_qpsol__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "qpsol__3" c_qpsol__3
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-qpsol__3
-  :: String -> String -> M.Map String SX -> M.Map String GenericType -> IO Function
-qpsol__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_qpsol__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "rootfinder__0" c_rootfinder__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Function' -> IO (Ptr Function')
-
-rootfinder__0
-  :: String -> String -> Function -> IO Function
-rootfinder__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_rootfinder__0 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "rootfinder__1" c_rootfinder__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Function' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-rootfinder__1
-  :: String -> String -> Function -> M.Map String GenericType -> IO Function
-rootfinder__1 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_rootfinder__1 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "simpleIRK__0" c_simpleIRK__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-
-simpleIRK__0
-  :: Function -> IO Function
-simpleIRK__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_simpleIRK__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "simpleIRK__1" c_simpleIRK__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
-
-simpleIRK__1
-  :: Function -> Int -> IO Function
-simpleIRK__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_simpleIRK__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "simpleIRK__2" c_simpleIRK__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
-
-simpleIRK__2
-  :: Function -> Int -> Int -> IO Function
-simpleIRK__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_simpleIRK__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "simpleIRK__3" c_simpleIRK__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> Ptr StdString -> IO (Ptr Function')
-
-simpleIRK__3
-  :: Function -> Int -> Int -> String -> IO Function
-simpleIRK__3 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_simpleIRK__3 errStrPtrP x0' x1' x2' x3'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-
-  return ret
-
-
-
-foreign import ccall unsafe "simpleIRK__4" c_simpleIRK__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> Ptr StdString -> Ptr StdString -> IO (Ptr Function')
-
-simpleIRK__4
-  :: Function -> Int -> Int -> String -> String -> IO Function
-simpleIRK__4 x0 x1 x2 x3 x4 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_simpleIRK__4 errStrPtrP x0' x1' x2' x3' x4'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-
-  return ret
-
-
-
-foreign import ccall unsafe "simpleIRK__5" c_simpleIRK__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-simpleIRK__5
-  :: Function -> Int -> Int -> String -> String -> M.Map String GenericType -> IO Function
-simpleIRK__5 x0 x1 x2 x3 x4 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-  x4' <- marshal x4
-  x5' <- marshal x5
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_simpleIRK__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-  marshalFree x3 x3'
-  marshalFree x4 x4'
-  marshalFree x5 x5'
-
-  return ret
-
-
-
-foreign import ccall unsafe "simpleIntegrator__0" c_simpleIntegrator__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-
-simpleIntegrator__0
-  :: Function -> IO Function
-simpleIntegrator__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_simpleIntegrator__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "simpleIntegrator__1" c_simpleIntegrator__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
-
-simpleIntegrator__1
-  :: Function -> String -> IO Function
-simpleIntegrator__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_simpleIntegrator__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "simpleIntegrator__2" c_simpleIntegrator__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-simpleIntegrator__2
-  :: Function -> String -> M.Map String GenericType -> IO Function
-simpleIntegrator__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_simpleIntegrator__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "simpleRK__0" c_simpleRK__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-
-simpleRK__0
-  :: Function -> IO Function
-simpleRK__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_simpleRK__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "simpleRK__1" c_simpleRK__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
-
-simpleRK__1
-  :: Function -> Int -> IO Function
-simpleRK__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_simpleRK__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "simpleRK__2" c_simpleRK__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
-
-simpleRK__2
-  :: Function -> Int -> Int -> IO Function
-simpleRK__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_simpleRK__2 errStrPtrP x0' x1' x2'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ret
-
-
-
-foreign import ccall unsafe "to_slice__0" c_to_slice__0
-  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr Slice')
-
-to_slice__0
-  :: IM -> IO Slice
-to_slice__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_to_slice__0 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "to_slice__1" c_to_slice__1
-  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr Slice')
-
-to_slice__1
-  :: IM -> Bool -> IO Slice
-to_slice__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_to_slice__1 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "to_slice__2" c_to_slice__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr Slice')
-
-to_slice__2
-  :: Vector Int -> IO Slice
-to_slice__2 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_to_slice__2 errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
-foreign import ccall unsafe "to_slice__3" c_to_slice__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> IO (Ptr Slice')
-
-to_slice__3
-  :: Vector Int -> Bool -> IO Slice
-to_slice__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_to_slice__3 errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
-foreign import ccall unsafe "to_slice2" c_to_slice2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr (StdPair (Ptr Slice') (Ptr Slice')))
+         casadi_blocksplit__0,
+         casadi_blocksplit__1,
+         casadi_blocksplit__10,
+         casadi_blocksplit__11,
+         casadi_blocksplit__12,
+         casadi_blocksplit__13,
+         casadi_blocksplit__14,
+         casadi_blocksplit__15,
+         casadi_blocksplit__16,
+         casadi_blocksplit__17,
+         casadi_blocksplit__18,
+         casadi_blocksplit__19,
+         casadi_blocksplit__2,
+         casadi_blocksplit__3,
+         casadi_blocksplit__4,
+         casadi_blocksplit__5,
+         casadi_blocksplit__6,
+         casadi_blocksplit__7,
+         casadi_blocksplit__8,
+         casadi_blocksplit__9,
+         casadi_ceil__0,
+         casadi_ceil__1,
+         casadi_ceil__2,
+         casadi_ceil__3,
+         casadi_ceil__4,
+         casadi_chol__0,
+         casadi_chol__1,
+         casadi_chol__2,
+         casadi_cofactor__0,
+         casadi_cofactor__1,
+         casadi_cofactor__2,
+         casadi_conditional__0,
+         casadi_conditional__1,
+         casadi_conditional__2,
+         casadi_conditional__3,
+         casadi_conditional__4,
+         casadi_conditional__5,
+         casadi_conditional__6,
+         casadi_conditional__7,
+         casadi_constpow__0,
+         casadi_constpow__1,
+         casadi_constpow__2,
+         casadi_constpow__3,
+         casadi_constpow__4,
+         casadi_copysign__0,
+         casadi_copysign__1,
+         casadi_copysign__2,
+         casadi_copysign__3,
+         casadi_copysign__4,
+         casadi_cos__0,
+         casadi_cos__1,
+         casadi_cos__2,
+         casadi_cos__3,
+         casadi_cos__4,
+         casadi_cosh__0,
+         casadi_cosh__1,
+         casadi_cosh__2,
+         casadi_cosh__3,
+         casadi_cosh__4,
+         casadi_cross__0,
+         casadi_cross__1,
+         casadi_cross__2,
+         casadi_cross__3,
+         casadi_cross__4,
+         casadi_cross__5,
+         casadi_cross__6,
+         casadi_cross__7,
+         casadi_cumsum__0,
+         casadi_cumsum__1,
+         casadi_cumsum__2,
+         casadi_cumsum__3,
+         casadi_cumsum__4,
+         casadi_cumsum__5,
+         casadi_cumsum__6,
+         casadi_cumsum__7,
+         casadi_densify__0,
+         casadi_densify__1,
+         casadi_densify__2,
+         casadi_densify__3,
+         casadi_depends_on__0,
+         casadi_depends_on__1,
+         casadi_depends_on__2,
+         casadi_depends_on__3,
+         casadi_det__0,
+         casadi_det__1,
+         casadi_det__2,
+         casadi_det__3,
+         casadi_diag__0,
+         casadi_diag__1,
+         casadi_diag__2,
+         casadi_diag__3,
+         casadi_diagcat__0,
+         casadi_diagcat__1,
+         casadi_diagcat__2,
+         casadi_diagcat__3,
+         casadi_diagcat__4,
+         casadi_diagsplit__0,
+         casadi_diagsplit__1,
+         casadi_diagsplit__10,
+         casadi_diagsplit__11,
+         casadi_diagsplit__12,
+         casadi_diagsplit__13,
+         casadi_diagsplit__14,
+         casadi_diagsplit__15,
+         casadi_diagsplit__16,
+         casadi_diagsplit__17,
+         casadi_diagsplit__18,
+         casadi_diagsplit__19,
+         casadi_diagsplit__2,
+         casadi_diagsplit__20,
+         casadi_diagsplit__21,
+         casadi_diagsplit__22,
+         casadi_diagsplit__23,
+         casadi_diagsplit__24,
+         casadi_diagsplit__3,
+         casadi_diagsplit__4,
+         casadi_diagsplit__5,
+         casadi_diagsplit__6,
+         casadi_diagsplit__7,
+         casadi_diagsplit__8,
+         casadi_diagsplit__9,
+         casadi_diff__0,
+         casadi_diff__1,
+         casadi_diff__10,
+         casadi_diff__11,
+         casadi_diff__2,
+         casadi_diff__3,
+         casadi_diff__4,
+         casadi_diff__5,
+         casadi_diff__6,
+         casadi_diff__7,
+         casadi_diff__8,
+         casadi_diff__9,
+         casadi_dot__0,
+         casadi_dot__1,
+         casadi_dot__2,
+         casadi_dot__3,
+         casadi_eig_symbolic__0,
+         casadi_eig_symbolic__1,
+         casadi_eig_symbolic__2,
+         casadi_einstein__0,
+         casadi_einstein__1,
+         casadi_einstein__2,
+         casadi_einstein__3,
+         casadi_einstein__4,
+         casadi_einstein__5,
+         casadi_einstein__6,
+         casadi_einstein__7,
+         casadi_eq__0,
+         casadi_eq__1,
+         casadi_eq__2,
+         casadi_eq__3,
+         casadi_eq__4,
+         casadi_erf__0,
+         casadi_erf__1,
+         casadi_erf__2,
+         casadi_erf__3,
+         casadi_erf__4,
+         casadi_erfinv__0,
+         casadi_erfinv__1,
+         casadi_erfinv__2,
+         casadi_erfinv__3,
+         casadi_erfinv__4,
+         casadi_evalf__0,
+         casadi_evalf__1,
+         casadi_evalf__2,
+         casadi_evalf__3,
+         casadi_exp__0,
+         casadi_exp__1,
+         casadi_exp__2,
+         casadi_exp__3,
+         casadi_exp__4,
+         casadi_expand__0,
+         casadi_expand__1,
+         casadi_expand__2,
+         casadi_expm__0,
+         casadi_expm__1,
+         casadi_expm__2,
+         casadi_expm__3,
+         casadi_expm_const__0,
+         casadi_expm_const__1,
+         casadi_expm_const__2,
+         casadi_expm_const__3,
+         casadi_find,
+         casadi_floor__0,
+         casadi_floor__1,
+         casadi_floor__2,
+         casadi_floor__3,
+         casadi_floor__4,
+         casadi_fmax__0,
+         casadi_fmax__1,
+         casadi_fmax__2,
+         casadi_fmax__3,
+         casadi_fmax__4,
+         casadi_fmin__0,
+         casadi_fmin__1,
+         casadi_fmin__2,
+         casadi_fmin__3,
+         casadi_fmin__4,
+         casadi_forward__0,
+         casadi_forward__1,
+         casadi_forward__2,
+         casadi_forward__3,
+         casadi_forward__4,
+         casadi_forward__5,
+         casadi_forward__6,
+         casadi_forward__7,
+         casadi_gauss_quadrature__0,
+         casadi_gauss_quadrature__1,
+         casadi_gauss_quadrature__2,
+         casadi_gauss_quadrature__3,
+         casadi_gauss_quadrature__4,
+         casadi_gauss_quadrature__5,
+         casadi_gauss_quadrature__6,
+         casadi_gauss_quadrature__7,
+         casadi_gauss_quadrature__8,
+         casadi_ge__0,
+         casadi_ge__1,
+         casadi_ge__2,
+         casadi_ge__3,
+         casadi_ge__4,
+         casadi_gradient__0,
+         casadi_gradient__1,
+         casadi_gradient__2,
+         casadi_gradient__3,
+         casadi_graph_substitute__0,
+         casadi_graph_substitute__1,
+         casadi_gt__0,
+         casadi_gt__1,
+         casadi_gt__2,
+         casadi_gt__3,
+         casadi_gt__4,
+         casadi_heaviside__0,
+         casadi_heaviside__1,
+         casadi_heaviside__2,
+         casadi_hessian__0,
+         casadi_hessian__1,
+         casadi_hessian__2,
+         casadi_hessian__3,
+         casadi_horzcat__0,
+         casadi_horzcat__1,
+         casadi_horzcat__2,
+         casadi_horzcat__3,
+         casadi_horzcat__4,
+         casadi_horzsplit__0,
+         casadi_horzsplit__1,
+         casadi_horzsplit__10,
+         casadi_horzsplit__11,
+         casadi_horzsplit__12,
+         casadi_horzsplit__13,
+         casadi_horzsplit__14,
+         casadi_horzsplit__2,
+         casadi_horzsplit__3,
+         casadi_horzsplit__4,
+         casadi_horzsplit__5,
+         casadi_horzsplit__6,
+         casadi_horzsplit__7,
+         casadi_horzsplit__8,
+         casadi_horzsplit__9,
+         casadi_if_else__0,
+         casadi_if_else__1,
+         casadi_if_else__2,
+         casadi_if_else__3,
+         casadi_if_else__4,
+         casadi_if_else__5,
+         casadi_if_else__6,
+         casadi_if_else__7,
+         casadi_inv__0,
+         casadi_inv__1,
+         casadi_inv__10,
+         casadi_inv__11,
+         casadi_inv__2,
+         casadi_inv__3,
+         casadi_inv__4,
+         casadi_inv__5,
+         casadi_inv__6,
+         casadi_inv__7,
+         casadi_inv__8,
+         casadi_inv__9,
+         casadi_inv_minor__0,
+         casadi_inv_minor__1,
+         casadi_inv_minor__2,
+         casadi_inv_minor__3,
+         casadi_inv_node,
+         casadi_inv_skew__0,
+         casadi_inv_skew__1,
+         casadi_inv_skew__2,
+         casadi_inv_skew__3,
+         casadi_is_equal__0,
+         casadi_is_equal__1,
+         casadi_is_equal__2,
+         casadi_is_equal__3,
+         casadi_is_equal__4,
+         casadi_is_equal__5,
+         casadi_is_equal__6,
+         casadi_is_equal__7,
+         casadi_is_equal__8,
+         casadi_is_equal__9,
+         casadi_is_linear__0,
+         casadi_is_linear__1,
+         casadi_is_linear__2,
+         casadi_is_linear__3,
+         casadi_is_quadratic__0,
+         casadi_is_quadratic__1,
+         casadi_is_quadratic__2,
+         casadi_is_quadratic__3,
+         casadi_jacobian__0,
+         casadi_jacobian__1,
+         casadi_jacobian__2,
+         casadi_jacobian__3,
+         casadi_jacobian__4,
+         casadi_jacobian__5,
+         casadi_jacobian__6,
+         casadi_jacobian__7,
+         casadi_jtimes__0,
+         casadi_jtimes__1,
+         casadi_jtimes__2,
+         casadi_jtimes__3,
+         casadi_jtimes__4,
+         casadi_jtimes__5,
+         casadi_jtimes__6,
+         casadi_jtimes__7,
+         casadi_kron__0,
+         casadi_kron__1,
+         casadi_kron__2,
+         casadi_kron__3,
+         casadi_kron__4,
+         casadi_ldivide__0,
+         casadi_ldivide__1,
+         casadi_ldivide__2,
+         casadi_ldivide__3,
+         casadi_ldivide__4,
+         casadi_ldl__0,
+         casadi_ldl__1,
+         casadi_ldl__2,
+         casadi_ldl__3,
+         casadi_ldl__4,
+         casadi_ldl__5,
+         casadi_ldl_solve__0,
+         casadi_ldl_solve__1,
+         casadi_ldl_solve__2,
+         casadi_le__0,
+         casadi_le__1,
+         casadi_le__2,
+         casadi_le__3,
+         casadi_le__4,
+         casadi_linear_coeff__0,
+         casadi_linear_coeff__1,
+         casadi_linear_coeff__2,
+         casadi_linear_coeff__3,
+         casadi_linearize__0,
+         casadi_linearize__1,
+         casadi_linearize__2,
+         casadi_linearize__3,
+         casadi_linspace__0,
+         casadi_linspace__1,
+         casadi_linspace__2,
+         casadi_linspace__3,
+         casadi_log10__0,
+         casadi_log10__1,
+         casadi_log10__2,
+         casadi_log10__3,
+         casadi_log10__4,
+         casadi_log__0,
+         casadi_log__1,
+         casadi_log__2,
+         casadi_log__3,
+         casadi_log__4,
+         casadi_lt__0,
+         casadi_lt__1,
+         casadi_lt__2,
+         casadi_lt__3,
+         casadi_lt__4,
+         casadi_mac__0,
+         casadi_mac__1,
+         casadi_mac__2,
+         casadi_mac__3,
+         casadi_mac__4,
+         casadi_matrix_expand__0,
+         casadi_matrix_expand__1,
+         casadi_matrix_expand__2,
+         casadi_matrix_expand__3,
+         casadi_matrix_expand__4,
+         casadi_matrix_expand__5,
+         casadi_minor__0,
+         casadi_minor__1,
+         casadi_minor__2,
+         casadi_minus__0,
+         casadi_minus__1,
+         casadi_minus__2,
+         casadi_minus__3,
+         casadi_minus__4,
+         casadi_mldivide__0,
+         casadi_mldivide__1,
+         casadi_mldivide__2,
+         casadi_mldivide__3,
+         casadi_mmax__0,
+         casadi_mmax__1,
+         casadi_mmax__2,
+         casadi_mmax__3,
+         casadi_mmin__0,
+         casadi_mmin__1,
+         casadi_mmin__2,
+         casadi_mmin__3,
+         casadi_mod__0,
+         casadi_mod__1,
+         casadi_mod__2,
+         casadi_mod__3,
+         casadi_mod__4,
+         casadi_mpower__0,
+         casadi_mpower__1,
+         casadi_mpower__2,
+         casadi_mpower__3,
+         casadi_mrdivide__0,
+         casadi_mrdivide__1,
+         casadi_mrdivide__2,
+         casadi_mrdivide__3,
+         casadi_mtaylor__0,
+         casadi_mtaylor__1,
+         casadi_mtaylor__2,
+         casadi_mtaylor__3,
+         casadi_mtaylor__4,
+         casadi_mtaylor__5,
+         casadi_mtaylor__6,
+         casadi_mtaylor__7,
+         casadi_mtaylor__8,
+         casadi_mtimes__0,
+         casadi_mtimes__1,
+         casadi_mtimes__2,
+         casadi_mtimes__3,
+         casadi_mtimes__4,
+         casadi_mtimes__5,
+         casadi_mtimes__6,
+         casadi_mtimes__7,
+         casadi_mtimes__8,
+         casadi_mtimes__9,
+         casadi_n_nodes__0,
+         casadi_n_nodes__1,
+         casadi_n_nodes__2,
+         casadi_n_nodes__3,
+         casadi_ne__0,
+         casadi_ne__1,
+         casadi_ne__2,
+         casadi_ne__3,
+         casadi_ne__4,
+         casadi_norm_0_mul__0,
+         casadi_norm_0_mul__1,
+         casadi_norm_0_mul__2,
+         casadi_norm_0_mul__3,
+         casadi_norm_0_mul__4,
+         casadi_norm_1__0,
+         casadi_norm_1__1,
+         casadi_norm_1__2,
+         casadi_norm_1__3,
+         casadi_norm_2__0,
+         casadi_norm_2__1,
+         casadi_norm_2__2,
+         casadi_norm_2__3,
+         casadi_norm_fro__0,
+         casadi_norm_fro__1,
+         casadi_norm_fro__2,
+         casadi_norm_fro__3,
+         casadi_norm_inf__0,
+         casadi_norm_inf__1,
+         casadi_norm_inf__2,
+         casadi_norm_inf__3,
+         casadi_norm_inf_mul__0,
+         casadi_norm_inf_mul__1,
+         casadi_norm_inf_mul__2,
+         casadi_not__0,
+         casadi_not__1,
+         casadi_not__2,
+         casadi_not__3,
+         casadi_not__4,
+         casadi_nullspace__0,
+         casadi_nullspace__1,
+         casadi_nullspace__2,
+         casadi_nullspace__3,
+         casadi_offset__0,
+         casadi_offset__1,
+         casadi_offset__2,
+         casadi_offset__3,
+         casadi_offset__4,
+         casadi_offset__5,
+         casadi_offset__6,
+         casadi_offset__7,
+         casadi_offset__8,
+         casadi_offset__9,
+         casadi_or__0,
+         casadi_or__1,
+         casadi_or__2,
+         casadi_or__3,
+         casadi_or__4,
+         casadi_pinv__0,
+         casadi_pinv__1,
+         casadi_pinv__10,
+         casadi_pinv__11,
+         casadi_pinv__2,
+         casadi_pinv__3,
+         casadi_pinv__4,
+         casadi_pinv__5,
+         casadi_pinv__6,
+         casadi_pinv__7,
+         casadi_pinv__8,
+         casadi_pinv__9,
+         casadi_plus__0,
+         casadi_plus__1,
+         casadi_plus__2,
+         casadi_plus__3,
+         casadi_plus__4,
+         casadi_poly_coeff__0,
+         casadi_poly_coeff__1,
+         casadi_poly_coeff__2,
+         casadi_poly_roots__0,
+         casadi_poly_roots__1,
+         casadi_poly_roots__2,
+         casadi_polyval__0,
+         casadi_polyval__1,
+         casadi_polyval__2,
+         casadi_polyval__3,
+         casadi_power__0,
+         casadi_power__1,
+         casadi_power__2,
+         casadi_power__3,
+         casadi_power__4,
+         casadi_print_operator__0,
+         casadi_print_operator__1,
+         casadi_print_operator__2,
+         casadi_print_operator__3,
+         casadi_project__0,
+         casadi_project__1,
+         casadi_project__2,
+         casadi_project__3,
+         casadi_project__4,
+         casadi_project__5,
+         casadi_project__6,
+         casadi_project__7,
+         casadi_pw_const__0,
+         casadi_pw_const__1,
+         casadi_pw_const__2,
+         casadi_pw_lin__0,
+         casadi_pw_lin__1,
+         casadi_pw_lin__2,
+         casadi_qr__0,
+         casadi_qr__1,
+         casadi_qr__2,
+         casadi_qr_solve__0,
+         casadi_qr_solve__1,
+         casadi_qr_solve__2,
+         casadi_qr_solve__3,
+         casadi_qr_solve__4,
+         casadi_qr_solve__5,
+         casadi_qr_sparse__0,
+         casadi_qr_sparse__1,
+         casadi_qr_sparse__2,
+         casadi_qr_sparse__3,
+         casadi_qr_sparse__4,
+         casadi_qr_sparse__5,
+         casadi_quadratic_coeff__0,
+         casadi_quadratic_coeff__1,
+         casadi_quadratic_coeff__2,
+         casadi_quadratic_coeff__3,
+         casadi_ramp__0,
+         casadi_ramp__1,
+         casadi_ramp__2,
+         casadi_rank1__0,
+         casadi_rank1__1,
+         casadi_rank1__2,
+         casadi_rank1__3,
+         casadi_rdivide__0,
+         casadi_rdivide__1,
+         casadi_rdivide__2,
+         casadi_rdivide__3,
+         casadi_rdivide__4,
+         casadi_rectangle__0,
+         casadi_rectangle__1,
+         casadi_rectangle__2,
+         casadi_repmat__0,
+         casadi_repmat__1,
+         casadi_repmat__10,
+         casadi_repmat__11,
+         casadi_repmat__12,
+         casadi_repmat__13,
+         casadi_repmat__14,
+         casadi_repmat__2,
+         casadi_repmat__3,
+         casadi_repmat__4,
+         casadi_repmat__5,
+         casadi_repmat__6,
+         casadi_repmat__7,
+         casadi_repmat__8,
+         casadi_repmat__9,
+         casadi_repsum__0,
+         casadi_repsum__1,
+         casadi_repsum__2,
+         casadi_repsum__3,
+         casadi_repsum__4,
+         casadi_repsum__5,
+         casadi_repsum__6,
+         casadi_repsum__7,
+         casadi_reshape__0,
+         casadi_reshape__1,
+         casadi_reshape__10,
+         casadi_reshape__11,
+         casadi_reshape__12,
+         casadi_reshape__13,
+         casadi_reshape__14,
+         casadi_reshape__2,
+         casadi_reshape__3,
+         casadi_reshape__4,
+         casadi_reshape__5,
+         casadi_reshape__6,
+         casadi_reshape__7,
+         casadi_reshape__8,
+         casadi_reshape__9,
+         casadi_reverse__0,
+         casadi_reverse__1,
+         casadi_reverse__2,
+         casadi_reverse__3,
+         casadi_reverse__4,
+         casadi_reverse__5,
+         casadi_reverse__6,
+         casadi_reverse__7,
+         casadi_shared__0,
+         casadi_shared__1,
+         casadi_shared__10,
+         casadi_shared__11,
+         casadi_shared__2,
+         casadi_shared__3,
+         casadi_shared__4,
+         casadi_shared__5,
+         casadi_shared__6,
+         casadi_shared__7,
+         casadi_shared__8,
+         casadi_shared__9,
+         casadi_sign__0,
+         casadi_sign__1,
+         casadi_sign__2,
+         casadi_sign__3,
+         casadi_sign__4,
+         casadi_simplify__0,
+         casadi_simplify__1,
+         casadi_simplify__2,
+         casadi_simplify__3,
+         casadi_simplify__4,
+         casadi_sin__0,
+         casadi_sin__1,
+         casadi_sin__2,
+         casadi_sin__3,
+         casadi_sin__4,
+         casadi_sinh__0,
+         casadi_sinh__1,
+         casadi_sinh__2,
+         casadi_sinh__3,
+         casadi_sinh__4,
+         casadi_skew__0,
+         casadi_skew__1,
+         casadi_skew__2,
+         casadi_skew__3,
+         casadi_soc__0,
+         casadi_soc__1,
+         casadi_soc__2,
+         casadi_soc__3,
+         casadi_solve__0,
+         casadi_solve__1,
+         casadi_solve__10,
+         casadi_solve__11,
+         casadi_solve__2,
+         casadi_solve__3,
+         casadi_solve__4,
+         casadi_solve__5,
+         casadi_solve__6,
+         casadi_solve__7,
+         casadi_solve__8,
+         casadi_solve__9,
+         casadi_sparsify__0,
+         casadi_sparsify__1,
+         casadi_sparsify__2,
+         casadi_sparsify__3,
+         casadi_sparsify__4,
+         casadi_sparsify__5,
+         casadi_sprank__0,
+         casadi_sprank__1,
+         casadi_sprank__2,
+         casadi_sprank__3,
+         casadi_sprank__4,
+         casadi_sqrt__0,
+         casadi_sqrt__1,
+         casadi_sqrt__2,
+         casadi_sqrt__3,
+         casadi_sqrt__4,
+         casadi_substitute__0,
+         casadi_substitute__1,
+         casadi_substitute__2,
+         casadi_substitute__3,
+         casadi_substitute__4,
+         casadi_substitute__5,
+         casadi_substitute__6,
+         casadi_substitute__7,
+         casadi_substitute_inplace__0,
+         casadi_substitute_inplace__1,
+         casadi_substitute_inplace__2,
+         casadi_substitute_inplace__3,
+         casadi_substitute_inplace__4,
+         casadi_substitute_inplace__5,
+         casadi_substitute_inplace__6,
+         casadi_substitute_inplace__7,
+         casadi_sum1__0,
+         casadi_sum1__1,
+         casadi_sum1__2,
+         casadi_sum1__3,
+         casadi_sum1__4,
+         casadi_sum2__0,
+         casadi_sum2__1,
+         casadi_sum2__2,
+         casadi_sum2__3,
+         casadi_sum2__4,
+         casadi_sumsqr__0,
+         casadi_sumsqr__1,
+         casadi_sumsqr__2,
+         casadi_sumsqr__3,
+         casadi_symvar__0,
+         casadi_symvar__1,
+         casadi_symvar__2,
+         casadi_symvar__3,
+         casadi_tan__0,
+         casadi_tan__1,
+         casadi_tan__2,
+         casadi_tan__3,
+         casadi_tan__4,
+         casadi_tangent__0,
+         casadi_tangent__1,
+         casadi_tangent__2,
+         casadi_tangent__3,
+         casadi_tanh__0,
+         casadi_tanh__1,
+         casadi_tanh__2,
+         casadi_tanh__3,
+         casadi_tanh__4,
+         casadi_taylor__0,
+         casadi_taylor__1,
+         casadi_taylor__2,
+         casadi_taylor__3,
+         casadi_taylor__4,
+         casadi_taylor__5,
+         casadi_taylor__6,
+         casadi_taylor__7,
+         casadi_taylor__8,
+         casadi_times__0,
+         casadi_times__1,
+         casadi_times__2,
+         casadi_times__3,
+         casadi_times__4,
+         casadi_trace__0,
+         casadi_trace__1,
+         casadi_trace__2,
+         casadi_trace__3,
+         casadi_transpose__0,
+         casadi_transpose__1,
+         casadi_transpose__2,
+         casadi_transpose__3,
+         casadi_transpose__4,
+         casadi_triangle__0,
+         casadi_triangle__1,
+         casadi_triangle__2,
+         casadi_tril2symm__0,
+         casadi_tril2symm__1,
+         casadi_tril2symm__2,
+         casadi_tril2symm__3,
+         casadi_tril__0,
+         casadi_tril__1,
+         casadi_tril__2,
+         casadi_tril__3,
+         casadi_tril__4,
+         casadi_tril__5,
+         casadi_tril__6,
+         casadi_tril__7,
+         casadi_tril__8,
+         casadi_tril__9,
+         casadi_triu2symm__0,
+         casadi_triu2symm__1,
+         casadi_triu2symm__2,
+         casadi_triu2symm__3,
+         casadi_triu__0,
+         casadi_triu__1,
+         casadi_triu__2,
+         casadi_triu__3,
+         casadi_triu__4,
+         casadi_triu__5,
+         casadi_triu__6,
+         casadi_triu__7,
+         casadi_triu__8,
+         casadi_triu__9,
+         casadi_unite__0,
+         casadi_unite__1,
+         casadi_unite__2,
+         casadi_unite__3,
+         casadi_vec__0,
+         casadi_vec__1,
+         casadi_vec__2,
+         casadi_vec__3,
+         casadi_vec__4,
+         casadi_veccat__0,
+         casadi_veccat__1,
+         casadi_veccat__2,
+         casadi_veccat__3,
+         casadi_veccat__4,
+         casadi_vertcat__0,
+         casadi_vertcat__1,
+         casadi_vertcat__2,
+         casadi_vertcat__3,
+         casadi_vertcat__4,
+         casadi_vertsplit__0,
+         casadi_vertsplit__1,
+         casadi_vertsplit__10,
+         casadi_vertsplit__11,
+         casadi_vertsplit__12,
+         casadi_vertsplit__13,
+         casadi_vertsplit__14,
+         casadi_vertsplit__2,
+         casadi_vertsplit__3,
+         casadi_vertsplit__4,
+         casadi_vertsplit__5,
+         casadi_vertsplit__6,
+         casadi_vertsplit__7,
+         casadi_vertsplit__8,
+         casadi_vertsplit__9,
+         collocation_interpolators,
+         collocation_points__0,
+         collocation_points__1,
+         complement,
+         conic__0,
+         conic__1,
+         conic_debug,
+         conic_in__0,
+         conic_in__1,
+         conic_n_in,
+         conic_n_out,
+         conic_option_info,
+         conic_option_type,
+         conic_options,
+         conic_out__0,
+         conic_out__1,
+         doc_conic,
+         doc_dple,
+         doc_expm,
+         doc_integrator,
+         doc_interpolant,
+         doc_linsol,
+         doc_nlpsol,
+         doc_rootfinder,
+         dple_in__0,
+         dple_in__1,
+         dple_n_in,
+         dple_n_out,
+         dple_out__0,
+         dple_out__1,
+         dplesol__0,
+         dplesol__1,
+         dplesol__2,
+         dplesol__3,
+         dplesol__4,
+         dplesol__5,
+         dplesol__6,
+         dplesol__7,
+         expm_n_in,
+         expm_n_out,
+         expmsol__0,
+         expmsol__1,
+         external__0,
+         external__1,
+         external__2,
+         external__3,
+         external__4,
+         external__5,
+         has_conic,
+         has_dple,
+         has_expm,
+         has_integrator,
+         has_interpolant,
+         has_linsol,
+         has_nlpsol,
+         has_rootfinder,
+         hash_combine,
+         hash_sparsity,
+         index_interp1d__0,
+         index_interp1d__1,
+         integrator__0,
+         integrator__1,
+         integrator__2,
+         integrator__3,
+         integrator_in__0,
+         integrator_in__1,
+         integrator_n_in,
+         integrator_n_out,
+         integrator_out__0,
+         integrator_out__1,
+         interpolant__0,
+         interpolant__1,
+         is_slice2,
+         is_slice__0,
+         is_slice__1,
+         is_slice__2,
+         is_slice__3,
+         load_conic,
+         load_dple,
+         load_expm,
+         load_integrator,
+         load_interpolant,
+         load_linsol,
+         load_nlpsol,
+         load_rootfinder,
+         lookupvector__0,
+         lookupvector__1,
+         nlpsol__0,
+         nlpsol__1,
+         nlpsol__2,
+         nlpsol__3,
+         nlpsol__4,
+         nlpsol__5,
+         nlpsol__6,
+         nlpsol__7,
+         nlpsol__8,
+         nlpsol__9,
+         nlpsol_default_in__0,
+         nlpsol_default_in__1,
+         nlpsol_in__0,
+         nlpsol_in__1,
+         nlpsol_n_in,
+         nlpsol_n_out,
+         nlpsol_option_info,
+         nlpsol_option_type,
+         nlpsol_options,
+         nlpsol_out__0,
+         nlpsol_out__1,
+         qpsol__0,
+         qpsol__1,
+         qpsol__2,
+         qpsol__3,
+         rootfinder__0,
+         rootfinder__1,
+         rootfinder__2,
+         rootfinder__3,
+         rootfinder__4,
+         rootfinder__5,
+         rootfinder_in__0,
+         rootfinder_in__1,
+         rootfinder_n_in,
+         rootfinder_n_out,
+         rootfinder_option_info,
+         rootfinder_option_type,
+         rootfinder_options,
+         rootfinder_out__0,
+         rootfinder_out__1,
+         simpleIRK__0,
+         simpleIRK__1,
+         simpleIRK__2,
+         simpleIRK__3,
+         simpleIRK__4,
+         simpleIRK__5,
+         simpleIntegrator__0,
+         simpleIntegrator__1,
+         simpleIntegrator__2,
+         simpleRK__0,
+         simpleRK__1,
+         simpleRK__2,
+         temporary_file,
+         to_slice2,
+         to_slice__0,
+         to_slice__1,
+         to_slice__2,
+         to_slice__3,
+       ) where
+
+
+import Data.Vector ( Vector )
+import qualified Data.Map as M
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+
+import Casadi.Core.Data
+import Casadi.Core.Enums
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdMap, StdVec, StdString, StdPair )
+import Casadi.Internal.Marshal ( Marshal(..) )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+foreign import ccall unsafe "casadi_abs__0" c_casadi_abs__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_abs__0
+  :: Double -> IO Double
+casadi_abs__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_abs__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_abs__1" c_casadi_abs__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_abs__1
+  :: SX -> IO SX
+casadi_abs__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_abs__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_abs__2" c_casadi_abs__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_abs__2
+  :: DM -> IO DM
+casadi_abs__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_abs__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_abs__3" c_casadi_abs__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_abs__3
+  :: IM -> IO IM
+casadi_abs__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_abs__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_abs__4" c_casadi_abs__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_abs__4
+  :: MX -> IO MX
+casadi_abs__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_abs__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_acos__0" c_casadi_acos__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_acos__0
+  :: Double -> IO Double
+casadi_acos__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_acos__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_acos__1" c_casadi_acos__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_acos__1
+  :: SX -> IO SX
+casadi_acos__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_acos__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_acos__2" c_casadi_acos__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_acos__2
+  :: DM -> IO DM
+casadi_acos__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_acos__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_acos__3" c_casadi_acos__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_acos__3
+  :: IM -> IO IM
+casadi_acos__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_acos__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_acos__4" c_casadi_acos__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_acos__4
+  :: MX -> IO MX
+casadi_acos__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_acos__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_acosh__0" c_casadi_acosh__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_acosh__0
+  :: Double -> IO Double
+casadi_acosh__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_acosh__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_acosh__1" c_casadi_acosh__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_acosh__1
+  :: SX -> IO SX
+casadi_acosh__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_acosh__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_acosh__2" c_casadi_acosh__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_acosh__2
+  :: DM -> IO DM
+casadi_acosh__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_acosh__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_acosh__3" c_casadi_acosh__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_acosh__3
+  :: IM -> IO IM
+casadi_acosh__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_acosh__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_acosh__4" c_casadi_acosh__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_acosh__4
+  :: MX -> IO MX
+casadi_acosh__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_acosh__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_adj__0" c_casadi_adj__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_adj__0
+  :: SX -> IO SX
+casadi_adj__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_adj__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_adj__1" c_casadi_adj__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_adj__1
+  :: DM -> IO DM
+casadi_adj__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_adj__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_adj__2" c_casadi_adj__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_adj__2
+  :: IM -> IO IM
+casadi_adj__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_adj__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_all__0" c_casadi_all__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_all__0
+  :: SX -> IO SX
+casadi_all__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_all__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_all__1" c_casadi_all__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_all__1
+  :: DM -> IO DM
+casadi_all__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_all__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_all__2" c_casadi_all__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_all__2
+  :: IM -> IO IM
+casadi_all__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_all__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_and__0" c_casadi_and__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_and__0
+  :: Double -> Double -> IO Double
+casadi_and__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_and__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_and__1" c_casadi_and__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_and__1
+  :: SX -> SX -> IO SX
+casadi_and__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_and__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_and__2" c_casadi_and__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_and__2
+  :: DM -> DM -> IO DM
+casadi_and__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_and__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_and__3" c_casadi_and__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_and__3
+  :: IM -> IM -> IO IM
+casadi_and__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_and__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_and__4" c_casadi_and__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_and__4
+  :: MX -> MX -> IO MX
+casadi_and__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_and__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_any__0" c_casadi_any__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_any__0
+  :: SX -> IO SX
+casadi_any__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_any__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_any__1" c_casadi_any__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_any__1
+  :: DM -> IO DM
+casadi_any__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_any__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_any__2" c_casadi_any__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_any__2
+  :: IM -> IO IM
+casadi_any__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_any__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_asin__0" c_casadi_asin__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_asin__0
+  :: Double -> IO Double
+casadi_asin__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_asin__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_asin__1" c_casadi_asin__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_asin__1
+  :: SX -> IO SX
+casadi_asin__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_asin__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_asin__2" c_casadi_asin__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_asin__2
+  :: DM -> IO DM
+casadi_asin__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_asin__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_asin__3" c_casadi_asin__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_asin__3
+  :: IM -> IO IM
+casadi_asin__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_asin__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_asin__4" c_casadi_asin__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_asin__4
+  :: MX -> IO MX
+casadi_asin__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_asin__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_asinh__0" c_casadi_asinh__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_asinh__0
+  :: Double -> IO Double
+casadi_asinh__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_asinh__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_asinh__1" c_casadi_asinh__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_asinh__1
+  :: SX -> IO SX
+casadi_asinh__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_asinh__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_asinh__2" c_casadi_asinh__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_asinh__2
+  :: DM -> IO DM
+casadi_asinh__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_asinh__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_asinh__3" c_casadi_asinh__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_asinh__3
+  :: IM -> IO IM
+casadi_asinh__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_asinh__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_asinh__4" c_casadi_asinh__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_asinh__4
+  :: MX -> IO MX
+casadi_asinh__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_asinh__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atan__0" c_casadi_atan__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_atan__0
+  :: Double -> IO Double
+casadi_atan__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atan__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atan__1" c_casadi_atan__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_atan__1
+  :: SX -> IO SX
+casadi_atan__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atan__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atan__2" c_casadi_atan__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_atan__2
+  :: DM -> IO DM
+casadi_atan__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atan__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atan__3" c_casadi_atan__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_atan__3
+  :: IM -> IO IM
+casadi_atan__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atan__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atan__4" c_casadi_atan__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_atan__4
+  :: MX -> IO MX
+casadi_atan__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atan__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atan2__0" c_casadi_atan2__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_atan2__0
+  :: Double -> Double -> IO Double
+casadi_atan2__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atan2__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atan2__1" c_casadi_atan2__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_atan2__1
+  :: SX -> SX -> IO SX
+casadi_atan2__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atan2__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atan2__2" c_casadi_atan2__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_atan2__2
+  :: DM -> DM -> IO DM
+casadi_atan2__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atan2__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atan2__3" c_casadi_atan2__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_atan2__3
+  :: IM -> IM -> IO IM
+casadi_atan2__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atan2__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atan2__4" c_casadi_atan2__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_atan2__4
+  :: MX -> MX -> IO MX
+casadi_atan2__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atan2__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atanh__0" c_casadi_atanh__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_atanh__0
+  :: Double -> IO Double
+casadi_atanh__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atanh__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atanh__1" c_casadi_atanh__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_atanh__1
+  :: SX -> IO SX
+casadi_atanh__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atanh__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atanh__2" c_casadi_atanh__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_atanh__2
+  :: DM -> IO DM
+casadi_atanh__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atanh__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atanh__3" c_casadi_atanh__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_atanh__3
+  :: IM -> IO IM
+casadi_atanh__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atanh__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_atanh__4" c_casadi_atanh__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_atanh__4
+  :: MX -> IO MX
+casadi_atanh__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_atanh__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_bilin__0" c_casadi_bilin__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_bilin__0
+  :: SX -> SX -> SX -> IO SX
+casadi_bilin__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_bilin__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_bilin__1" c_casadi_bilin__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_bilin__1
+  :: DM -> DM -> DM -> IO DM
+casadi_bilin__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_bilin__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_bilin__2" c_casadi_bilin__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_bilin__2
+  :: IM -> IM -> IM -> IO IM
+casadi_bilin__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_bilin__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_bilin__3" c_casadi_bilin__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_bilin__3
+  :: MX -> MX -> MX -> IO MX
+casadi_bilin__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_bilin__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blockcat__0" c_casadi_blockcat__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> IO (Ptr SX')
+
+casadi_blockcat__0
+  :: Vector (Vector SX) -> IO SX
+casadi_blockcat__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blockcat__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blockcat__1" c_casadi_blockcat__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> IO (Ptr DM')
+
+casadi_blockcat__1
+  :: Vector (Vector DM) -> IO DM
+casadi_blockcat__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blockcat__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blockcat__2" c_casadi_blockcat__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr IM')))) -> IO (Ptr IM')
+
+casadi_blockcat__2
+  :: Vector (Vector IM) -> IO IM
+casadi_blockcat__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blockcat__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blockcat__3" c_casadi_blockcat__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> IO (Ptr MX')
+
+casadi_blockcat__3
+  :: Vector (Vector MX) -> IO MX
+casadi_blockcat__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blockcat__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blockcat__4" c_casadi_blockcat__4
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_blockcat__4
+  :: SX -> SX -> SX -> SX -> IO SX
+casadi_blockcat__4 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blockcat__4 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blockcat__5" c_casadi_blockcat__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_blockcat__5
+  :: DM -> DM -> DM -> DM -> IO DM
+casadi_blockcat__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blockcat__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blockcat__6" c_casadi_blockcat__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_blockcat__6
+  :: IM -> IM -> IM -> IM -> IO IM
+casadi_blockcat__6 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blockcat__6 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blockcat__7" c_casadi_blockcat__7
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_blockcat__7
+  :: MX -> MX -> MX -> MX -> IO MX
+casadi_blockcat__7 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blockcat__7 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blockcat__8" c_casadi_blockcat__8
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi_blockcat__8
+  :: Sparsity -> Sparsity -> Sparsity -> Sparsity -> IO Sparsity
+casadi_blockcat__8 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blockcat__8 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__0" c_casadi_blocksplit__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
+
+casadi_blocksplit__0
+  :: SX -> IO (Vector (Vector SX))
+casadi_blocksplit__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__1" c_casadi_blocksplit__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
+
+casadi_blocksplit__1
+  :: SX -> Int -> IO (Vector (Vector SX))
+casadi_blocksplit__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__2" c_casadi_blocksplit__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
+
+casadi_blocksplit__2
+  :: SX -> Int -> Int -> IO (Vector (Vector SX))
+casadi_blocksplit__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__3" c_casadi_blocksplit__3
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
+
+casadi_blocksplit__3
+  :: SX -> Vector Int -> Vector Int -> IO (Vector (Vector SX))
+casadi_blocksplit__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__4" c_casadi_blocksplit__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
+
+casadi_blocksplit__4
+  :: DM -> IO (Vector (Vector DM))
+casadi_blocksplit__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__5" c_casadi_blocksplit__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
+
+casadi_blocksplit__5
+  :: DM -> Int -> IO (Vector (Vector DM))
+casadi_blocksplit__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__6" c_casadi_blocksplit__6
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
+
+casadi_blocksplit__6
+  :: DM -> Int -> Int -> IO (Vector (Vector DM))
+casadi_blocksplit__6 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__6 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__7" c_casadi_blocksplit__7
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
+
+casadi_blocksplit__7
+  :: DM -> Vector Int -> Vector Int -> IO (Vector (Vector DM))
+casadi_blocksplit__7 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__7 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__8" c_casadi_blocksplit__8
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
+
+casadi_blocksplit__8
+  :: IM -> IO (Vector (Vector IM))
+casadi_blocksplit__8 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__8 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__9" c_casadi_blocksplit__9
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
+
+casadi_blocksplit__9
+  :: IM -> Int -> IO (Vector (Vector IM))
+casadi_blocksplit__9 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__9 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__10" c_casadi_blocksplit__10
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
+
+casadi_blocksplit__10
+  :: IM -> Int -> Int -> IO (Vector (Vector IM))
+casadi_blocksplit__10 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__10 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__11" c_casadi_blocksplit__11
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
+
+casadi_blocksplit__11
+  :: IM -> Vector Int -> Vector Int -> IO (Vector (Vector IM))
+casadi_blocksplit__11 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__11 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__12" c_casadi_blocksplit__12
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
+
+casadi_blocksplit__12
+  :: MX -> IO (Vector (Vector MX))
+casadi_blocksplit__12 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__12 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__13" c_casadi_blocksplit__13
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
+
+casadi_blocksplit__13
+  :: MX -> Int -> IO (Vector (Vector MX))
+casadi_blocksplit__13 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__13 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__14" c_casadi_blocksplit__14
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
+
+casadi_blocksplit__14
+  :: MX -> Int -> Int -> IO (Vector (Vector MX))
+casadi_blocksplit__14 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__14 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__15" c_casadi_blocksplit__15
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
+
+casadi_blocksplit__15
+  :: MX -> Vector Int -> Vector Int -> IO (Vector (Vector MX))
+casadi_blocksplit__15 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__15 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__16" c_casadi_blocksplit__16
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
+
+casadi_blocksplit__16
+  :: Sparsity -> IO (Vector (Vector Sparsity))
+casadi_blocksplit__16 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__16 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__17" c_casadi_blocksplit__17
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
+
+casadi_blocksplit__17
+  :: Sparsity -> Int -> IO (Vector (Vector Sparsity))
+casadi_blocksplit__17 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__17 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__18" c_casadi_blocksplit__18
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
+
+casadi_blocksplit__18
+  :: Sparsity -> Int -> Int -> IO (Vector (Vector Sparsity))
+casadi_blocksplit__18 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__18 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_blocksplit__19" c_casadi_blocksplit__19
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
+
+casadi_blocksplit__19
+  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector (Vector Sparsity))
+casadi_blocksplit__19 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_blocksplit__19 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ceil__0" c_casadi_ceil__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_ceil__0
+  :: Double -> IO Double
+casadi_ceil__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ceil__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ceil__1" c_casadi_ceil__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_ceil__1
+  :: SX -> IO SX
+casadi_ceil__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ceil__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ceil__2" c_casadi_ceil__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_ceil__2
+  :: DM -> IO DM
+casadi_ceil__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ceil__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ceil__3" c_casadi_ceil__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_ceil__3
+  :: IM -> IO IM
+casadi_ceil__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ceil__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ceil__4" c_casadi_ceil__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_ceil__4
+  :: MX -> IO MX
+casadi_ceil__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ceil__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_chol__0" c_casadi_chol__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_chol__0
+  :: SX -> IO SX
+casadi_chol__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_chol__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_chol__1" c_casadi_chol__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_chol__1
+  :: DM -> IO DM
+casadi_chol__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_chol__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_chol__2" c_casadi_chol__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_chol__2
+  :: IM -> IO IM
+casadi_chol__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_chol__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cofactor__0" c_casadi_cofactor__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> CLLong -> IO (Ptr SX')
+
+casadi_cofactor__0
+  :: SX -> Int -> Int -> IO SX
+casadi_cofactor__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cofactor__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cofactor__1" c_casadi_cofactor__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> CLLong -> IO (Ptr DM')
+
+casadi_cofactor__1
+  :: DM -> Int -> Int -> IO DM
+casadi_cofactor__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cofactor__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cofactor__2" c_casadi_cofactor__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> CLLong -> IO (Ptr IM')
+
+casadi_cofactor__2
+  :: IM -> Int -> Int -> IO IM
+casadi_cofactor__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cofactor__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_conditional__0" c_casadi_conditional__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SX')) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_conditional__0
+  :: SX -> Vector SX -> SX -> IO SX
+casadi_conditional__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_conditional__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_conditional__1" c_casadi_conditional__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SX')) -> Ptr SX' -> CInt -> IO (Ptr SX')
+
+casadi_conditional__1
+  :: SX -> Vector SX -> SX -> Bool -> IO SX
+casadi_conditional__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_conditional__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_conditional__2" c_casadi_conditional__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec (Ptr DM')) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_conditional__2
+  :: DM -> Vector DM -> DM -> IO DM
+casadi_conditional__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_conditional__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_conditional__3" c_casadi_conditional__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec (Ptr DM')) -> Ptr DM' -> CInt -> IO (Ptr DM')
+
+casadi_conditional__3
+  :: DM -> Vector DM -> DM -> Bool -> IO DM
+casadi_conditional__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_conditional__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_conditional__4" c_casadi_conditional__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec (Ptr IM')) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_conditional__4
+  :: IM -> Vector IM -> IM -> IO IM
+casadi_conditional__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_conditional__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_conditional__5" c_casadi_conditional__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec (Ptr IM')) -> Ptr IM' -> CInt -> IO (Ptr IM')
+
+casadi_conditional__5
+  :: IM -> Vector IM -> IM -> Bool -> IO IM
+casadi_conditional__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_conditional__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_conditional__6" c_casadi_conditional__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_conditional__6
+  :: MX -> Vector MX -> MX -> IO MX
+casadi_conditional__6 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_conditional__6 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_conditional__7" c_casadi_conditional__7
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> Ptr MX' -> CInt -> IO (Ptr MX')
+
+casadi_conditional__7
+  :: MX -> Vector MX -> MX -> Bool -> IO MX
+casadi_conditional__7 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_conditional__7 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_constpow__0" c_casadi_constpow__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_constpow__0
+  :: Double -> Double -> IO Double
+casadi_constpow__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_constpow__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_constpow__1" c_casadi_constpow__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_constpow__1
+  :: SX -> SX -> IO SX
+casadi_constpow__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_constpow__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_constpow__2" c_casadi_constpow__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_constpow__2
+  :: DM -> DM -> IO DM
+casadi_constpow__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_constpow__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_constpow__3" c_casadi_constpow__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_constpow__3
+  :: IM -> IM -> IO IM
+casadi_constpow__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_constpow__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_constpow__4" c_casadi_constpow__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_constpow__4
+  :: MX -> MX -> IO MX
+casadi_constpow__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_constpow__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_copysign__0" c_casadi_copysign__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_copysign__0
+  :: Double -> Double -> IO Double
+casadi_copysign__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_copysign__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_copysign__1" c_casadi_copysign__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_copysign__1
+  :: SX -> SX -> IO SX
+casadi_copysign__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_copysign__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_copysign__2" c_casadi_copysign__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_copysign__2
+  :: DM -> DM -> IO DM
+casadi_copysign__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_copysign__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_copysign__3" c_casadi_copysign__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_copysign__3
+  :: IM -> IM -> IO IM
+casadi_copysign__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_copysign__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_copysign__4" c_casadi_copysign__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_copysign__4
+  :: MX -> MX -> IO MX
+casadi_copysign__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_copysign__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cos__0" c_casadi_cos__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_cos__0
+  :: Double -> IO Double
+casadi_cos__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cos__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cos__1" c_casadi_cos__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_cos__1
+  :: SX -> IO SX
+casadi_cos__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cos__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cos__2" c_casadi_cos__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_cos__2
+  :: DM -> IO DM
+casadi_cos__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cos__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cos__3" c_casadi_cos__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_cos__3
+  :: IM -> IO IM
+casadi_cos__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cos__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cos__4" c_casadi_cos__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_cos__4
+  :: MX -> IO MX
+casadi_cos__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cos__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cosh__0" c_casadi_cosh__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_cosh__0
+  :: Double -> IO Double
+casadi_cosh__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cosh__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cosh__1" c_casadi_cosh__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_cosh__1
+  :: SX -> IO SX
+casadi_cosh__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cosh__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cosh__2" c_casadi_cosh__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_cosh__2
+  :: DM -> IO DM
+casadi_cosh__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cosh__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cosh__3" c_casadi_cosh__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_cosh__3
+  :: IM -> IO IM
+casadi_cosh__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cosh__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cosh__4" c_casadi_cosh__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_cosh__4
+  :: MX -> IO MX
+casadi_cosh__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cosh__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cross__0" c_casadi_cross__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_cross__0
+  :: SX -> SX -> IO SX
+casadi_cross__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cross__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cross__1" c_casadi_cross__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CLLong -> IO (Ptr SX')
+
+casadi_cross__1
+  :: SX -> SX -> Int -> IO SX
+casadi_cross__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cross__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cross__2" c_casadi_cross__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_cross__2
+  :: DM -> DM -> IO DM
+casadi_cross__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cross__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cross__3" c_casadi_cross__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CLLong -> IO (Ptr DM')
+
+casadi_cross__3
+  :: DM -> DM -> Int -> IO DM
+casadi_cross__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cross__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cross__4" c_casadi_cross__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_cross__4
+  :: IM -> IM -> IO IM
+casadi_cross__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cross__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cross__5" c_casadi_cross__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CLLong -> IO (Ptr IM')
+
+casadi_cross__5
+  :: IM -> IM -> Int -> IO IM
+casadi_cross__5 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cross__5 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cross__6" c_casadi_cross__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_cross__6
+  :: MX -> MX -> IO MX
+casadi_cross__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cross__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cross__7" c_casadi_cross__7
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CLLong -> IO (Ptr MX')
+
+casadi_cross__7
+  :: MX -> MX -> Int -> IO MX
+casadi_cross__7 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cross__7 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cumsum__0" c_casadi_cumsum__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_cumsum__0
+  :: SX -> IO SX
+casadi_cumsum__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cumsum__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cumsum__1" c_casadi_cumsum__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> IO (Ptr SX')
+
+casadi_cumsum__1
+  :: SX -> Int -> IO SX
+casadi_cumsum__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cumsum__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cumsum__2" c_casadi_cumsum__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_cumsum__2
+  :: DM -> IO DM
+casadi_cumsum__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cumsum__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cumsum__3" c_casadi_cumsum__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> IO (Ptr DM')
+
+casadi_cumsum__3
+  :: DM -> Int -> IO DM
+casadi_cumsum__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cumsum__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cumsum__4" c_casadi_cumsum__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_cumsum__4
+  :: IM -> IO IM
+casadi_cumsum__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cumsum__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cumsum__5" c_casadi_cumsum__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> IO (Ptr IM')
+
+casadi_cumsum__5
+  :: IM -> Int -> IO IM
+casadi_cumsum__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cumsum__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cumsum__6" c_casadi_cumsum__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_cumsum__6
+  :: MX -> IO MX
+casadi_cumsum__6 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cumsum__6 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_cumsum__7" c_casadi_cumsum__7
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO (Ptr MX')
+
+casadi_cumsum__7
+  :: MX -> Int -> IO MX
+casadi_cumsum__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_cumsum__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_densify__0" c_casadi_densify__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_densify__0
+  :: SX -> IO SX
+casadi_densify__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_densify__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_densify__1" c_casadi_densify__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_densify__1
+  :: DM -> IO DM
+casadi_densify__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_densify__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_densify__2" c_casadi_densify__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_densify__2
+  :: IM -> IO IM
+casadi_densify__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_densify__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_densify__3" c_casadi_densify__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_densify__3
+  :: MX -> IO MX
+casadi_densify__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_densify__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_depends_on__0" c_casadi_depends_on__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO CInt
+
+casadi_depends_on__0
+  :: SX -> SX -> IO Bool
+casadi_depends_on__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_depends_on__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_depends_on__1" c_casadi_depends_on__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO CInt
+
+casadi_depends_on__1
+  :: DM -> DM -> IO Bool
+casadi_depends_on__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_depends_on__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_depends_on__2" c_casadi_depends_on__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO CInt
+
+casadi_depends_on__2
+  :: IM -> IM -> IO Bool
+casadi_depends_on__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_depends_on__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_depends_on__3" c_casadi_depends_on__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO CInt
+
+casadi_depends_on__3
+  :: MX -> MX -> IO Bool
+casadi_depends_on__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_depends_on__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_det__0" c_casadi_det__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_det__0
+  :: SX -> IO SX
+casadi_det__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_det__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_det__1" c_casadi_det__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_det__1
+  :: DM -> IO DM
+casadi_det__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_det__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_det__2" c_casadi_det__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_det__2
+  :: IM -> IO IM
+casadi_det__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_det__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_det__3" c_casadi_det__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_det__3
+  :: MX -> IO MX
+casadi_det__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_det__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diag__0" c_casadi_diag__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_diag__0
+  :: SX -> IO SX
+casadi_diag__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diag__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diag__1" c_casadi_diag__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_diag__1
+  :: DM -> IO DM
+casadi_diag__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diag__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diag__2" c_casadi_diag__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_diag__2
+  :: IM -> IO IM
+casadi_diag__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diag__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diag__3" c_casadi_diag__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_diag__3
+  :: MX -> IO MX
+casadi_diag__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diag__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagcat__0" c_casadi_diagcat__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
+
+casadi_diagcat__0
+  :: Vector SX -> IO SX
+casadi_diagcat__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagcat__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagcat__1" c_casadi_diagcat__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> IO (Ptr DM')
+
+casadi_diagcat__1
+  :: Vector DM -> IO DM
+casadi_diagcat__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagcat__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagcat__2" c_casadi_diagcat__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> IO (Ptr IM')
+
+casadi_diagcat__2
+  :: Vector IM -> IO IM
+casadi_diagcat__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagcat__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagcat__3" c_casadi_diagcat__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+
+casadi_diagcat__3
+  :: Vector MX -> IO MX
+casadi_diagcat__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagcat__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagcat__4" c_casadi_diagcat__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
+
+casadi_diagcat__4
+  :: Vector Sparsity -> IO Sparsity
+casadi_diagcat__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagcat__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__0" c_casadi_diagsplit__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi_diagsplit__0
+  :: SX -> Int -> Int -> IO (Vector SX)
+casadi_diagsplit__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__1" c_casadi_diagsplit__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi_diagsplit__1
+  :: SX -> IO (Vector SX)
+casadi_diagsplit__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__2" c_casadi_diagsplit__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi_diagsplit__2
+  :: SX -> Int -> IO (Vector SX)
+casadi_diagsplit__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__3" c_casadi_diagsplit__3
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi_diagsplit__3
+  :: SX -> Vector Int -> IO (Vector SX)
+casadi_diagsplit__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__4" c_casadi_diagsplit__4
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi_diagsplit__4
+  :: SX -> Vector Int -> Vector Int -> IO (Vector SX)
+casadi_diagsplit__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__5" c_casadi_diagsplit__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi_diagsplit__5
+  :: DM -> Int -> Int -> IO (Vector DM)
+casadi_diagsplit__5 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__5 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__6" c_casadi_diagsplit__6
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi_diagsplit__6
+  :: DM -> IO (Vector DM)
+casadi_diagsplit__6 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__6 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__7" c_casadi_diagsplit__7
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi_diagsplit__7
+  :: DM -> Int -> IO (Vector DM)
+casadi_diagsplit__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__8" c_casadi_diagsplit__8
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi_diagsplit__8
+  :: DM -> Vector Int -> IO (Vector DM)
+casadi_diagsplit__8 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__8 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__9" c_casadi_diagsplit__9
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi_diagsplit__9
+  :: DM -> Vector Int -> Vector Int -> IO (Vector DM)
+casadi_diagsplit__9 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__9 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__10" c_casadi_diagsplit__10
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi_diagsplit__10
+  :: IM -> Int -> Int -> IO (Vector IM)
+casadi_diagsplit__10 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__10 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__11" c_casadi_diagsplit__11
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi_diagsplit__11
+  :: IM -> IO (Vector IM)
+casadi_diagsplit__11 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__11 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__12" c_casadi_diagsplit__12
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi_diagsplit__12
+  :: IM -> Int -> IO (Vector IM)
+casadi_diagsplit__12 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__12 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__13" c_casadi_diagsplit__13
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi_diagsplit__13
+  :: IM -> Vector Int -> IO (Vector IM)
+casadi_diagsplit__13 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__13 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__14" c_casadi_diagsplit__14
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi_diagsplit__14
+  :: IM -> Vector Int -> Vector Int -> IO (Vector IM)
+casadi_diagsplit__14 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__14 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__15" c_casadi_diagsplit__15
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_diagsplit__15
+  :: MX -> Int -> Int -> IO (Vector MX)
+casadi_diagsplit__15 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__15 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__16" c_casadi_diagsplit__16
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_diagsplit__16
+  :: MX -> IO (Vector MX)
+casadi_diagsplit__16 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__16 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__17" c_casadi_diagsplit__17
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_diagsplit__17
+  :: MX -> Int -> IO (Vector MX)
+casadi_diagsplit__17 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__17 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__18" c_casadi_diagsplit__18
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_diagsplit__18
+  :: MX -> Vector Int -> IO (Vector MX)
+casadi_diagsplit__18 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__18 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__19" c_casadi_diagsplit__19
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_diagsplit__19
+  :: MX -> Vector Int -> Vector Int -> IO (Vector MX)
+casadi_diagsplit__19 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__19 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__20" c_casadi_diagsplit__20
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> CLLong -> IO (Ptr (StdVec (Ptr Sparsity')))
+
+casadi_diagsplit__20
+  :: Sparsity -> Int -> Int -> IO (Vector Sparsity)
+casadi_diagsplit__20 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__20 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__21" c_casadi_diagsplit__21
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec (Ptr Sparsity')))
+
+casadi_diagsplit__21
+  :: Sparsity -> IO (Vector Sparsity)
+casadi_diagsplit__21 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__21 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__22" c_casadi_diagsplit__22
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> IO (Ptr (StdVec (Ptr Sparsity')))
+
+casadi_diagsplit__22
+  :: Sparsity -> Int -> IO (Vector Sparsity)
+casadi_diagsplit__22 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__22 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__23" c_casadi_diagsplit__23
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr Sparsity')))
+
+casadi_diagsplit__23
+  :: Sparsity -> Vector Int -> IO (Vector Sparsity)
+casadi_diagsplit__23 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__23 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diagsplit__24" c_casadi_diagsplit__24
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr Sparsity')))
+
+casadi_diagsplit__24
+  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector Sparsity)
+casadi_diagsplit__24 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diagsplit__24 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diff__0" c_casadi_diff__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_diff__0
+  :: SX -> IO SX
+casadi_diff__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diff__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diff__1" c_casadi_diff__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> IO (Ptr SX')
+
+casadi_diff__1
+  :: SX -> Int -> IO SX
+casadi_diff__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diff__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diff__2" c_casadi_diff__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> CLLong -> IO (Ptr SX')
+
+casadi_diff__2
+  :: SX -> Int -> Int -> IO SX
+casadi_diff__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diff__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diff__3" c_casadi_diff__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_diff__3
+  :: DM -> IO DM
+casadi_diff__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diff__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diff__4" c_casadi_diff__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> IO (Ptr DM')
+
+casadi_diff__4
+  :: DM -> Int -> IO DM
+casadi_diff__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diff__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diff__5" c_casadi_diff__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> CLLong -> IO (Ptr DM')
+
+casadi_diff__5
+  :: DM -> Int -> Int -> IO DM
+casadi_diff__5 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diff__5 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diff__6" c_casadi_diff__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_diff__6
+  :: IM -> IO IM
+casadi_diff__6 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diff__6 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diff__7" c_casadi_diff__7
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> IO (Ptr IM')
+
+casadi_diff__7
+  :: IM -> Int -> IO IM
+casadi_diff__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diff__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diff__8" c_casadi_diff__8
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> CLLong -> IO (Ptr IM')
+
+casadi_diff__8
+  :: IM -> Int -> Int -> IO IM
+casadi_diff__8 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diff__8 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diff__9" c_casadi_diff__9
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_diff__9
+  :: MX -> IO MX
+casadi_diff__9 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diff__9 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diff__10" c_casadi_diff__10
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO (Ptr MX')
+
+casadi_diff__10
+  :: MX -> Int -> IO MX
+casadi_diff__10 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diff__10 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_diff__11" c_casadi_diff__11
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> CLLong -> IO (Ptr MX')
+
+casadi_diff__11
+  :: MX -> Int -> Int -> IO MX
+casadi_diff__11 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_diff__11 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_dot__0" c_casadi_dot__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_dot__0
+  :: SX -> SX -> IO SX
+casadi_dot__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_dot__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_dot__1" c_casadi_dot__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_dot__1
+  :: DM -> DM -> IO DM
+casadi_dot__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_dot__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_dot__2" c_casadi_dot__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_dot__2
+  :: IM -> IM -> IO IM
+casadi_dot__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_dot__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_dot__3" c_casadi_dot__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_dot__3
+  :: MX -> MX -> IO MX
+casadi_dot__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_dot__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_eig_symbolic__0" c_casadi_eig_symbolic__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_eig_symbolic__0
+  :: SX -> IO SX
+casadi_eig_symbolic__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_eig_symbolic__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_eig_symbolic__1" c_casadi_eig_symbolic__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_eig_symbolic__1
+  :: DM -> IO DM
+casadi_eig_symbolic__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_eig_symbolic__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_eig_symbolic__2" c_casadi_eig_symbolic__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_eig_symbolic__2
+  :: IM -> IO IM
+casadi_eig_symbolic__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_eig_symbolic__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_einstein__0" c_casadi_einstein__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr SX')
+
+casadi_einstein__0
+  :: SX -> SX -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO SX
+casadi_einstein__0 x0 x1 x2 x3 x4 x5 x6 x7 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+  x7' <- marshal x7
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_einstein__0 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+  marshalFree x7 x7'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_einstein__1" c_casadi_einstein__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr SX')
+
+casadi_einstein__1
+  :: SX -> SX -> SX -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO SX
+casadi_einstein__1 x0 x1 x2 x3 x4 x5 x6 x7 x8 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+  x7' <- marshal x7
+  x8' <- marshal x8
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_einstein__1 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+  marshalFree x7 x7'
+  marshalFree x8 x8'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_einstein__2" c_casadi_einstein__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr DM')
+
+casadi_einstein__2
+  :: DM -> DM -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO DM
+casadi_einstein__2 x0 x1 x2 x3 x4 x5 x6 x7 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+  x7' <- marshal x7
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_einstein__2 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+  marshalFree x7 x7'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_einstein__3" c_casadi_einstein__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr DM')
+
+casadi_einstein__3
+  :: DM -> DM -> DM -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO DM
+casadi_einstein__3 x0 x1 x2 x3 x4 x5 x6 x7 x8 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+  x7' <- marshal x7
+  x8' <- marshal x8
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_einstein__3 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+  marshalFree x7 x7'
+  marshalFree x8 x8'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_einstein__4" c_casadi_einstein__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr IM')
+
+casadi_einstein__4
+  :: IM -> IM -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO IM
+casadi_einstein__4 x0 x1 x2 x3 x4 x5 x6 x7 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+  x7' <- marshal x7
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_einstein__4 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+  marshalFree x7 x7'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_einstein__5" c_casadi_einstein__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr IM')
+
+casadi_einstein__5
+  :: IM -> IM -> IM -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO IM
+casadi_einstein__5 x0 x1 x2 x3 x4 x5 x6 x7 x8 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+  x7' <- marshal x7
+  x8' <- marshal x8
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_einstein__5 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+  marshalFree x7 x7'
+  marshalFree x8 x8'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_einstein__6" c_casadi_einstein__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr MX')
+
+casadi_einstein__6
+  :: MX -> MX -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO MX
+casadi_einstein__6 x0 x1 x2 x3 x4 x5 x6 x7 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+  x7' <- marshal x7
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_einstein__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+  marshalFree x7 x7'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_einstein__7" c_casadi_einstein__7
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr MX')
+
+casadi_einstein__7
+  :: MX -> MX -> MX -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO MX
+casadi_einstein__7 x0 x1 x2 x3 x4 x5 x6 x7 x8 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+  x7' <- marshal x7
+  x8' <- marshal x8
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_einstein__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+  marshalFree x7 x7'
+  marshalFree x8 x8'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_eq__0" c_casadi_eq__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_eq__0
+  :: Double -> Double -> IO Double
+casadi_eq__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_eq__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_eq__1" c_casadi_eq__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_eq__1
+  :: SX -> SX -> IO SX
+casadi_eq__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_eq__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_eq__2" c_casadi_eq__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_eq__2
+  :: DM -> DM -> IO DM
+casadi_eq__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_eq__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_eq__3" c_casadi_eq__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_eq__3
+  :: IM -> IM -> IO IM
+casadi_eq__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_eq__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_eq__4" c_casadi_eq__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_eq__4
+  :: MX -> MX -> IO MX
+casadi_eq__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_eq__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_erf__0" c_casadi_erf__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_erf__0
+  :: Double -> IO Double
+casadi_erf__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_erf__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_erf__1" c_casadi_erf__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_erf__1
+  :: SX -> IO SX
+casadi_erf__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_erf__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_erf__2" c_casadi_erf__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_erf__2
+  :: DM -> IO DM
+casadi_erf__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_erf__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_erf__3" c_casadi_erf__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_erf__3
+  :: IM -> IO IM
+casadi_erf__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_erf__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_erf__4" c_casadi_erf__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_erf__4
+  :: MX -> IO MX
+casadi_erf__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_erf__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_erfinv__0" c_casadi_erfinv__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_erfinv__0
+  :: Double -> IO Double
+casadi_erfinv__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_erfinv__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_erfinv__1" c_casadi_erfinv__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_erfinv__1
+  :: SX -> IO SX
+casadi_erfinv__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_erfinv__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_erfinv__2" c_casadi_erfinv__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_erfinv__2
+  :: DM -> IO DM
+casadi_erfinv__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_erfinv__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_erfinv__3" c_casadi_erfinv__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_erfinv__3
+  :: IM -> IO IM
+casadi_erfinv__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_erfinv__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_erfinv__4" c_casadi_erfinv__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_erfinv__4
+  :: MX -> IO MX
+casadi_erfinv__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_erfinv__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_evalf__0" c_casadi_evalf__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr DM')
+
+casadi_evalf__0
+  :: SX -> IO DM
+casadi_evalf__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_evalf__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_evalf__1" c_casadi_evalf__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_evalf__1
+  :: DM -> IO DM
+casadi_evalf__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_evalf__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_evalf__2" c_casadi_evalf__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr DM')
+
+casadi_evalf__2
+  :: IM -> IO DM
+casadi_evalf__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_evalf__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_evalf__3" c_casadi_evalf__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr DM')
+
+casadi_evalf__3
+  :: MX -> IO DM
+casadi_evalf__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_evalf__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_exp__0" c_casadi_exp__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_exp__0
+  :: Double -> IO Double
+casadi_exp__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_exp__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_exp__1" c_casadi_exp__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_exp__1
+  :: SX -> IO SX
+casadi_exp__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_exp__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_exp__2" c_casadi_exp__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_exp__2
+  :: DM -> IO DM
+casadi_exp__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_exp__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_exp__3" c_casadi_exp__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_exp__3
+  :: IM -> IO IM
+casadi_exp__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_exp__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_exp__4" c_casadi_exp__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_exp__4
+  :: MX -> IO MX
+casadi_exp__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_exp__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_expand__0" c_casadi_expand__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
+
+casadi_expand__0
+  :: SX -> SX -> SX -> IO ()
+casadi_expand__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_expand__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_expand__1" c_casadi_expand__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO ()
+
+casadi_expand__1
+  :: DM -> DM -> DM -> IO ()
+casadi_expand__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_expand__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_expand__2" c_casadi_expand__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO ()
+
+casadi_expand__2
+  :: IM -> IM -> IM -> IO ()
+casadi_expand__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_expand__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_expm__0" c_casadi_expm__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_expm__0
+  :: SX -> IO SX
+casadi_expm__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_expm__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_expm__1" c_casadi_expm__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_expm__1
+  :: DM -> IO DM
+casadi_expm__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_expm__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_expm__2" c_casadi_expm__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_expm__2
+  :: IM -> IO IM
+casadi_expm__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_expm__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_expm__3" c_casadi_expm__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_expm__3
+  :: MX -> IO MX
+casadi_expm__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_expm__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_expm_const__0" c_casadi_expm_const__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_expm_const__0
+  :: SX -> SX -> IO SX
+casadi_expm_const__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_expm_const__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_expm_const__1" c_casadi_expm_const__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_expm_const__1
+  :: DM -> DM -> IO DM
+casadi_expm_const__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_expm_const__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_expm_const__2" c_casadi_expm_const__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_expm_const__2
+  :: IM -> IM -> IO IM
+casadi_expm_const__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_expm_const__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_expm_const__3" c_casadi_expm_const__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_expm_const__3
+  :: MX -> MX -> IO MX
+casadi_expm_const__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_expm_const__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_find" c_casadi_find
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_find
+  :: MX -> IO MX
+casadi_find x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_find errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_floor__0" c_casadi_floor__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_floor__0
+  :: Double -> IO Double
+casadi_floor__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_floor__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_floor__1" c_casadi_floor__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_floor__1
+  :: SX -> IO SX
+casadi_floor__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_floor__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_floor__2" c_casadi_floor__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_floor__2
+  :: DM -> IO DM
+casadi_floor__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_floor__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_floor__3" c_casadi_floor__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_floor__3
+  :: IM -> IO IM
+casadi_floor__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_floor__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_floor__4" c_casadi_floor__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_floor__4
+  :: MX -> IO MX
+casadi_floor__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_floor__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_fmax__0" c_casadi_fmax__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_fmax__0
+  :: Double -> Double -> IO Double
+casadi_fmax__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_fmax__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_fmax__1" c_casadi_fmax__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_fmax__1
+  :: SX -> SX -> IO SX
+casadi_fmax__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_fmax__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_fmax__2" c_casadi_fmax__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_fmax__2
+  :: DM -> DM -> IO DM
+casadi_fmax__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_fmax__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_fmax__3" c_casadi_fmax__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_fmax__3
+  :: IM -> IM -> IO IM
+casadi_fmax__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_fmax__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_fmax__4" c_casadi_fmax__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_fmax__4
+  :: MX -> MX -> IO MX
+casadi_fmax__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_fmax__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_fmin__0" c_casadi_fmin__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_fmin__0
+  :: Double -> Double -> IO Double
+casadi_fmin__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_fmin__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_fmin__1" c_casadi_fmin__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_fmin__1
+  :: SX -> SX -> IO SX
+casadi_fmin__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_fmin__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_fmin__2" c_casadi_fmin__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_fmin__2
+  :: DM -> DM -> IO DM
+casadi_fmin__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_fmin__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_fmin__3" c_casadi_fmin__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_fmin__3
+  :: IM -> IM -> IO IM
+casadi_fmin__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_fmin__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_fmin__4" c_casadi_fmin__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_fmin__4
+  :: MX -> MX -> IO MX
+casadi_fmin__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_fmin__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_forward__0" c_casadi_forward__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
+
+casadi_forward__0
+  :: Vector SX -> Vector SX -> Vector (Vector SX) -> IO (Vector (Vector SX))
+casadi_forward__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_forward__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_forward__1" c_casadi_forward__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
+
+casadi_forward__1
+  :: Vector SX -> Vector SX -> Vector (Vector SX) -> M.Map String GenericType -> IO (Vector (Vector SX))
+casadi_forward__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_forward__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_forward__2" c_casadi_forward__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
+
+casadi_forward__2
+  :: Vector DM -> Vector DM -> Vector (Vector DM) -> IO (Vector (Vector DM))
+casadi_forward__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_forward__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_forward__3" c_casadi_forward__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
+
+casadi_forward__3
+  :: Vector DM -> Vector DM -> Vector (Vector DM) -> M.Map String GenericType -> IO (Vector (Vector DM))
+casadi_forward__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_forward__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_forward__4" c_casadi_forward__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr (StdVec (Ptr IM')))) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
+
+casadi_forward__4
+  :: Vector IM -> Vector IM -> Vector (Vector IM) -> IO (Vector (Vector IM))
+casadi_forward__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_forward__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_forward__5" c_casadi_forward__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr (StdVec (Ptr IM')))) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
+
+casadi_forward__5
+  :: Vector IM -> Vector IM -> Vector (Vector IM) -> M.Map String GenericType -> IO (Vector (Vector IM))
+casadi_forward__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_forward__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_forward__6" c_casadi_forward__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
+
+casadi_forward__6
+  :: Vector MX -> Vector MX -> Vector (Vector MX) -> IO (Vector (Vector MX))
+casadi_forward__6 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_forward__6 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_forward__7" c_casadi_forward__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
+
+casadi_forward__7
+  :: Vector MX -> Vector MX -> Vector (Vector MX) -> M.Map String GenericType -> IO (Vector (Vector MX))
+casadi_forward__7 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_forward__7 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gauss_quadrature__0" c_casadi_gauss_quadrature__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CLLong -> Ptr SX' -> IO (Ptr SX')
+
+casadi_gauss_quadrature__0
+  :: SX -> SX -> SX -> SX -> Int -> SX -> IO SX
+casadi_gauss_quadrature__0 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gauss_quadrature__0 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gauss_quadrature__1" c_casadi_gauss_quadrature__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_gauss_quadrature__1
+  :: SX -> SX -> SX -> SX -> IO SX
+casadi_gauss_quadrature__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gauss_quadrature__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gauss_quadrature__2" c_casadi_gauss_quadrature__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CLLong -> IO (Ptr SX')
+
+casadi_gauss_quadrature__2
+  :: SX -> SX -> SX -> SX -> Int -> IO SX
+casadi_gauss_quadrature__2 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gauss_quadrature__2 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gauss_quadrature__3" c_casadi_gauss_quadrature__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> CLLong -> Ptr DM' -> IO (Ptr DM')
+
+casadi_gauss_quadrature__3
+  :: DM -> DM -> DM -> DM -> Int -> DM -> IO DM
+casadi_gauss_quadrature__3 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gauss_quadrature__3 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gauss_quadrature__4" c_casadi_gauss_quadrature__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_gauss_quadrature__4
+  :: DM -> DM -> DM -> DM -> IO DM
+casadi_gauss_quadrature__4 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gauss_quadrature__4 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gauss_quadrature__5" c_casadi_gauss_quadrature__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> CLLong -> IO (Ptr DM')
+
+casadi_gauss_quadrature__5
+  :: DM -> DM -> DM -> DM -> Int -> IO DM
+casadi_gauss_quadrature__5 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gauss_quadrature__5 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gauss_quadrature__6" c_casadi_gauss_quadrature__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> CLLong -> Ptr IM' -> IO (Ptr IM')
+
+casadi_gauss_quadrature__6
+  :: IM -> IM -> IM -> IM -> Int -> IM -> IO IM
+casadi_gauss_quadrature__6 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gauss_quadrature__6 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gauss_quadrature__7" c_casadi_gauss_quadrature__7
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_gauss_quadrature__7
+  :: IM -> IM -> IM -> IM -> IO IM
+casadi_gauss_quadrature__7 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gauss_quadrature__7 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gauss_quadrature__8" c_casadi_gauss_quadrature__8
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> CLLong -> IO (Ptr IM')
+
+casadi_gauss_quadrature__8
+  :: IM -> IM -> IM -> IM -> Int -> IO IM
+casadi_gauss_quadrature__8 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gauss_quadrature__8 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ge__0" c_casadi_ge__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_ge__0
+  :: Double -> Double -> IO Double
+casadi_ge__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ge__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ge__1" c_casadi_ge__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_ge__1
+  :: SX -> SX -> IO SX
+casadi_ge__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ge__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ge__2" c_casadi_ge__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_ge__2
+  :: DM -> DM -> IO DM
+casadi_ge__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ge__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ge__3" c_casadi_ge__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_ge__3
+  :: IM -> IM -> IO IM
+casadi_ge__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ge__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ge__4" c_casadi_ge__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_ge__4
+  :: MX -> MX -> IO MX
+casadi_ge__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ge__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gradient__0" c_casadi_gradient__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_gradient__0
+  :: SX -> SX -> IO SX
+casadi_gradient__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gradient__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gradient__1" c_casadi_gradient__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_gradient__1
+  :: DM -> DM -> IO DM
+casadi_gradient__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gradient__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gradient__2" c_casadi_gradient__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_gradient__2
+  :: IM -> IM -> IO IM
+casadi_gradient__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gradient__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gradient__3" c_casadi_gradient__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_gradient__3
+  :: MX -> MX -> IO MX
+casadi_gradient__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gradient__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_graph_substitute__0" c_casadi_graph_substitute__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_graph_substitute__0
+  :: Vector MX -> Vector MX -> Vector MX -> IO (Vector MX)
+casadi_graph_substitute__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_graph_substitute__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_graph_substitute__1" c_casadi_graph_substitute__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+
+casadi_graph_substitute__1
+  :: MX -> Vector MX -> Vector MX -> IO MX
+casadi_graph_substitute__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_graph_substitute__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gt__0" c_casadi_gt__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_gt__0
+  :: Double -> Double -> IO Double
+casadi_gt__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gt__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gt__1" c_casadi_gt__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_gt__1
+  :: SX -> SX -> IO SX
+casadi_gt__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gt__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gt__2" c_casadi_gt__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_gt__2
+  :: DM -> DM -> IO DM
+casadi_gt__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gt__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gt__3" c_casadi_gt__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_gt__3
+  :: IM -> IM -> IO IM
+casadi_gt__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gt__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_gt__4" c_casadi_gt__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_gt__4
+  :: MX -> MX -> IO MX
+casadi_gt__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_gt__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_heaviside__0" c_casadi_heaviside__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_heaviside__0
+  :: SX -> IO SX
+casadi_heaviside__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_heaviside__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_heaviside__1" c_casadi_heaviside__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_heaviside__1
+  :: DM -> IO DM
+casadi_heaviside__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_heaviside__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_heaviside__2" c_casadi_heaviside__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_heaviside__2
+  :: IM -> IO IM
+casadi_heaviside__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_heaviside__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_hessian__0" c_casadi_hessian__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_hessian__0
+  :: SX -> SX -> SX -> IO SX
+casadi_hessian__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_hessian__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_hessian__1" c_casadi_hessian__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_hessian__1
+  :: DM -> DM -> DM -> IO DM
+casadi_hessian__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_hessian__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_hessian__2" c_casadi_hessian__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_hessian__2
+  :: IM -> IM -> IM -> IO IM
+casadi_hessian__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_hessian__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_hessian__3" c_casadi_hessian__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_hessian__3
+  :: MX -> MX -> MX -> IO MX
+casadi_hessian__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_hessian__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzcat__0" c_casadi_horzcat__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
+
+casadi_horzcat__0
+  :: Vector SX -> IO SX
+casadi_horzcat__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzcat__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzcat__1" c_casadi_horzcat__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> IO (Ptr DM')
+
+casadi_horzcat__1
+  :: Vector DM -> IO DM
+casadi_horzcat__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzcat__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzcat__2" c_casadi_horzcat__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> IO (Ptr IM')
+
+casadi_horzcat__2
+  :: Vector IM -> IO IM
+casadi_horzcat__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzcat__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzcat__3" c_casadi_horzcat__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+
+casadi_horzcat__3
+  :: Vector MX -> IO MX
+casadi_horzcat__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzcat__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzcat__4" c_casadi_horzcat__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
+
+casadi_horzcat__4
+  :: Vector Sparsity -> IO Sparsity
+casadi_horzcat__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzcat__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__0" c_casadi_horzsplit__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi_horzsplit__0
+  :: SX -> IO (Vector SX)
+casadi_horzsplit__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__1" c_casadi_horzsplit__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi_horzsplit__1
+  :: SX -> Int -> IO (Vector SX)
+casadi_horzsplit__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__2" c_casadi_horzsplit__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi_horzsplit__2
+  :: SX -> Vector Int -> IO (Vector SX)
+casadi_horzsplit__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__3" c_casadi_horzsplit__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi_horzsplit__3
+  :: DM -> IO (Vector DM)
+casadi_horzsplit__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__4" c_casadi_horzsplit__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi_horzsplit__4
+  :: DM -> Int -> IO (Vector DM)
+casadi_horzsplit__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__5" c_casadi_horzsplit__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi_horzsplit__5
+  :: DM -> Vector Int -> IO (Vector DM)
+casadi_horzsplit__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__6" c_casadi_horzsplit__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi_horzsplit__6
+  :: IM -> IO (Vector IM)
+casadi_horzsplit__6 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__6 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__7" c_casadi_horzsplit__7
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi_horzsplit__7
+  :: IM -> Int -> IO (Vector IM)
+casadi_horzsplit__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__8" c_casadi_horzsplit__8
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi_horzsplit__8
+  :: IM -> Vector Int -> IO (Vector IM)
+casadi_horzsplit__8 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__8 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__9" c_casadi_horzsplit__9
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_horzsplit__9
+  :: MX -> IO (Vector MX)
+casadi_horzsplit__9 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__9 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__10" c_casadi_horzsplit__10
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_horzsplit__10
+  :: MX -> Int -> IO (Vector MX)
+casadi_horzsplit__10 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__10 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__11" c_casadi_horzsplit__11
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_horzsplit__11
+  :: MX -> Vector Int -> IO (Vector MX)
+casadi_horzsplit__11 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__11 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__12" c_casadi_horzsplit__12
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec (Ptr Sparsity')))
+
+casadi_horzsplit__12
+  :: Sparsity -> IO (Vector Sparsity)
+casadi_horzsplit__12 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__12 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__13" c_casadi_horzsplit__13
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> IO (Ptr (StdVec (Ptr Sparsity')))
+
+casadi_horzsplit__13
+  :: Sparsity -> Int -> IO (Vector Sparsity)
+casadi_horzsplit__13 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__13 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_horzsplit__14" c_casadi_horzsplit__14
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr Sparsity')))
+
+casadi_horzsplit__14
+  :: Sparsity -> Vector Int -> IO (Vector Sparsity)
+casadi_horzsplit__14 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_horzsplit__14 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_if_else__0" c_casadi_if_else__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_if_else__0
+  :: SX -> SX -> SX -> IO SX
+casadi_if_else__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_if_else__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_if_else__1" c_casadi_if_else__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
+
+casadi_if_else__1
+  :: SX -> SX -> SX -> Bool -> IO SX
+casadi_if_else__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_if_else__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_if_else__2" c_casadi_if_else__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_if_else__2
+  :: DM -> DM -> DM -> IO DM
+casadi_if_else__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_if_else__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_if_else__3" c_casadi_if_else__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> CInt -> IO (Ptr DM')
+
+casadi_if_else__3
+  :: DM -> DM -> DM -> Bool -> IO DM
+casadi_if_else__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_if_else__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_if_else__4" c_casadi_if_else__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_if_else__4
+  :: IM -> IM -> IM -> IO IM
+casadi_if_else__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_if_else__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_if_else__5" c_casadi_if_else__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> CInt -> IO (Ptr IM')
+
+casadi_if_else__5
+  :: IM -> IM -> IM -> Bool -> IO IM
+casadi_if_else__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_if_else__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_if_else__6" c_casadi_if_else__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_if_else__6
+  :: MX -> MX -> MX -> IO MX
+casadi_if_else__6 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_if_else__6 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_if_else__7" c_casadi_if_else__7
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> CInt -> IO (Ptr MX')
+
+casadi_if_else__7
+  :: MX -> MX -> MX -> Bool -> IO MX
+casadi_if_else__7 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_if_else__7 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv__0" c_casadi_inv__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr StdString -> IO (Ptr SX')
+
+casadi_inv__0
+  :: SX -> String -> IO SX
+casadi_inv__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv__1" c_casadi_inv__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr SX')
+
+casadi_inv__1
+  :: SX -> String -> M.Map String GenericType -> IO SX
+casadi_inv__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv__2" c_casadi_inv__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_inv__2
+  :: SX -> IO SX
+casadi_inv__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv__3" c_casadi_inv__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr StdString -> IO (Ptr DM')
+
+casadi_inv__3
+  :: DM -> String -> IO DM
+casadi_inv__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv__4" c_casadi_inv__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr DM')
+
+casadi_inv__4
+  :: DM -> String -> M.Map String GenericType -> IO DM
+casadi_inv__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv__5" c_casadi_inv__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_inv__5
+  :: DM -> IO DM
+casadi_inv__5 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv__5 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv__6" c_casadi_inv__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr StdString -> IO (Ptr IM')
+
+casadi_inv__6
+  :: IM -> String -> IO IM
+casadi_inv__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv__7" c_casadi_inv__7
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr IM')
+
+casadi_inv__7
+  :: IM -> String -> M.Map String GenericType -> IO IM
+casadi_inv__7 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv__7 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv__8" c_casadi_inv__8
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_inv__8
+  :: IM -> IO IM
+casadi_inv__8 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv__8 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv__9" c_casadi_inv__9
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
+
+casadi_inv__9
+  :: MX -> String -> IO MX
+casadi_inv__9 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv__9 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv__10" c_casadi_inv__10
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr MX')
+
+casadi_inv__10
+  :: MX -> String -> M.Map String GenericType -> IO MX
+casadi_inv__10 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv__10 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv__11" c_casadi_inv__11
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_inv__11
+  :: MX -> IO MX
+casadi_inv__11 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv__11 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv_minor__0" c_casadi_inv_minor__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_inv_minor__0
+  :: SX -> IO SX
+casadi_inv_minor__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv_minor__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv_minor__1" c_casadi_inv_minor__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_inv_minor__1
+  :: DM -> IO DM
+casadi_inv_minor__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv_minor__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv_minor__2" c_casadi_inv_minor__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_inv_minor__2
+  :: IM -> IO IM
+casadi_inv_minor__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv_minor__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv_minor__3" c_casadi_inv_minor__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_inv_minor__3
+  :: MX -> IO MX
+casadi_inv_minor__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv_minor__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv_node" c_casadi_inv_node
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_inv_node
+  :: MX -> IO MX
+casadi_inv_node x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv_node errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv_skew__0" c_casadi_inv_skew__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_inv_skew__0
+  :: SX -> IO SX
+casadi_inv_skew__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv_skew__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv_skew__1" c_casadi_inv_skew__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_inv_skew__1
+  :: DM -> IO DM
+casadi_inv_skew__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv_skew__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv_skew__2" c_casadi_inv_skew__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_inv_skew__2
+  :: IM -> IO IM
+casadi_inv_skew__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv_skew__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_inv_skew__3" c_casadi_inv_skew__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_inv_skew__3
+  :: MX -> IO MX
+casadi_inv_skew__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_inv_skew__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_equal__0" c_casadi_is_equal__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CInt
+
+casadi_is_equal__0
+  :: Double -> Double -> IO Bool
+casadi_is_equal__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_equal__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_equal__1" c_casadi_is_equal__1
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> CLLong -> IO CInt
+
+casadi_is_equal__1
+  :: Double -> Double -> Int -> IO Bool
+casadi_is_equal__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_equal__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_equal__2" c_casadi_is_equal__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO CInt
+
+casadi_is_equal__2
+  :: SX -> SX -> IO Bool
+casadi_is_equal__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_equal__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_equal__3" c_casadi_is_equal__3
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CLLong -> IO CInt
+
+casadi_is_equal__3
+  :: SX -> SX -> Int -> IO Bool
+casadi_is_equal__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_equal__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_equal__4" c_casadi_is_equal__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO CInt
+
+casadi_is_equal__4
+  :: DM -> DM -> IO Bool
+casadi_is_equal__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_equal__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_equal__5" c_casadi_is_equal__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CLLong -> IO CInt
+
+casadi_is_equal__5
+  :: DM -> DM -> Int -> IO Bool
+casadi_is_equal__5 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_equal__5 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_equal__6" c_casadi_is_equal__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO CInt
+
+casadi_is_equal__6
+  :: IM -> IM -> IO Bool
+casadi_is_equal__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_equal__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_equal__7" c_casadi_is_equal__7
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CLLong -> IO CInt
+
+casadi_is_equal__7
+  :: IM -> IM -> Int -> IO Bool
+casadi_is_equal__7 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_equal__7 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_equal__8" c_casadi_is_equal__8
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO CInt
+
+casadi_is_equal__8
+  :: MX -> MX -> IO Bool
+casadi_is_equal__8 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_equal__8 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_equal__9" c_casadi_is_equal__9
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CLLong -> IO CInt
+
+casadi_is_equal__9
+  :: MX -> MX -> Int -> IO Bool
+casadi_is_equal__9 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_equal__9 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_linear__0" c_casadi_is_linear__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO CInt
+
+casadi_is_linear__0
+  :: SX -> SX -> IO Bool
+casadi_is_linear__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_linear__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_linear__1" c_casadi_is_linear__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO CInt
+
+casadi_is_linear__1
+  :: DM -> DM -> IO Bool
+casadi_is_linear__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_linear__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_linear__2" c_casadi_is_linear__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO CInt
+
+casadi_is_linear__2
+  :: IM -> IM -> IO Bool
+casadi_is_linear__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_linear__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_linear__3" c_casadi_is_linear__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO CInt
+
+casadi_is_linear__3
+  :: MX -> MX -> IO Bool
+casadi_is_linear__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_linear__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_quadratic__0" c_casadi_is_quadratic__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO CInt
+
+casadi_is_quadratic__0
+  :: SX -> SX -> IO Bool
+casadi_is_quadratic__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_quadratic__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_quadratic__1" c_casadi_is_quadratic__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO CInt
+
+casadi_is_quadratic__1
+  :: DM -> DM -> IO Bool
+casadi_is_quadratic__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_quadratic__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_quadratic__2" c_casadi_is_quadratic__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO CInt
+
+casadi_is_quadratic__2
+  :: IM -> IM -> IO Bool
+casadi_is_quadratic__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_quadratic__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_is_quadratic__3" c_casadi_is_quadratic__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO CInt
+
+casadi_is_quadratic__3
+  :: MX -> MX -> IO Bool
+casadi_is_quadratic__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_is_quadratic__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jacobian__0" c_casadi_jacobian__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_jacobian__0
+  :: SX -> SX -> IO SX
+casadi_jacobian__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jacobian__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jacobian__1" c_casadi_jacobian__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr SX')
+
+casadi_jacobian__1
+  :: SX -> SX -> M.Map String GenericType -> IO SX
+casadi_jacobian__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jacobian__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jacobian__2" c_casadi_jacobian__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_jacobian__2
+  :: DM -> DM -> IO DM
+casadi_jacobian__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jacobian__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jacobian__3" c_casadi_jacobian__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr DM')
+
+casadi_jacobian__3
+  :: DM -> DM -> M.Map String GenericType -> IO DM
+casadi_jacobian__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jacobian__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jacobian__4" c_casadi_jacobian__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_jacobian__4
+  :: IM -> IM -> IO IM
+casadi_jacobian__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jacobian__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jacobian__5" c_casadi_jacobian__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr IM')
+
+casadi_jacobian__5
+  :: IM -> IM -> M.Map String GenericType -> IO IM
+casadi_jacobian__5 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jacobian__5 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jacobian__6" c_casadi_jacobian__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_jacobian__6
+  :: MX -> MX -> IO MX
+casadi_jacobian__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jacobian__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jacobian__7" c_casadi_jacobian__7
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr MX')
+
+casadi_jacobian__7
+  :: MX -> MX -> M.Map String GenericType -> IO MX
+casadi_jacobian__7 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jacobian__7 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jtimes__0" c_casadi_jtimes__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_jtimes__0
+  :: SX -> SX -> SX -> IO SX
+casadi_jtimes__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jtimes__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jtimes__1" c_casadi_jtimes__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
+
+casadi_jtimes__1
+  :: SX -> SX -> SX -> Bool -> IO SX
+casadi_jtimes__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jtimes__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jtimes__2" c_casadi_jtimes__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_jtimes__2
+  :: DM -> DM -> DM -> IO DM
+casadi_jtimes__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jtimes__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jtimes__3" c_casadi_jtimes__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> CInt -> IO (Ptr DM')
+
+casadi_jtimes__3
+  :: DM -> DM -> DM -> Bool -> IO DM
+casadi_jtimes__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jtimes__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jtimes__4" c_casadi_jtimes__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_jtimes__4
+  :: IM -> IM -> IM -> IO IM
+casadi_jtimes__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jtimes__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jtimes__5" c_casadi_jtimes__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> CInt -> IO (Ptr IM')
+
+casadi_jtimes__5
+  :: IM -> IM -> IM -> Bool -> IO IM
+casadi_jtimes__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jtimes__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jtimes__6" c_casadi_jtimes__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_jtimes__6
+  :: MX -> MX -> MX -> IO MX
+casadi_jtimes__6 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jtimes__6 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_jtimes__7" c_casadi_jtimes__7
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> CInt -> IO (Ptr MX')
+
+casadi_jtimes__7
+  :: MX -> MX -> MX -> Bool -> IO MX
+casadi_jtimes__7 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_jtimes__7 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_kron__0" c_casadi_kron__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_kron__0
+  :: SX -> SX -> IO SX
+casadi_kron__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_kron__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_kron__1" c_casadi_kron__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_kron__1
+  :: DM -> DM -> IO DM
+casadi_kron__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_kron__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_kron__2" c_casadi_kron__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_kron__2
+  :: IM -> IM -> IO IM
+casadi_kron__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_kron__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_kron__3" c_casadi_kron__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_kron__3
+  :: MX -> MX -> IO MX
+casadi_kron__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_kron__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_kron__4" c_casadi_kron__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi_kron__4
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi_kron__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_kron__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ldivide__0" c_casadi_ldivide__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_ldivide__0
+  :: Double -> Double -> IO Double
+casadi_ldivide__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ldivide__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ldivide__1" c_casadi_ldivide__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_ldivide__1
+  :: SX -> SX -> IO SX
+casadi_ldivide__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ldivide__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ldivide__2" c_casadi_ldivide__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_ldivide__2
+  :: DM -> DM -> IO DM
+casadi_ldivide__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ldivide__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ldivide__3" c_casadi_ldivide__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_ldivide__3
+  :: IM -> IM -> IO IM
+casadi_ldivide__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ldivide__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ldivide__4" c_casadi_ldivide__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_ldivide__4
+  :: MX -> MX -> IO MX
+casadi_ldivide__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ldivide__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ldl__0" c_casadi_ldl__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CLLong) -> IO ()
+
+casadi_ldl__0
+  :: SX -> SX -> SX -> Vector Int -> IO ()
+casadi_ldl__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ldl__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_ldl__1" c_casadi_ldl__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi_ldl__1
+  :: SX -> SX -> SX -> Vector Int -> Bool -> IO ()
+casadi_ldl__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ldl__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_ldl__2" c_casadi_ldl__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr (StdVec CLLong) -> IO ()
+
+casadi_ldl__2
+  :: DM -> DM -> DM -> Vector Int -> IO ()
+casadi_ldl__2 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ldl__2 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_ldl__3" c_casadi_ldl__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi_ldl__3
+  :: DM -> DM -> DM -> Vector Int -> Bool -> IO ()
+casadi_ldl__3 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ldl__3 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_ldl__4" c_casadi_ldl__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr (StdVec CLLong) -> IO ()
+
+casadi_ldl__4
+  :: IM -> IM -> IM -> Vector Int -> IO ()
+casadi_ldl__4 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ldl__4 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_ldl__5" c_casadi_ldl__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi_ldl__5
+  :: IM -> IM -> IM -> Vector Int -> Bool -> IO ()
+casadi_ldl__5 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ldl__5 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_ldl_solve__0" c_casadi_ldl_solve__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CLLong) -> IO (Ptr SX')
+
+casadi_ldl_solve__0
+  :: SX -> SX -> SX -> Vector Int -> IO SX
+casadi_ldl_solve__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ldl_solve__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ldl_solve__1" c_casadi_ldl_solve__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr (StdVec CLLong) -> IO (Ptr DM')
+
+casadi_ldl_solve__1
+  :: DM -> DM -> DM -> Vector Int -> IO DM
+casadi_ldl_solve__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ldl_solve__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ldl_solve__2" c_casadi_ldl_solve__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr (StdVec CLLong) -> IO (Ptr IM')
+
+casadi_ldl_solve__2
+  :: IM -> IM -> IM -> Vector Int -> IO IM
+casadi_ldl_solve__2 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ldl_solve__2 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_le__0" c_casadi_le__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_le__0
+  :: Double -> Double -> IO Double
+casadi_le__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_le__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_le__1" c_casadi_le__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_le__1
+  :: SX -> SX -> IO SX
+casadi_le__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_le__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_le__2" c_casadi_le__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_le__2
+  :: DM -> DM -> IO DM
+casadi_le__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_le__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_le__3" c_casadi_le__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_le__3
+  :: IM -> IM -> IO IM
+casadi_le__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_le__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_le__4" c_casadi_le__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_le__4
+  :: MX -> MX -> IO MX
+casadi_le__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_le__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_linear_coeff__0" c_casadi_linear_coeff__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
+
+casadi_linear_coeff__0
+  :: SX -> SX -> SX -> SX -> IO ()
+casadi_linear_coeff__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_linear_coeff__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_linear_coeff__1" c_casadi_linear_coeff__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO ()
+
+casadi_linear_coeff__1
+  :: DM -> DM -> DM -> DM -> IO ()
+casadi_linear_coeff__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_linear_coeff__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_linear_coeff__2" c_casadi_linear_coeff__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO ()
+
+casadi_linear_coeff__2
+  :: IM -> IM -> IM -> IM -> IO ()
+casadi_linear_coeff__2 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_linear_coeff__2 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_linear_coeff__3" c_casadi_linear_coeff__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO ()
+
+casadi_linear_coeff__3
+  :: MX -> MX -> MX -> MX -> IO ()
+casadi_linear_coeff__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_linear_coeff__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_linearize__0" c_casadi_linearize__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_linearize__0
+  :: SX -> SX -> SX -> IO SX
+casadi_linearize__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_linearize__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_linearize__1" c_casadi_linearize__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_linearize__1
+  :: DM -> DM -> DM -> IO DM
+casadi_linearize__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_linearize__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_linearize__2" c_casadi_linearize__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_linearize__2
+  :: IM -> IM -> IM -> IO IM
+casadi_linearize__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_linearize__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_linearize__3" c_casadi_linearize__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_linearize__3
+  :: MX -> MX -> MX -> IO MX
+casadi_linearize__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_linearize__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_linspace__0" c_casadi_linspace__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CLLong -> IO (Ptr SX')
+
+casadi_linspace__0
+  :: SX -> SX -> Int -> IO SX
+casadi_linspace__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_linspace__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_linspace__1" c_casadi_linspace__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> CLLong -> IO (Ptr DM')
+
+casadi_linspace__1
+  :: DM -> DM -> Int -> IO DM
+casadi_linspace__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_linspace__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_linspace__2" c_casadi_linspace__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> CLLong -> IO (Ptr IM')
+
+casadi_linspace__2
+  :: IM -> IM -> Int -> IO IM
+casadi_linspace__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_linspace__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_linspace__3" c_casadi_linspace__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CLLong -> IO (Ptr MX')
+
+casadi_linspace__3
+  :: MX -> MX -> Int -> IO MX
+casadi_linspace__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_linspace__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_log__0" c_casadi_log__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_log__0
+  :: Double -> IO Double
+casadi_log__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_log__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_log__1" c_casadi_log__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_log__1
+  :: SX -> IO SX
+casadi_log__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_log__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_log__2" c_casadi_log__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_log__2
+  :: DM -> IO DM
+casadi_log__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_log__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_log__3" c_casadi_log__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_log__3
+  :: IM -> IO IM
+casadi_log__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_log__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_log__4" c_casadi_log__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_log__4
+  :: MX -> IO MX
+casadi_log__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_log__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_log10__0" c_casadi_log10__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_log10__0
+  :: Double -> IO Double
+casadi_log10__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_log10__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_log10__1" c_casadi_log10__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_log10__1
+  :: SX -> IO SX
+casadi_log10__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_log10__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_log10__2" c_casadi_log10__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_log10__2
+  :: DM -> IO DM
+casadi_log10__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_log10__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_log10__3" c_casadi_log10__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_log10__3
+  :: IM -> IO IM
+casadi_log10__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_log10__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_log10__4" c_casadi_log10__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_log10__4
+  :: MX -> IO MX
+casadi_log10__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_log10__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_lt__0" c_casadi_lt__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_lt__0
+  :: Double -> Double -> IO Double
+casadi_lt__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_lt__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_lt__1" c_casadi_lt__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_lt__1
+  :: SX -> SX -> IO SX
+casadi_lt__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_lt__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_lt__2" c_casadi_lt__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_lt__2
+  :: DM -> DM -> IO DM
+casadi_lt__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_lt__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_lt__3" c_casadi_lt__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_lt__3
+  :: IM -> IM -> IO IM
+casadi_lt__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_lt__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_lt__4" c_casadi_lt__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_lt__4
+  :: MX -> MX -> IO MX
+casadi_lt__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_lt__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mac__0" c_casadi_mac__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_mac__0
+  :: SX -> SX -> SX -> IO SX
+casadi_mac__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mac__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mac__1" c_casadi_mac__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_mac__1
+  :: DM -> DM -> DM -> IO DM
+casadi_mac__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mac__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mac__2" c_casadi_mac__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_mac__2
+  :: IM -> IM -> IM -> IO IM
+casadi_mac__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mac__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mac__3" c_casadi_mac__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_mac__3
+  :: MX -> MX -> MX -> IO MX
+casadi_mac__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mac__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mac__4" c_casadi_mac__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi_mac__4
+  :: Sparsity -> Sparsity -> Sparsity -> IO Sparsity
+casadi_mac__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mac__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_matrix_expand__0" c_casadi_matrix_expand__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_matrix_expand__0
+  :: MX -> IO MX
+casadi_matrix_expand__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_matrix_expand__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_matrix_expand__1" c_casadi_matrix_expand__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+
+casadi_matrix_expand__1
+  :: MX -> Vector MX -> IO MX
+casadi_matrix_expand__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_matrix_expand__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_matrix_expand__2" c_casadi_matrix_expand__2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr MX')
+
+casadi_matrix_expand__2
+  :: MX -> Vector MX -> M.Map String GenericType -> IO MX
+casadi_matrix_expand__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_matrix_expand__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_matrix_expand__3" c_casadi_matrix_expand__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_matrix_expand__3
+  :: Vector MX -> IO (Vector MX)
+casadi_matrix_expand__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_matrix_expand__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_matrix_expand__4" c_casadi_matrix_expand__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_matrix_expand__4
+  :: Vector MX -> Vector MX -> IO (Vector MX)
+casadi_matrix_expand__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_matrix_expand__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_matrix_expand__5" c_casadi_matrix_expand__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_matrix_expand__5
+  :: Vector MX -> Vector MX -> M.Map String GenericType -> IO (Vector MX)
+casadi_matrix_expand__5 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_matrix_expand__5 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_minor__0" c_casadi_minor__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> CLLong -> IO (Ptr SX')
+
+casadi_minor__0
+  :: SX -> Int -> Int -> IO SX
+casadi_minor__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_minor__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_minor__1" c_casadi_minor__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> CLLong -> IO (Ptr DM')
+
+casadi_minor__1
+  :: DM -> Int -> Int -> IO DM
+casadi_minor__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_minor__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_minor__2" c_casadi_minor__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> CLLong -> IO (Ptr IM')
+
+casadi_minor__2
+  :: IM -> Int -> Int -> IO IM
+casadi_minor__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_minor__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_minus__0" c_casadi_minus__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_minus__0
+  :: Double -> Double -> IO Double
+casadi_minus__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_minus__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_minus__1" c_casadi_minus__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_minus__1
+  :: SX -> SX -> IO SX
+casadi_minus__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_minus__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_minus__2" c_casadi_minus__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_minus__2
+  :: DM -> DM -> IO DM
+casadi_minus__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_minus__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_minus__3" c_casadi_minus__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_minus__3
+  :: IM -> IM -> IO IM
+casadi_minus__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_minus__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_minus__4" c_casadi_minus__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_minus__4
+  :: MX -> MX -> IO MX
+casadi_minus__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_minus__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mldivide__0" c_casadi_mldivide__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_mldivide__0
+  :: SX -> SX -> IO SX
+casadi_mldivide__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mldivide__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mldivide__1" c_casadi_mldivide__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_mldivide__1
+  :: DM -> DM -> IO DM
+casadi_mldivide__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mldivide__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mldivide__2" c_casadi_mldivide__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_mldivide__2
+  :: IM -> IM -> IO IM
+casadi_mldivide__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mldivide__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mldivide__3" c_casadi_mldivide__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_mldivide__3
+  :: MX -> MX -> IO MX
+casadi_mldivide__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mldivide__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mmax__0" c_casadi_mmax__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_mmax__0
+  :: SX -> IO SX
+casadi_mmax__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mmax__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mmax__1" c_casadi_mmax__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_mmax__1
+  :: DM -> IO DM
+casadi_mmax__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mmax__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mmax__2" c_casadi_mmax__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_mmax__2
+  :: IM -> IO IM
+casadi_mmax__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mmax__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mmax__3" c_casadi_mmax__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_mmax__3
+  :: MX -> IO MX
+casadi_mmax__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mmax__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mmin__0" c_casadi_mmin__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_mmin__0
+  :: SX -> IO SX
+casadi_mmin__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mmin__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mmin__1" c_casadi_mmin__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_mmin__1
+  :: DM -> IO DM
+casadi_mmin__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mmin__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mmin__2" c_casadi_mmin__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_mmin__2
+  :: IM -> IO IM
+casadi_mmin__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mmin__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mmin__3" c_casadi_mmin__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_mmin__3
+  :: MX -> IO MX
+casadi_mmin__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mmin__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mod__0" c_casadi_mod__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_mod__0
+  :: Double -> Double -> IO Double
+casadi_mod__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mod__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mod__1" c_casadi_mod__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_mod__1
+  :: SX -> SX -> IO SX
+casadi_mod__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mod__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mod__2" c_casadi_mod__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_mod__2
+  :: DM -> DM -> IO DM
+casadi_mod__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mod__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mod__3" c_casadi_mod__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_mod__3
+  :: IM -> IM -> IO IM
+casadi_mod__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mod__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mod__4" c_casadi_mod__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_mod__4
+  :: MX -> MX -> IO MX
+casadi_mod__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mod__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mpower__0" c_casadi_mpower__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_mpower__0
+  :: SX -> SX -> IO SX
+casadi_mpower__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mpower__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mpower__1" c_casadi_mpower__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_mpower__1
+  :: DM -> DM -> IO DM
+casadi_mpower__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mpower__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mpower__2" c_casadi_mpower__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_mpower__2
+  :: IM -> IM -> IO IM
+casadi_mpower__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mpower__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mpower__3" c_casadi_mpower__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_mpower__3
+  :: MX -> MX -> IO MX
+casadi_mpower__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mpower__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mrdivide__0" c_casadi_mrdivide__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_mrdivide__0
+  :: SX -> SX -> IO SX
+casadi_mrdivide__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mrdivide__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mrdivide__1" c_casadi_mrdivide__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_mrdivide__1
+  :: DM -> DM -> IO DM
+casadi_mrdivide__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mrdivide__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mrdivide__2" c_casadi_mrdivide__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_mrdivide__2
+  :: IM -> IM -> IO IM
+casadi_mrdivide__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mrdivide__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mrdivide__3" c_casadi_mrdivide__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_mrdivide__3
+  :: MX -> MX -> IO MX
+casadi_mrdivide__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mrdivide__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtaylor__0" c_casadi_mtaylor__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CLLong -> Ptr (StdVec CLLong) -> IO (Ptr SX')
+
+casadi_mtaylor__0
+  :: SX -> SX -> SX -> Int -> Vector Int -> IO SX
+casadi_mtaylor__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtaylor__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtaylor__1" c_casadi_mtaylor__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_mtaylor__1
+  :: SX -> SX -> SX -> IO SX
+casadi_mtaylor__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtaylor__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtaylor__2" c_casadi_mtaylor__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CLLong -> IO (Ptr SX')
+
+casadi_mtaylor__2
+  :: SX -> SX -> SX -> Int -> IO SX
+casadi_mtaylor__2 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtaylor__2 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtaylor__3" c_casadi_mtaylor__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> CLLong -> Ptr (StdVec CLLong) -> IO (Ptr DM')
+
+casadi_mtaylor__3
+  :: DM -> DM -> DM -> Int -> Vector Int -> IO DM
+casadi_mtaylor__3 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtaylor__3 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtaylor__4" c_casadi_mtaylor__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_mtaylor__4
+  :: DM -> DM -> DM -> IO DM
+casadi_mtaylor__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtaylor__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtaylor__5" c_casadi_mtaylor__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> CLLong -> IO (Ptr DM')
+
+casadi_mtaylor__5
+  :: DM -> DM -> DM -> Int -> IO DM
+casadi_mtaylor__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtaylor__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtaylor__6" c_casadi_mtaylor__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> CLLong -> Ptr (StdVec CLLong) -> IO (Ptr IM')
+
+casadi_mtaylor__6
+  :: IM -> IM -> IM -> Int -> Vector Int -> IO IM
+casadi_mtaylor__6 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtaylor__6 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtaylor__7" c_casadi_mtaylor__7
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_mtaylor__7
+  :: IM -> IM -> IM -> IO IM
+casadi_mtaylor__7 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtaylor__7 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtaylor__8" c_casadi_mtaylor__8
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> CLLong -> IO (Ptr IM')
+
+casadi_mtaylor__8
+  :: IM -> IM -> IM -> Int -> IO IM
+casadi_mtaylor__8 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtaylor__8 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtimes__0" c_casadi_mtimes__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
+
+casadi_mtimes__0
+  :: Vector SX -> IO SX
+casadi_mtimes__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtimes__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtimes__1" c_casadi_mtimes__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_mtimes__1
+  :: SX -> SX -> IO SX
+casadi_mtimes__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtimes__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtimes__2" c_casadi_mtimes__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> IO (Ptr DM')
+
+casadi_mtimes__2
+  :: Vector DM -> IO DM
+casadi_mtimes__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtimes__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtimes__3" c_casadi_mtimes__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_mtimes__3
+  :: DM -> DM -> IO DM
+casadi_mtimes__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtimes__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtimes__4" c_casadi_mtimes__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> IO (Ptr IM')
+
+casadi_mtimes__4
+  :: Vector IM -> IO IM
+casadi_mtimes__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtimes__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtimes__5" c_casadi_mtimes__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_mtimes__5
+  :: IM -> IM -> IO IM
+casadi_mtimes__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtimes__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtimes__6" c_casadi_mtimes__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+
+casadi_mtimes__6
+  :: Vector MX -> IO MX
+casadi_mtimes__6 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtimes__6 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtimes__7" c_casadi_mtimes__7
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_mtimes__7
+  :: MX -> MX -> IO MX
+casadi_mtimes__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtimes__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtimes__8" c_casadi_mtimes__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
+
+casadi_mtimes__8
+  :: Vector Sparsity -> IO Sparsity
+casadi_mtimes__8 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtimes__8 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_mtimes__9" c_casadi_mtimes__9
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi_mtimes__9
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi_mtimes__9 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_mtimes__9 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_n_nodes__0" c_casadi_n_nodes__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi_n_nodes__0
+  :: SX -> IO Int
+casadi_n_nodes__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_n_nodes__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_n_nodes__1" c_casadi_n_nodes__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi_n_nodes__1
+  :: DM -> IO Int
+casadi_n_nodes__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_n_nodes__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_n_nodes__2" c_casadi_n_nodes__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi_n_nodes__2
+  :: IM -> IO Int
+casadi_n_nodes__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_n_nodes__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_n_nodes__3" c_casadi_n_nodes__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi_n_nodes__3
+  :: MX -> IO Int
+casadi_n_nodes__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_n_nodes__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ne__0" c_casadi_ne__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_ne__0
+  :: Double -> Double -> IO Double
+casadi_ne__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ne__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ne__1" c_casadi_ne__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_ne__1
+  :: SX -> SX -> IO SX
+casadi_ne__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ne__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ne__2" c_casadi_ne__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_ne__2
+  :: DM -> DM -> IO DM
+casadi_ne__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ne__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ne__3" c_casadi_ne__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_ne__3
+  :: IM -> IM -> IO IM
+casadi_ne__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ne__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ne__4" c_casadi_ne__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_ne__4
+  :: MX -> MX -> IO MX
+casadi_ne__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ne__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_0_mul__0" c_casadi_norm_0_mul__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO CLLong
+
+casadi_norm_0_mul__0
+  :: SX -> SX -> IO Int
+casadi_norm_0_mul__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_0_mul__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_0_mul__1" c_casadi_norm_0_mul__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO CLLong
+
+casadi_norm_0_mul__1
+  :: DM -> DM -> IO Int
+casadi_norm_0_mul__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_0_mul__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_0_mul__2" c_casadi_norm_0_mul__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO CLLong
+
+casadi_norm_0_mul__2
+  :: IM -> IM -> IO Int
+casadi_norm_0_mul__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_0_mul__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_0_mul__3" c_casadi_norm_0_mul__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO CLLong
+
+casadi_norm_0_mul__3
+  :: MX -> MX -> IO Int
+casadi_norm_0_mul__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_0_mul__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_0_mul__4" c_casadi_norm_0_mul__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CLLong
+
+casadi_norm_0_mul__4
+  :: Sparsity -> Sparsity -> IO Int
+casadi_norm_0_mul__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_0_mul__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_1__0" c_casadi_norm_1__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_norm_1__0
+  :: SX -> IO SX
+casadi_norm_1__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_1__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_1__1" c_casadi_norm_1__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_norm_1__1
+  :: DM -> IO DM
+casadi_norm_1__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_1__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_1__2" c_casadi_norm_1__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_norm_1__2
+  :: IM -> IO IM
+casadi_norm_1__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_1__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_1__3" c_casadi_norm_1__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_norm_1__3
+  :: MX -> IO MX
+casadi_norm_1__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_1__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_2__0" c_casadi_norm_2__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_norm_2__0
+  :: SX -> IO SX
+casadi_norm_2__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_2__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_2__1" c_casadi_norm_2__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_norm_2__1
+  :: DM -> IO DM
+casadi_norm_2__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_2__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_2__2" c_casadi_norm_2__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_norm_2__2
+  :: IM -> IO IM
+casadi_norm_2__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_2__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_2__3" c_casadi_norm_2__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_norm_2__3
+  :: MX -> IO MX
+casadi_norm_2__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_2__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_fro__0" c_casadi_norm_fro__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_norm_fro__0
+  :: SX -> IO SX
+casadi_norm_fro__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_fro__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_fro__1" c_casadi_norm_fro__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_norm_fro__1
+  :: DM -> IO DM
+casadi_norm_fro__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_fro__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_fro__2" c_casadi_norm_fro__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_norm_fro__2
+  :: IM -> IO IM
+casadi_norm_fro__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_fro__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_fro__3" c_casadi_norm_fro__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_norm_fro__3
+  :: MX -> IO MX
+casadi_norm_fro__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_fro__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_inf__0" c_casadi_norm_inf__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_norm_inf__0
+  :: SX -> IO SX
+casadi_norm_inf__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_inf__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_inf__1" c_casadi_norm_inf__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_norm_inf__1
+  :: DM -> IO DM
+casadi_norm_inf__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_inf__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_inf__2" c_casadi_norm_inf__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_norm_inf__2
+  :: IM -> IO IM
+casadi_norm_inf__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_inf__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_inf__3" c_casadi_norm_inf__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_norm_inf__3
+  :: MX -> IO MX
+casadi_norm_inf__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_inf__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_inf_mul__0" c_casadi_norm_inf_mul__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_norm_inf_mul__0
+  :: SX -> SX -> IO SX
+casadi_norm_inf_mul__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_inf_mul__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_inf_mul__1" c_casadi_norm_inf_mul__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_norm_inf_mul__1
+  :: DM -> DM -> IO DM
+casadi_norm_inf_mul__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_inf_mul__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_norm_inf_mul__2" c_casadi_norm_inf_mul__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_norm_inf_mul__2
+  :: IM -> IM -> IO IM
+casadi_norm_inf_mul__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_norm_inf_mul__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_not__0" c_casadi_not__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_not__0
+  :: Double -> IO Double
+casadi_not__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_not__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_not__1" c_casadi_not__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_not__1
+  :: SX -> IO SX
+casadi_not__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_not__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_not__2" c_casadi_not__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_not__2
+  :: DM -> IO DM
+casadi_not__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_not__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_not__3" c_casadi_not__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_not__3
+  :: IM -> IO IM
+casadi_not__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_not__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_not__4" c_casadi_not__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_not__4
+  :: MX -> IO MX
+casadi_not__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_not__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_nullspace__0" c_casadi_nullspace__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_nullspace__0
+  :: SX -> IO SX
+casadi_nullspace__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_nullspace__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_nullspace__1" c_casadi_nullspace__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_nullspace__1
+  :: DM -> IO DM
+casadi_nullspace__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_nullspace__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_nullspace__2" c_casadi_nullspace__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_nullspace__2
+  :: IM -> IO IM
+casadi_nullspace__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_nullspace__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_nullspace__3" c_casadi_nullspace__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_nullspace__3
+  :: MX -> IO MX
+casadi_nullspace__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_nullspace__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_offset__0" c_casadi_offset__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec CLLong))
+
+casadi_offset__0
+  :: Vector SX -> IO (Vector Int)
+casadi_offset__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_offset__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_offset__1" c_casadi_offset__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> CInt -> IO (Ptr (StdVec CLLong))
+
+casadi_offset__1
+  :: Vector SX -> Bool -> IO (Vector Int)
+casadi_offset__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_offset__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_offset__2" c_casadi_offset__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> IO (Ptr (StdVec CLLong))
+
+casadi_offset__2
+  :: Vector DM -> IO (Vector Int)
+casadi_offset__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_offset__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_offset__3" c_casadi_offset__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> CInt -> IO (Ptr (StdVec CLLong))
+
+casadi_offset__3
+  :: Vector DM -> Bool -> IO (Vector Int)
+casadi_offset__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_offset__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_offset__4" c_casadi_offset__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> IO (Ptr (StdVec CLLong))
+
+casadi_offset__4
+  :: Vector IM -> IO (Vector Int)
+casadi_offset__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_offset__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_offset__5" c_casadi_offset__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> CInt -> IO (Ptr (StdVec CLLong))
+
+casadi_offset__5
+  :: Vector IM -> Bool -> IO (Vector Int)
+casadi_offset__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_offset__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_offset__6" c_casadi_offset__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec CLLong))
+
+casadi_offset__6
+  :: Vector MX -> IO (Vector Int)
+casadi_offset__6 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_offset__6 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_offset__7" c_casadi_offset__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> CInt -> IO (Ptr (StdVec CLLong))
+
+casadi_offset__7
+  :: Vector MX -> Bool -> IO (Vector Int)
+casadi_offset__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_offset__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_offset__8" c_casadi_offset__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec CLLong))
+
+casadi_offset__8
+  :: Vector Sparsity -> IO (Vector Int)
+casadi_offset__8 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_offset__8 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_offset__9" c_casadi_offset__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> CInt -> IO (Ptr (StdVec CLLong))
+
+casadi_offset__9
+  :: Vector Sparsity -> Bool -> IO (Vector Int)
+casadi_offset__9 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_offset__9 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_or__0" c_casadi_or__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_or__0
+  :: Double -> Double -> IO Double
+casadi_or__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_or__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_or__1" c_casadi_or__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_or__1
+  :: SX -> SX -> IO SX
+casadi_or__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_or__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_or__2" c_casadi_or__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_or__2
+  :: DM -> DM -> IO DM
+casadi_or__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_or__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_or__3" c_casadi_or__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_or__3
+  :: IM -> IM -> IO IM
+casadi_or__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_or__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_or__4" c_casadi_or__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_or__4
+  :: MX -> MX -> IO MX
+casadi_or__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_or__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pinv__0" c_casadi_pinv__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr StdString -> IO (Ptr SX')
+
+casadi_pinv__0
+  :: SX -> String -> IO SX
+casadi_pinv__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pinv__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pinv__1" c_casadi_pinv__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr SX')
+
+casadi_pinv__1
+  :: SX -> String -> M.Map String GenericType -> IO SX
+casadi_pinv__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pinv__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pinv__2" c_casadi_pinv__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_pinv__2
+  :: SX -> IO SX
+casadi_pinv__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pinv__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pinv__3" c_casadi_pinv__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr StdString -> IO (Ptr DM')
+
+casadi_pinv__3
+  :: DM -> String -> IO DM
+casadi_pinv__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pinv__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pinv__4" c_casadi_pinv__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr DM')
+
+casadi_pinv__4
+  :: DM -> String -> M.Map String GenericType -> IO DM
+casadi_pinv__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pinv__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pinv__5" c_casadi_pinv__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_pinv__5
+  :: DM -> IO DM
+casadi_pinv__5 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pinv__5 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pinv__6" c_casadi_pinv__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr StdString -> IO (Ptr IM')
+
+casadi_pinv__6
+  :: IM -> String -> IO IM
+casadi_pinv__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pinv__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pinv__7" c_casadi_pinv__7
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr IM')
+
+casadi_pinv__7
+  :: IM -> String -> M.Map String GenericType -> IO IM
+casadi_pinv__7 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pinv__7 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pinv__8" c_casadi_pinv__8
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_pinv__8
+  :: IM -> IO IM
+casadi_pinv__8 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pinv__8 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pinv__9" c_casadi_pinv__9
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
+
+casadi_pinv__9
+  :: MX -> String -> IO MX
+casadi_pinv__9 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pinv__9 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pinv__10" c_casadi_pinv__10
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr MX')
+
+casadi_pinv__10
+  :: MX -> String -> M.Map String GenericType -> IO MX
+casadi_pinv__10 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pinv__10 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pinv__11" c_casadi_pinv__11
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_pinv__11
+  :: MX -> IO MX
+casadi_pinv__11 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pinv__11 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_plus__0" c_casadi_plus__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_plus__0
+  :: Double -> Double -> IO Double
+casadi_plus__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_plus__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_plus__1" c_casadi_plus__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_plus__1
+  :: SX -> SX -> IO SX
+casadi_plus__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_plus__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_plus__2" c_casadi_plus__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_plus__2
+  :: DM -> DM -> IO DM
+casadi_plus__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_plus__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_plus__3" c_casadi_plus__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_plus__3
+  :: IM -> IM -> IO IM
+casadi_plus__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_plus__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_plus__4" c_casadi_plus__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_plus__4
+  :: MX -> MX -> IO MX
+casadi_plus__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_plus__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_poly_coeff__0" c_casadi_poly_coeff__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_poly_coeff__0
+  :: SX -> SX -> IO SX
+casadi_poly_coeff__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_poly_coeff__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_poly_coeff__1" c_casadi_poly_coeff__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_poly_coeff__1
+  :: DM -> DM -> IO DM
+casadi_poly_coeff__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_poly_coeff__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_poly_coeff__2" c_casadi_poly_coeff__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_poly_coeff__2
+  :: IM -> IM -> IO IM
+casadi_poly_coeff__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_poly_coeff__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_poly_roots__0" c_casadi_poly_roots__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_poly_roots__0
+  :: SX -> IO SX
+casadi_poly_roots__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_poly_roots__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_poly_roots__1" c_casadi_poly_roots__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_poly_roots__1
+  :: DM -> IO DM
+casadi_poly_roots__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_poly_roots__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_poly_roots__2" c_casadi_poly_roots__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_poly_roots__2
+  :: IM -> IO IM
+casadi_poly_roots__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_poly_roots__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_polyval__0" c_casadi_polyval__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_polyval__0
+  :: SX -> SX -> IO SX
+casadi_polyval__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_polyval__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_polyval__1" c_casadi_polyval__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_polyval__1
+  :: DM -> DM -> IO DM
+casadi_polyval__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_polyval__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_polyval__2" c_casadi_polyval__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_polyval__2
+  :: IM -> IM -> IO IM
+casadi_polyval__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_polyval__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_polyval__3" c_casadi_polyval__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_polyval__3
+  :: MX -> MX -> IO MX
+casadi_polyval__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_polyval__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_power__0" c_casadi_power__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_power__0
+  :: Double -> Double -> IO Double
+casadi_power__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_power__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_power__1" c_casadi_power__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_power__1
+  :: SX -> SX -> IO SX
+casadi_power__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_power__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_power__2" c_casadi_power__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_power__2
+  :: DM -> DM -> IO DM
+casadi_power__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_power__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_power__3" c_casadi_power__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_power__3
+  :: IM -> IM -> IO IM
+casadi_power__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_power__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_power__4" c_casadi_power__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_power__4
+  :: MX -> MX -> IO MX
+casadi_power__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_power__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_print_operator__0" c_casadi_print_operator__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
+
+casadi_print_operator__0
+  :: SX -> Vector String -> IO String
+casadi_print_operator__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_print_operator__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_print_operator__1" c_casadi_print_operator__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
+
+casadi_print_operator__1
+  :: DM -> Vector String -> IO String
+casadi_print_operator__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_print_operator__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_print_operator__2" c_casadi_print_operator__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
+
+casadi_print_operator__2
+  :: IM -> Vector String -> IO String
+casadi_print_operator__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_print_operator__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_print_operator__3" c_casadi_print_operator__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
+
+casadi_print_operator__3
+  :: MX -> Vector String -> IO String
+casadi_print_operator__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_print_operator__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_project__0" c_casadi_project__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
+
+casadi_project__0
+  :: SX -> Sparsity -> IO SX
+casadi_project__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_project__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_project__1" c_casadi_project__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> CInt -> IO (Ptr SX')
+
+casadi_project__1
+  :: SX -> Sparsity -> Bool -> IO SX
+casadi_project__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_project__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_project__2" c_casadi_project__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr Sparsity' -> IO (Ptr DM')
+
+casadi_project__2
+  :: DM -> Sparsity -> IO DM
+casadi_project__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_project__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_project__3" c_casadi_project__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr Sparsity' -> CInt -> IO (Ptr DM')
+
+casadi_project__3
+  :: DM -> Sparsity -> Bool -> IO DM
+casadi_project__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_project__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_project__4" c_casadi_project__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr Sparsity' -> IO (Ptr IM')
+
+casadi_project__4
+  :: IM -> Sparsity -> IO IM
+casadi_project__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_project__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_project__5" c_casadi_project__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr Sparsity' -> CInt -> IO (Ptr IM')
+
+casadi_project__5
+  :: IM -> Sparsity -> Bool -> IO IM
+casadi_project__5 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_project__5 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_project__6" c_casadi_project__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
+
+casadi_project__6
+  :: MX -> Sparsity -> IO MX
+casadi_project__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_project__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_project__7" c_casadi_project__7
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> CInt -> IO (Ptr MX')
+
+casadi_project__7
+  :: MX -> Sparsity -> Bool -> IO MX
+casadi_project__7 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_project__7 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pw_const__0" c_casadi_pw_const__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_pw_const__0
+  :: SX -> SX -> SX -> IO SX
+casadi_pw_const__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pw_const__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pw_const__1" c_casadi_pw_const__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_pw_const__1
+  :: DM -> DM -> DM -> IO DM
+casadi_pw_const__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pw_const__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pw_const__2" c_casadi_pw_const__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_pw_const__2
+  :: IM -> IM -> IM -> IO IM
+casadi_pw_const__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pw_const__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pw_lin__0" c_casadi_pw_lin__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_pw_lin__0
+  :: SX -> SX -> SX -> IO SX
+casadi_pw_lin__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pw_lin__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pw_lin__1" c_casadi_pw_lin__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_pw_lin__1
+  :: DM -> DM -> DM -> IO DM
+casadi_pw_lin__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pw_lin__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_pw_lin__2" c_casadi_pw_lin__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_pw_lin__2
+  :: IM -> IM -> IM -> IO IM
+casadi_pw_lin__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_pw_lin__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_qr__0" c_casadi_qr__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
+
+casadi_qr__0
+  :: SX -> SX -> SX -> IO ()
+casadi_qr__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_qr__1" c_casadi_qr__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO ()
+
+casadi_qr__1
+  :: DM -> DM -> DM -> IO ()
+casadi_qr__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_qr__2" c_casadi_qr__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO ()
+
+casadi_qr__2
+  :: IM -> IM -> IM -> IO ()
+casadi_qr__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_qr_solve__0" c_casadi_qr_solve__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr SX')
+
+casadi_qr_solve__0
+  :: SX -> SX -> SX -> SX -> Vector Int -> Vector Int -> IO SX
+casadi_qr_solve__0 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr_solve__0 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_qr_solve__1" c_casadi_qr_solve__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO (Ptr SX')
+
+casadi_qr_solve__1
+  :: SX -> SX -> SX -> SX -> Vector Int -> Vector Int -> Bool -> IO SX
+casadi_qr_solve__1 x0 x1 x2 x3 x4 x5 x6 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr_solve__1 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_qr_solve__2" c_casadi_qr_solve__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr DM')
+
+casadi_qr_solve__2
+  :: DM -> DM -> DM -> DM -> Vector Int -> Vector Int -> IO DM
+casadi_qr_solve__2 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr_solve__2 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_qr_solve__3" c_casadi_qr_solve__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO (Ptr DM')
+
+casadi_qr_solve__3
+  :: DM -> DM -> DM -> DM -> Vector Int -> Vector Int -> Bool -> IO DM
+casadi_qr_solve__3 x0 x1 x2 x3 x4 x5 x6 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr_solve__3 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_qr_solve__4" c_casadi_qr_solve__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO (Ptr IM')
+
+casadi_qr_solve__4
+  :: IM -> IM -> IM -> IM -> Vector Int -> Vector Int -> IO IM
+casadi_qr_solve__4 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr_solve__4 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_qr_solve__5" c_casadi_qr_solve__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO (Ptr IM')
+
+casadi_qr_solve__5
+  :: IM -> IM -> IM -> IM -> Vector Int -> Vector Int -> Bool -> IO IM
+casadi_qr_solve__5 x0 x1 x2 x3 x4 x5 x6 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr_solve__5 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_qr_sparse__0" c_casadi_qr_sparse__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi_qr_sparse__0
+  :: SX -> SX -> SX -> SX -> Vector Int -> Vector Int -> IO ()
+casadi_qr_sparse__0 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr_sparse__0 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_qr_sparse__1" c_casadi_qr_sparse__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi_qr_sparse__1
+  :: SX -> SX -> SX -> SX -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi_qr_sparse__1 x0 x1 x2 x3 x4 x5 x6 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr_sparse__1 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_qr_sparse__2" c_casadi_qr_sparse__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi_qr_sparse__2
+  :: DM -> DM -> DM -> DM -> Vector Int -> Vector Int -> IO ()
+casadi_qr_sparse__2 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr_sparse__2 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_qr_sparse__3" c_casadi_qr_sparse__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi_qr_sparse__3
+  :: DM -> DM -> DM -> DM -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi_qr_sparse__3 x0 x1 x2 x3 x4 x5 x6 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr_sparse__3 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_qr_sparse__4" c_casadi_qr_sparse__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO ()
+
+casadi_qr_sparse__4
+  :: IM -> IM -> IM -> IM -> Vector Int -> Vector Int -> IO ()
+casadi_qr_sparse__4 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr_sparse__4 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_qr_sparse__5" c_casadi_qr_sparse__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> CInt -> IO ()
+
+casadi_qr_sparse__5
+  :: IM -> IM -> IM -> IM -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi_qr_sparse__5 x0 x1 x2 x3 x4 x5 x6 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+  x6' <- marshal x6
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_qr_sparse__5 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+  marshalFree x6 x6'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_quadratic_coeff__0" c_casadi_quadratic_coeff__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
+
+casadi_quadratic_coeff__0
+  :: SX -> SX -> SX -> SX -> SX -> IO ()
+casadi_quadratic_coeff__0 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_quadratic_coeff__0 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_quadratic_coeff__1" c_casadi_quadratic_coeff__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO ()
+
+casadi_quadratic_coeff__1
+  :: DM -> DM -> DM -> DM -> DM -> IO ()
+casadi_quadratic_coeff__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_quadratic_coeff__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_quadratic_coeff__2" c_casadi_quadratic_coeff__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO ()
+
+casadi_quadratic_coeff__2
+  :: IM -> IM -> IM -> IM -> IM -> IO ()
+casadi_quadratic_coeff__2 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_quadratic_coeff__2 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_quadratic_coeff__3" c_casadi_quadratic_coeff__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO ()
+
+casadi_quadratic_coeff__3
+  :: MX -> MX -> MX -> MX -> MX -> IO ()
+casadi_quadratic_coeff__3 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_quadratic_coeff__3 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_ramp__0" c_casadi_ramp__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_ramp__0
+  :: SX -> IO SX
+casadi_ramp__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ramp__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ramp__1" c_casadi_ramp__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_ramp__1
+  :: DM -> IO DM
+casadi_ramp__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ramp__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_ramp__2" c_casadi_ramp__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_ramp__2
+  :: IM -> IO IM
+casadi_ramp__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_ramp__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_rank1__0" c_casadi_rank1__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_rank1__0
+  :: SX -> SX -> SX -> SX -> IO SX
+casadi_rank1__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_rank1__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_rank1__1" c_casadi_rank1__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_rank1__1
+  :: DM -> DM -> DM -> DM -> IO DM
+casadi_rank1__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_rank1__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_rank1__2" c_casadi_rank1__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_rank1__2
+  :: IM -> IM -> IM -> IM -> IO IM
+casadi_rank1__2 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_rank1__2 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_rank1__3" c_casadi_rank1__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_rank1__3
+  :: MX -> MX -> MX -> MX -> IO MX
+casadi_rank1__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_rank1__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_rdivide__0" c_casadi_rdivide__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_rdivide__0
+  :: Double -> Double -> IO Double
+casadi_rdivide__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_rdivide__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_rdivide__1" c_casadi_rdivide__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_rdivide__1
+  :: SX -> SX -> IO SX
+casadi_rdivide__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_rdivide__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_rdivide__2" c_casadi_rdivide__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_rdivide__2
+  :: DM -> DM -> IO DM
+casadi_rdivide__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_rdivide__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_rdivide__3" c_casadi_rdivide__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_rdivide__3
+  :: IM -> IM -> IO IM
+casadi_rdivide__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_rdivide__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_rdivide__4" c_casadi_rdivide__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_rdivide__4
+  :: MX -> MX -> IO MX
+casadi_rdivide__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_rdivide__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_rectangle__0" c_casadi_rectangle__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_rectangle__0
+  :: SX -> IO SX
+casadi_rectangle__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_rectangle__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_rectangle__1" c_casadi_rectangle__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_rectangle__1
+  :: DM -> IO DM
+casadi_rectangle__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_rectangle__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_rectangle__2" c_casadi_rectangle__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_rectangle__2
+  :: IM -> IO IM
+casadi_rectangle__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_rectangle__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__0" c_casadi_repmat__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdPair CLLong CLLong) -> IO (Ptr SX')
+
+casadi_repmat__0
+  :: SX -> (Int, Int) -> IO SX
+casadi_repmat__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__1" c_casadi_repmat__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> IO (Ptr SX')
+
+casadi_repmat__1
+  :: SX -> Int -> IO SX
+casadi_repmat__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__2" c_casadi_repmat__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> CLLong -> IO (Ptr SX')
+
+casadi_repmat__2
+  :: SX -> Int -> Int -> IO SX
+casadi_repmat__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__3" c_casadi_repmat__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdPair CLLong CLLong) -> IO (Ptr DM')
+
+casadi_repmat__3
+  :: DM -> (Int, Int) -> IO DM
+casadi_repmat__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__4" c_casadi_repmat__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> IO (Ptr DM')
+
+casadi_repmat__4
+  :: DM -> Int -> IO DM
+casadi_repmat__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__5" c_casadi_repmat__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> CLLong -> IO (Ptr DM')
+
+casadi_repmat__5
+  :: DM -> Int -> Int -> IO DM
+casadi_repmat__5 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__5 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__6" c_casadi_repmat__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdPair CLLong CLLong) -> IO (Ptr IM')
+
+casadi_repmat__6
+  :: IM -> (Int, Int) -> IO IM
+casadi_repmat__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__7" c_casadi_repmat__7
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> IO (Ptr IM')
+
+casadi_repmat__7
+  :: IM -> Int -> IO IM
+casadi_repmat__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__8" c_casadi_repmat__8
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> CLLong -> IO (Ptr IM')
+
+casadi_repmat__8
+  :: IM -> Int -> Int -> IO IM
+casadi_repmat__8 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__8 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__9" c_casadi_repmat__9
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdPair CLLong CLLong) -> IO (Ptr MX')
+
+casadi_repmat__9
+  :: MX -> (Int, Int) -> IO MX
+casadi_repmat__9 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__9 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__10" c_casadi_repmat__10
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO (Ptr MX')
+
+casadi_repmat__10
+  :: MX -> Int -> IO MX
+casadi_repmat__10 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__10 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__11" c_casadi_repmat__11
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> CLLong -> IO (Ptr MX')
+
+casadi_repmat__11
+  :: MX -> Int -> Int -> IO MX
+casadi_repmat__11 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__11 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__12" c_casadi_repmat__12
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdPair CLLong CLLong) -> IO (Ptr Sparsity')
+
+casadi_repmat__12
+  :: Sparsity -> (Int, Int) -> IO Sparsity
+casadi_repmat__12 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__12 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__13" c_casadi_repmat__13
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> IO (Ptr Sparsity')
+
+casadi_repmat__13
+  :: Sparsity -> Int -> IO Sparsity
+casadi_repmat__13 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__13 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repmat__14" c_casadi_repmat__14
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> CLLong -> IO (Ptr Sparsity')
+
+casadi_repmat__14
+  :: Sparsity -> Int -> Int -> IO Sparsity
+casadi_repmat__14 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repmat__14 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repsum__0" c_casadi_repsum__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> IO (Ptr SX')
+
+casadi_repsum__0
+  :: SX -> Int -> IO SX
+casadi_repsum__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repsum__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repsum__1" c_casadi_repsum__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> CLLong -> IO (Ptr SX')
+
+casadi_repsum__1
+  :: SX -> Int -> Int -> IO SX
+casadi_repsum__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repsum__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repsum__2" c_casadi_repsum__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> IO (Ptr DM')
+
+casadi_repsum__2
+  :: DM -> Int -> IO DM
+casadi_repsum__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repsum__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repsum__3" c_casadi_repsum__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> CLLong -> IO (Ptr DM')
+
+casadi_repsum__3
+  :: DM -> Int -> Int -> IO DM
+casadi_repsum__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repsum__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repsum__4" c_casadi_repsum__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> IO (Ptr IM')
+
+casadi_repsum__4
+  :: IM -> Int -> IO IM
+casadi_repsum__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repsum__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repsum__5" c_casadi_repsum__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> CLLong -> IO (Ptr IM')
+
+casadi_repsum__5
+  :: IM -> Int -> Int -> IO IM
+casadi_repsum__5 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repsum__5 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repsum__6" c_casadi_repsum__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO (Ptr MX')
+
+casadi_repsum__6
+  :: MX -> Int -> IO MX
+casadi_repsum__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repsum__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_repsum__7" c_casadi_repsum__7
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> CLLong -> IO (Ptr MX')
+
+casadi_repsum__7
+  :: MX -> Int -> Int -> IO MX
+casadi_repsum__7 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_repsum__7 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__0" c_casadi_reshape__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
+
+casadi_reshape__0
+  :: SX -> Sparsity -> IO SX
+casadi_reshape__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__1" c_casadi_reshape__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdPair CLLong CLLong) -> IO (Ptr SX')
+
+casadi_reshape__1
+  :: SX -> (Int, Int) -> IO SX
+casadi_reshape__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__2" c_casadi_reshape__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> CLLong -> IO (Ptr SX')
+
+casadi_reshape__2
+  :: SX -> Int -> Int -> IO SX
+casadi_reshape__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__3" c_casadi_reshape__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr Sparsity' -> IO (Ptr DM')
+
+casadi_reshape__3
+  :: DM -> Sparsity -> IO DM
+casadi_reshape__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__4" c_casadi_reshape__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdPair CLLong CLLong) -> IO (Ptr DM')
+
+casadi_reshape__4
+  :: DM -> (Int, Int) -> IO DM
+casadi_reshape__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__5" c_casadi_reshape__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> CLLong -> IO (Ptr DM')
+
+casadi_reshape__5
+  :: DM -> Int -> Int -> IO DM
+casadi_reshape__5 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__5 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__6" c_casadi_reshape__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr Sparsity' -> IO (Ptr IM')
+
+casadi_reshape__6
+  :: IM -> Sparsity -> IO IM
+casadi_reshape__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__7" c_casadi_reshape__7
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdPair CLLong CLLong) -> IO (Ptr IM')
+
+casadi_reshape__7
+  :: IM -> (Int, Int) -> IO IM
+casadi_reshape__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__8" c_casadi_reshape__8
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> CLLong -> IO (Ptr IM')
+
+casadi_reshape__8
+  :: IM -> Int -> Int -> IO IM
+casadi_reshape__8 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__8 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__9" c_casadi_reshape__9
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
+
+casadi_reshape__9
+  :: MX -> Sparsity -> IO MX
+casadi_reshape__9 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__9 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__10" c_casadi_reshape__10
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdPair CLLong CLLong) -> IO (Ptr MX')
+
+casadi_reshape__10
+  :: MX -> (Int, Int) -> IO MX
+casadi_reshape__10 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__10 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__11" c_casadi_reshape__11
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> CLLong -> IO (Ptr MX')
+
+casadi_reshape__11
+  :: MX -> Int -> Int -> IO MX
+casadi_reshape__11 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__11 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__12" c_casadi_reshape__12
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi_reshape__12
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi_reshape__12 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__12 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__13" c_casadi_reshape__13
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdPair CLLong CLLong) -> IO (Ptr Sparsity')
+
+casadi_reshape__13
+  :: Sparsity -> (Int, Int) -> IO Sparsity
+casadi_reshape__13 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__13 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reshape__14" c_casadi_reshape__14
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> CLLong -> IO (Ptr Sparsity')
+
+casadi_reshape__14
+  :: Sparsity -> Int -> Int -> IO Sparsity
+casadi_reshape__14 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reshape__14 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reverse__0" c_casadi_reverse__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
+
+casadi_reverse__0
+  :: Vector SX -> Vector SX -> Vector (Vector SX) -> IO (Vector (Vector SX))
+casadi_reverse__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reverse__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reverse__1" c_casadi_reverse__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
+
+casadi_reverse__1
+  :: Vector SX -> Vector SX -> Vector (Vector SX) -> M.Map String GenericType -> IO (Vector (Vector SX))
+casadi_reverse__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reverse__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reverse__2" c_casadi_reverse__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
+
+casadi_reverse__2
+  :: Vector DM -> Vector DM -> Vector (Vector DM) -> IO (Vector (Vector DM))
+casadi_reverse__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reverse__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reverse__3" c_casadi_reverse__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DM')))))
+
+casadi_reverse__3
+  :: Vector DM -> Vector DM -> Vector (Vector DM) -> M.Map String GenericType -> IO (Vector (Vector DM))
+casadi_reverse__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reverse__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reverse__4" c_casadi_reverse__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr (StdVec (Ptr IM')))) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
+
+casadi_reverse__4
+  :: Vector IM -> Vector IM -> Vector (Vector IM) -> IO (Vector (Vector IM))
+casadi_reverse__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reverse__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reverse__5" c_casadi_reverse__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr (StdVec (Ptr IM')))) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IM')))))
+
+casadi_reverse__5
+  :: Vector IM -> Vector IM -> Vector (Vector IM) -> M.Map String GenericType -> IO (Vector (Vector IM))
+casadi_reverse__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reverse__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reverse__6" c_casadi_reverse__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
+
+casadi_reverse__6
+  :: Vector MX -> Vector MX -> Vector (Vector MX) -> IO (Vector (Vector MX))
+casadi_reverse__6 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reverse__6 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_reverse__7" c_casadi_reverse__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
+
+casadi_reverse__7
+  :: Vector MX -> Vector MX -> Vector (Vector MX) -> M.Map String GenericType -> IO (Vector (Vector MX))
+casadi_reverse__7 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_reverse__7 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_shared__0" c_casadi_shared__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO ()
+
+casadi_shared__0
+  :: Vector SX -> Vector SX -> Vector SX -> Vector SX -> IO ()
+casadi_shared__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_shared__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_shared__1" c_casadi_shared__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO ()
+
+casadi_shared__1
+  :: Vector SX -> Vector SX -> Vector SX -> Vector SX -> String -> IO ()
+casadi_shared__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_shared__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_shared__2" c_casadi_shared__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO ()
+
+casadi_shared__2
+  :: Vector SX -> Vector SX -> Vector SX -> Vector SX -> String -> String -> IO ()
+casadi_shared__2 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_shared__2 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_shared__3" c_casadi_shared__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> IO ()
+
+casadi_shared__3
+  :: Vector DM -> Vector DM -> Vector DM -> Vector DM -> IO ()
+casadi_shared__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_shared__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_shared__4" c_casadi_shared__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr StdString -> IO ()
+
+casadi_shared__4
+  :: Vector DM -> Vector DM -> Vector DM -> Vector DM -> String -> IO ()
+casadi_shared__4 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_shared__4 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_shared__5" c_casadi_shared__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr StdString -> Ptr StdString -> IO ()
+
+casadi_shared__5
+  :: Vector DM -> Vector DM -> Vector DM -> Vector DM -> String -> String -> IO ()
+casadi_shared__5 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_shared__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_shared__6" c_casadi_shared__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> IO ()
+
+casadi_shared__6
+  :: Vector IM -> Vector IM -> Vector IM -> Vector IM -> IO ()
+casadi_shared__6 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_shared__6 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_shared__7" c_casadi_shared__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr StdString -> IO ()
+
+casadi_shared__7
+  :: Vector IM -> Vector IM -> Vector IM -> Vector IM -> String -> IO ()
+casadi_shared__7 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_shared__7 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_shared__8" c_casadi_shared__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr StdString -> Ptr StdString -> IO ()
+
+casadi_shared__8
+  :: Vector IM -> Vector IM -> Vector IM -> Vector IM -> String -> String -> IO ()
+casadi_shared__8 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_shared__8 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_shared__9" c_casadi_shared__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO ()
+
+casadi_shared__9
+  :: Vector MX -> Vector MX -> Vector MX -> Vector MX -> IO ()
+casadi_shared__9 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_shared__9 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_shared__10" c_casadi_shared__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO ()
+
+casadi_shared__10
+  :: Vector MX -> Vector MX -> Vector MX -> Vector MX -> String -> IO ()
+casadi_shared__10 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_shared__10 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_shared__11" c_casadi_shared__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO ()
+
+casadi_shared__11
+  :: Vector MX -> Vector MX -> Vector MX -> Vector MX -> String -> String -> IO ()
+casadi_shared__11 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_shared__11 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_sign__0" c_casadi_sign__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_sign__0
+  :: Double -> IO Double
+casadi_sign__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sign__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sign__1" c_casadi_sign__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_sign__1
+  :: SX -> IO SX
+casadi_sign__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sign__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sign__2" c_casadi_sign__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_sign__2
+  :: DM -> IO DM
+casadi_sign__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sign__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sign__3" c_casadi_sign__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_sign__3
+  :: IM -> IO IM
+casadi_sign__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sign__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sign__4" c_casadi_sign__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_sign__4
+  :: MX -> IO MX
+casadi_sign__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sign__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_simplify__0" c_casadi_simplify__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_simplify__0
+  :: Double -> IO Double
+casadi_simplify__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_simplify__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_simplify__1" c_casadi_simplify__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_simplify__1
+  :: SX -> IO SX
+casadi_simplify__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_simplify__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_simplify__2" c_casadi_simplify__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_simplify__2
+  :: DM -> IO DM
+casadi_simplify__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_simplify__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_simplify__3" c_casadi_simplify__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_simplify__3
+  :: IM -> IO IM
+casadi_simplify__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_simplify__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_simplify__4" c_casadi_simplify__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_simplify__4
+  :: MX -> IO MX
+casadi_simplify__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_simplify__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sin__0" c_casadi_sin__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_sin__0
+  :: Double -> IO Double
+casadi_sin__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sin__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sin__1" c_casadi_sin__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_sin__1
+  :: SX -> IO SX
+casadi_sin__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sin__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sin__2" c_casadi_sin__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_sin__2
+  :: DM -> IO DM
+casadi_sin__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sin__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sin__3" c_casadi_sin__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_sin__3
+  :: IM -> IO IM
+casadi_sin__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sin__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sin__4" c_casadi_sin__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_sin__4
+  :: MX -> IO MX
+casadi_sin__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sin__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sinh__0" c_casadi_sinh__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_sinh__0
+  :: Double -> IO Double
+casadi_sinh__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sinh__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sinh__1" c_casadi_sinh__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_sinh__1
+  :: SX -> IO SX
+casadi_sinh__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sinh__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sinh__2" c_casadi_sinh__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_sinh__2
+  :: DM -> IO DM
+casadi_sinh__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sinh__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sinh__3" c_casadi_sinh__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_sinh__3
+  :: IM -> IO IM
+casadi_sinh__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sinh__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sinh__4" c_casadi_sinh__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_sinh__4
+  :: MX -> IO MX
+casadi_sinh__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sinh__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_skew__0" c_casadi_skew__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_skew__0
+  :: SX -> IO SX
+casadi_skew__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_skew__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_skew__1" c_casadi_skew__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_skew__1
+  :: DM -> IO DM
+casadi_skew__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_skew__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_skew__2" c_casadi_skew__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_skew__2
+  :: IM -> IO IM
+casadi_skew__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_skew__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_skew__3" c_casadi_skew__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_skew__3
+  :: MX -> IO MX
+casadi_skew__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_skew__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_soc__0" c_casadi_soc__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_soc__0
+  :: SX -> SX -> IO SX
+casadi_soc__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_soc__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_soc__1" c_casadi_soc__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_soc__1
+  :: DM -> DM -> IO DM
+casadi_soc__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_soc__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_soc__2" c_casadi_soc__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_soc__2
+  :: IM -> IM -> IO IM
+casadi_soc__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_soc__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_soc__3" c_casadi_soc__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_soc__3
+  :: MX -> MX -> IO MX
+casadi_soc__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_soc__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_solve__0" c_casadi_solve__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr StdString -> IO (Ptr SX')
+
+casadi_solve__0
+  :: SX -> SX -> String -> IO SX
+casadi_solve__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_solve__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_solve__1" c_casadi_solve__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr SX')
+
+casadi_solve__1
+  :: SX -> SX -> String -> M.Map String GenericType -> IO SX
+casadi_solve__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_solve__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_solve__2" c_casadi_solve__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_solve__2
+  :: SX -> SX -> IO SX
+casadi_solve__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_solve__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_solve__3" c_casadi_solve__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr StdString -> IO (Ptr DM')
+
+casadi_solve__3
+  :: DM -> DM -> String -> IO DM
+casadi_solve__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_solve__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_solve__4" c_casadi_solve__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr DM')
+
+casadi_solve__4
+  :: DM -> DM -> String -> M.Map String GenericType -> IO DM
+casadi_solve__4 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_solve__4 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_solve__5" c_casadi_solve__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_solve__5
+  :: DM -> DM -> IO DM
+casadi_solve__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_solve__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_solve__6" c_casadi_solve__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr StdString -> IO (Ptr IM')
+
+casadi_solve__6
+  :: IM -> IM -> String -> IO IM
+casadi_solve__6 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_solve__6 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_solve__7" c_casadi_solve__7
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr IM')
+
+casadi_solve__7
+  :: IM -> IM -> String -> M.Map String GenericType -> IO IM
+casadi_solve__7 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_solve__7 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_solve__8" c_casadi_solve__8
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_solve__8
+  :: IM -> IM -> IO IM
+casadi_solve__8 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_solve__8 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_solve__9" c_casadi_solve__9
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
+
+casadi_solve__9
+  :: MX -> MX -> String -> IO MX
+casadi_solve__9 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_solve__9 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_solve__10" c_casadi_solve__10
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr MX')
+
+casadi_solve__10
+  :: MX -> MX -> String -> M.Map String GenericType -> IO MX
+casadi_solve__10 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_solve__10 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_solve__11" c_casadi_solve__11
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_solve__11
+  :: MX -> MX -> IO MX
+casadi_solve__11 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_solve__11 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sparsify__0" c_casadi_sparsify__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_sparsify__0
+  :: SX -> IO SX
+casadi_sparsify__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sparsify__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sparsify__1" c_casadi_sparsify__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CDouble -> IO (Ptr SX')
+
+casadi_sparsify__1
+  :: SX -> Double -> IO SX
+casadi_sparsify__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sparsify__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sparsify__2" c_casadi_sparsify__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_sparsify__2
+  :: DM -> IO DM
+casadi_sparsify__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sparsify__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sparsify__3" c_casadi_sparsify__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CDouble -> IO (Ptr DM')
+
+casadi_sparsify__3
+  :: DM -> Double -> IO DM
+casadi_sparsify__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sparsify__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sparsify__4" c_casadi_sparsify__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_sparsify__4
+  :: IM -> IO IM
+casadi_sparsify__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sparsify__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sparsify__5" c_casadi_sparsify__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CDouble -> IO (Ptr IM')
+
+casadi_sparsify__5
+  :: IM -> Double -> IO IM
+casadi_sparsify__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sparsify__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sprank__0" c_casadi_sprank__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLLong
+
+casadi_sprank__0
+  :: SX -> IO Int
+casadi_sprank__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sprank__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sprank__1" c_casadi_sprank__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO CLLong
+
+casadi_sprank__1
+  :: DM -> IO Int
+casadi_sprank__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sprank__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sprank__2" c_casadi_sprank__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CLLong
+
+casadi_sprank__2
+  :: IM -> IO Int
+casadi_sprank__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sprank__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sprank__3" c_casadi_sprank__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLLong
+
+casadi_sprank__3
+  :: MX -> IO Int
+casadi_sprank__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sprank__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sprank__4" c_casadi_sprank__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CLLong
+
+casadi_sprank__4
+  :: Sparsity -> IO Int
+casadi_sprank__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sprank__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sqrt__0" c_casadi_sqrt__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_sqrt__0
+  :: Double -> IO Double
+casadi_sqrt__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sqrt__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sqrt__1" c_casadi_sqrt__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_sqrt__1
+  :: SX -> IO SX
+casadi_sqrt__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sqrt__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sqrt__2" c_casadi_sqrt__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_sqrt__2
+  :: DM -> IO DM
+casadi_sqrt__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sqrt__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sqrt__3" c_casadi_sqrt__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_sqrt__3
+  :: IM -> IO IM
+casadi_sqrt__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sqrt__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sqrt__4" c_casadi_sqrt__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_sqrt__4
+  :: MX -> IO MX
+casadi_sqrt__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sqrt__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_substitute__0" c_casadi_substitute__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi_substitute__0
+  :: Vector SX -> Vector SX -> Vector SX -> IO (Vector SX)
+casadi_substitute__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_substitute__1" c_casadi_substitute__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_substitute__1
+  :: SX -> SX -> SX -> IO SX
+casadi_substitute__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_substitute__2" c_casadi_substitute__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi_substitute__2
+  :: Vector DM -> Vector DM -> Vector DM -> IO (Vector DM)
+casadi_substitute__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_substitute__3" c_casadi_substitute__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_substitute__3
+  :: DM -> DM -> DM -> IO DM
+casadi_substitute__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_substitute__4" c_casadi_substitute__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi_substitute__4
+  :: Vector IM -> Vector IM -> Vector IM -> IO (Vector IM)
+casadi_substitute__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_substitute__5" c_casadi_substitute__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_substitute__5
+  :: IM -> IM -> IM -> IO IM
+casadi_substitute__5 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute__5 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_substitute__6" c_casadi_substitute__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_substitute__6
+  :: Vector MX -> Vector MX -> Vector MX -> IO (Vector MX)
+casadi_substitute__6 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute__6 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_substitute__7" c_casadi_substitute__7
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_substitute__7
+  :: MX -> MX -> MX -> IO MX
+casadi_substitute__7 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute__7 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_substitute_inplace__0" c_casadi_substitute_inplace__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO ()
+
+casadi_substitute_inplace__0
+  :: Vector SX -> Vector SX -> Vector SX -> IO ()
+casadi_substitute_inplace__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute_inplace__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_substitute_inplace__1" c_casadi_substitute_inplace__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> CInt -> IO ()
+
+casadi_substitute_inplace__1
+  :: Vector SX -> Vector SX -> Vector SX -> Bool -> IO ()
+casadi_substitute_inplace__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute_inplace__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_substitute_inplace__2" c_casadi_substitute_inplace__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> IO ()
+
+casadi_substitute_inplace__2
+  :: Vector DM -> Vector DM -> Vector DM -> IO ()
+casadi_substitute_inplace__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute_inplace__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_substitute_inplace__3" c_casadi_substitute_inplace__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> CInt -> IO ()
+
+casadi_substitute_inplace__3
+  :: Vector DM -> Vector DM -> Vector DM -> Bool -> IO ()
+casadi_substitute_inplace__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute_inplace__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_substitute_inplace__4" c_casadi_substitute_inplace__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> IO ()
+
+casadi_substitute_inplace__4
+  :: Vector IM -> Vector IM -> Vector IM -> IO ()
+casadi_substitute_inplace__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute_inplace__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_substitute_inplace__5" c_casadi_substitute_inplace__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> Ptr (StdVec (Ptr IM')) -> CInt -> IO ()
+
+casadi_substitute_inplace__5
+  :: Vector IM -> Vector IM -> Vector IM -> Bool -> IO ()
+casadi_substitute_inplace__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute_inplace__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_substitute_inplace__6" c_casadi_substitute_inplace__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO ()
+
+casadi_substitute_inplace__6
+  :: Vector MX -> Vector MX -> Vector MX -> IO ()
+casadi_substitute_inplace__6 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute_inplace__6 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_substitute_inplace__7" c_casadi_substitute_inplace__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> CInt -> IO ()
+
+casadi_substitute_inplace__7
+  :: Vector MX -> Vector MX -> Vector MX -> Bool -> IO ()
+casadi_substitute_inplace__7 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_substitute_inplace__7 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ()
+
+
+
+foreign import ccall unsafe "casadi_sum1__0" c_casadi_sum1__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_sum1__0
+  :: SX -> IO SX
+casadi_sum1__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sum1__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sum1__1" c_casadi_sum1__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_sum1__1
+  :: DM -> IO DM
+casadi_sum1__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sum1__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sum1__2" c_casadi_sum1__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_sum1__2
+  :: IM -> IO IM
+casadi_sum1__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sum1__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sum1__3" c_casadi_sum1__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_sum1__3
+  :: MX -> IO MX
+casadi_sum1__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sum1__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sum1__4" c_casadi_sum1__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi_sum1__4
+  :: Sparsity -> IO Sparsity
+casadi_sum1__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sum1__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sum2__0" c_casadi_sum2__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_sum2__0
+  :: SX -> IO SX
+casadi_sum2__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sum2__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sum2__1" c_casadi_sum2__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_sum2__1
+  :: DM -> IO DM
+casadi_sum2__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sum2__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sum2__2" c_casadi_sum2__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_sum2__2
+  :: IM -> IO IM
+casadi_sum2__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sum2__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sum2__3" c_casadi_sum2__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_sum2__3
+  :: MX -> IO MX
+casadi_sum2__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sum2__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sum2__4" c_casadi_sum2__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi_sum2__4
+  :: Sparsity -> IO Sparsity
+casadi_sum2__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sum2__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sumsqr__0" c_casadi_sumsqr__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_sumsqr__0
+  :: SX -> IO SX
+casadi_sumsqr__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sumsqr__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sumsqr__1" c_casadi_sumsqr__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_sumsqr__1
+  :: DM -> IO DM
+casadi_sumsqr__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sumsqr__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sumsqr__2" c_casadi_sumsqr__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_sumsqr__2
+  :: IM -> IO IM
+casadi_sumsqr__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sumsqr__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_sumsqr__3" c_casadi_sumsqr__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_sumsqr__3
+  :: MX -> IO MX
+casadi_sumsqr__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_sumsqr__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_symvar__0" c_casadi_symvar__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi_symvar__0
+  :: SX -> IO (Vector SX)
+casadi_symvar__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_symvar__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_symvar__1" c_casadi_symvar__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi_symvar__1
+  :: DM -> IO (Vector DM)
+casadi_symvar__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_symvar__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_symvar__2" c_casadi_symvar__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi_symvar__2
+  :: IM -> IO (Vector IM)
+casadi_symvar__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_symvar__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_symvar__3" c_casadi_symvar__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_symvar__3
+  :: MX -> IO (Vector MX)
+casadi_symvar__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_symvar__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tan__0" c_casadi_tan__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_tan__0
+  :: Double -> IO Double
+casadi_tan__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tan__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tan__1" c_casadi_tan__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_tan__1
+  :: SX -> IO SX
+casadi_tan__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tan__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tan__2" c_casadi_tan__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_tan__2
+  :: DM -> IO DM
+casadi_tan__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tan__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tan__3" c_casadi_tan__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_tan__3
+  :: IM -> IO IM
+casadi_tan__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tan__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tan__4" c_casadi_tan__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_tan__4
+  :: MX -> IO MX
+casadi_tan__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tan__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tangent__0" c_casadi_tangent__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_tangent__0
+  :: SX -> SX -> IO SX
+casadi_tangent__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tangent__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tangent__1" c_casadi_tangent__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_tangent__1
+  :: DM -> DM -> IO DM
+casadi_tangent__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tangent__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tangent__2" c_casadi_tangent__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_tangent__2
+  :: IM -> IM -> IO IM
+casadi_tangent__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tangent__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tangent__3" c_casadi_tangent__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_tangent__3
+  :: MX -> MX -> IO MX
+casadi_tangent__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tangent__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tanh__0" c_casadi_tanh__0
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+
+casadi_tanh__0
+  :: Double -> IO Double
+casadi_tanh__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tanh__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tanh__1" c_casadi_tanh__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_tanh__1
+  :: SX -> IO SX
+casadi_tanh__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tanh__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tanh__2" c_casadi_tanh__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_tanh__2
+  :: DM -> IO DM
+casadi_tanh__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tanh__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tanh__3" c_casadi_tanh__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_tanh__3
+  :: IM -> IO IM
+casadi_tanh__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tanh__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tanh__4" c_casadi_tanh__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_tanh__4
+  :: MX -> IO MX
+casadi_tanh__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tanh__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_taylor__0" c_casadi_taylor__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_taylor__0
+  :: SX -> SX -> IO SX
+casadi_taylor__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_taylor__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_taylor__1" c_casadi_taylor__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_taylor__1
+  :: SX -> SX -> SX -> IO SX
+casadi_taylor__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_taylor__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_taylor__2" c_casadi_taylor__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CLLong -> IO (Ptr SX')
+
+casadi_taylor__2
+  :: SX -> SX -> SX -> Int -> IO SX
+casadi_taylor__2 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_taylor__2 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_taylor__3" c_casadi_taylor__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_taylor__3
+  :: DM -> DM -> IO DM
+casadi_taylor__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_taylor__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_taylor__4" c_casadi_taylor__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_taylor__4
+  :: DM -> DM -> DM -> IO DM
+casadi_taylor__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_taylor__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_taylor__5" c_casadi_taylor__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> Ptr DM' -> CLLong -> IO (Ptr DM')
+
+casadi_taylor__5
+  :: DM -> DM -> DM -> Int -> IO DM
+casadi_taylor__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_taylor__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_taylor__6" c_casadi_taylor__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_taylor__6
+  :: IM -> IM -> IO IM
+casadi_taylor__6 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_taylor__6 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_taylor__7" c_casadi_taylor__7
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_taylor__7
+  :: IM -> IM -> IM -> IO IM
+casadi_taylor__7 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_taylor__7 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_taylor__8" c_casadi_taylor__8
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> Ptr IM' -> CLLong -> IO (Ptr IM')
+
+casadi_taylor__8
+  :: IM -> IM -> IM -> Int -> IO IM
+casadi_taylor__8 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_taylor__8 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_times__0" c_casadi_times__0
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+
+casadi_times__0
+  :: Double -> Double -> IO Double
+casadi_times__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_times__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_times__1" c_casadi_times__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_times__1
+  :: SX -> SX -> IO SX
+casadi_times__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_times__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_times__2" c_casadi_times__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_times__2
+  :: DM -> DM -> IO DM
+casadi_times__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_times__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_times__3" c_casadi_times__3
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_times__3
+  :: IM -> IM -> IO IM
+casadi_times__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_times__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_times__4" c_casadi_times__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_times__4
+  :: MX -> MX -> IO MX
+casadi_times__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_times__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_trace__0" c_casadi_trace__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_trace__0
+  :: SX -> IO SX
+casadi_trace__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_trace__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_trace__1" c_casadi_trace__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_trace__1
+  :: DM -> IO DM
+casadi_trace__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_trace__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_trace__2" c_casadi_trace__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_trace__2
+  :: IM -> IO IM
+casadi_trace__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_trace__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_trace__3" c_casadi_trace__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_trace__3
+  :: MX -> IO MX
+casadi_trace__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_trace__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_transpose__0" c_casadi_transpose__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_transpose__0
+  :: SX -> IO SX
+casadi_transpose__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_transpose__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_transpose__1" c_casadi_transpose__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_transpose__1
+  :: DM -> IO DM
+casadi_transpose__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_transpose__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_transpose__2" c_casadi_transpose__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_transpose__2
+  :: IM -> IO IM
+casadi_transpose__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_transpose__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_transpose__3" c_casadi_transpose__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_transpose__3
+  :: MX -> IO MX
+casadi_transpose__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_transpose__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_transpose__4" c_casadi_transpose__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi_transpose__4
+  :: Sparsity -> IO Sparsity
+casadi_transpose__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_transpose__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triangle__0" c_casadi_triangle__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_triangle__0
+  :: SX -> IO SX
+casadi_triangle__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triangle__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triangle__1" c_casadi_triangle__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_triangle__1
+  :: DM -> IO DM
+casadi_triangle__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triangle__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triangle__2" c_casadi_triangle__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_triangle__2
+  :: IM -> IO IM
+casadi_triangle__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triangle__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tril__0" c_casadi_tril__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_tril__0
+  :: SX -> IO SX
+casadi_tril__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tril__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tril__1" c_casadi_tril__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
+
+casadi_tril__1
+  :: SX -> Bool -> IO SX
+casadi_tril__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tril__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tril__2" c_casadi_tril__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_tril__2
+  :: DM -> IO DM
+casadi_tril__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tril__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tril__3" c_casadi_tril__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO (Ptr DM')
+
+casadi_tril__3
+  :: DM -> Bool -> IO DM
+casadi_tril__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tril__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tril__4" c_casadi_tril__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_tril__4
+  :: IM -> IO IM
+casadi_tril__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tril__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tril__5" c_casadi_tril__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr IM')
+
+casadi_tril__5
+  :: IM -> Bool -> IO IM
+casadi_tril__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tril__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tril__6" c_casadi_tril__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_tril__6
+  :: MX -> IO MX
+casadi_tril__6 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tril__6 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tril__7" c_casadi_tril__7
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
+
+casadi_tril__7
+  :: MX -> Bool -> IO MX
+casadi_tril__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tril__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tril__8" c_casadi_tril__8
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi_tril__8
+  :: Sparsity -> IO Sparsity
+casadi_tril__8 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tril__8 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tril__9" c_casadi_tril__9
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
+
+casadi_tril__9
+  :: Sparsity -> Bool -> IO Sparsity
+casadi_tril__9 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tril__9 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tril2symm__0" c_casadi_tril2symm__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_tril2symm__0
+  :: SX -> IO SX
+casadi_tril2symm__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tril2symm__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tril2symm__1" c_casadi_tril2symm__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_tril2symm__1
+  :: DM -> IO DM
+casadi_tril2symm__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tril2symm__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tril2symm__2" c_casadi_tril2symm__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_tril2symm__2
+  :: IM -> IO IM
+casadi_tril2symm__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tril2symm__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_tril2symm__3" c_casadi_tril2symm__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_tril2symm__3
+  :: MX -> IO MX
+casadi_tril2symm__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_tril2symm__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triu__0" c_casadi_triu__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_triu__0
+  :: SX -> IO SX
+casadi_triu__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triu__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triu__1" c_casadi_triu__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
+
+casadi_triu__1
+  :: SX -> Bool -> IO SX
+casadi_triu__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triu__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triu__2" c_casadi_triu__2
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_triu__2
+  :: DM -> IO DM
+casadi_triu__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triu__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triu__3" c_casadi_triu__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CInt -> IO (Ptr DM')
+
+casadi_triu__3
+  :: DM -> Bool -> IO DM
+casadi_triu__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triu__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triu__4" c_casadi_triu__4
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_triu__4
+  :: IM -> IO IM
+casadi_triu__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triu__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triu__5" c_casadi_triu__5
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr IM')
+
+casadi_triu__5
+  :: IM -> Bool -> IO IM
+casadi_triu__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triu__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triu__6" c_casadi_triu__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_triu__6
+  :: MX -> IO MX
+casadi_triu__6 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triu__6 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triu__7" c_casadi_triu__7
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
+
+casadi_triu__7
+  :: MX -> Bool -> IO MX
+casadi_triu__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triu__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triu__8" c_casadi_triu__8
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi_triu__8
+  :: Sparsity -> IO Sparsity
+casadi_triu__8 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triu__8 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triu__9" c_casadi_triu__9
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
+
+casadi_triu__9
+  :: Sparsity -> Bool -> IO Sparsity
+casadi_triu__9 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triu__9 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triu2symm__0" c_casadi_triu2symm__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_triu2symm__0
+  :: SX -> IO SX
+casadi_triu2symm__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triu2symm__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triu2symm__1" c_casadi_triu2symm__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_triu2symm__1
+  :: DM -> IO DM
+casadi_triu2symm__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triu2symm__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triu2symm__2" c_casadi_triu2symm__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_triu2symm__2
+  :: IM -> IO IM
+casadi_triu2symm__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triu2symm__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_triu2symm__3" c_casadi_triu2symm__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_triu2symm__3
+  :: MX -> IO MX
+casadi_triu2symm__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_triu2symm__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_unite__0" c_casadi_unite__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+
+casadi_unite__0
+  :: SX -> SX -> IO SX
+casadi_unite__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_unite__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_unite__1" c_casadi_unite__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi_unite__1
+  :: DM -> DM -> IO DM
+casadi_unite__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_unite__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_unite__2" c_casadi_unite__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr IM')
+
+casadi_unite__2
+  :: IM -> IM -> IO IM
+casadi_unite__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_unite__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_unite__3" c_casadi_unite__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+
+casadi_unite__3
+  :: MX -> MX -> IO MX
+casadi_unite__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_unite__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vec__0" c_casadi_vec__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+
+casadi_vec__0
+  :: SX -> IO SX
+casadi_vec__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vec__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vec__1" c_casadi_vec__1
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr DM')
+
+casadi_vec__1
+  :: DM -> IO DM
+casadi_vec__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vec__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vec__2" c_casadi_vec__2
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr IM')
+
+casadi_vec__2
+  :: IM -> IO IM
+casadi_vec__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vec__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vec__3" c_casadi_vec__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+
+casadi_vec__3
+  :: MX -> IO MX
+casadi_vec__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vec__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vec__4" c_casadi_vec__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+
+casadi_vec__4
+  :: Sparsity -> IO Sparsity
+casadi_vec__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vec__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_veccat__0" c_casadi_veccat__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
+
+casadi_veccat__0
+  :: Vector SX -> IO SX
+casadi_veccat__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_veccat__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_veccat__1" c_casadi_veccat__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> IO (Ptr DM')
+
+casadi_veccat__1
+  :: Vector DM -> IO DM
+casadi_veccat__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_veccat__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_veccat__2" c_casadi_veccat__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> IO (Ptr IM')
+
+casadi_veccat__2
+  :: Vector IM -> IO IM
+casadi_veccat__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_veccat__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_veccat__3" c_casadi_veccat__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+
+casadi_veccat__3
+  :: Vector MX -> IO MX
+casadi_veccat__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_veccat__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_veccat__4" c_casadi_veccat__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
+
+casadi_veccat__4
+  :: Vector Sparsity -> IO Sparsity
+casadi_veccat__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_veccat__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertcat__0" c_casadi_vertcat__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
+
+casadi_vertcat__0
+  :: Vector SX -> IO SX
+casadi_vertcat__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertcat__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertcat__1" c_casadi_vertcat__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> IO (Ptr DM')
+
+casadi_vertcat__1
+  :: Vector DM -> IO DM
+casadi_vertcat__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertcat__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertcat__2" c_casadi_vertcat__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IM')) -> IO (Ptr IM')
+
+casadi_vertcat__2
+  :: Vector IM -> IO IM
+casadi_vertcat__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertcat__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertcat__3" c_casadi_vertcat__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+
+casadi_vertcat__3
+  :: Vector MX -> IO MX
+casadi_vertcat__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertcat__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertcat__4" c_casadi_vertcat__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
+
+casadi_vertcat__4
+  :: Vector Sparsity -> IO Sparsity
+casadi_vertcat__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertcat__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__0" c_casadi_vertsplit__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi_vertsplit__0
+  :: SX -> IO (Vector SX)
+casadi_vertsplit__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__1" c_casadi_vertsplit__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CLLong -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi_vertsplit__1
+  :: SX -> Int -> IO (Vector SX)
+casadi_vertsplit__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__2" c_casadi_vertsplit__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr SX')))
+
+casadi_vertsplit__2
+  :: SX -> Vector Int -> IO (Vector SX)
+casadi_vertsplit__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__3" c_casadi_vertsplit__3
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi_vertsplit__3
+  :: DM -> IO (Vector DM)
+casadi_vertsplit__3 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__3 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__4" c_casadi_vertsplit__4
+  :: Ptr (Ptr StdString) -> Ptr DM' -> CLLong -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi_vertsplit__4
+  :: DM -> Int -> IO (Vector DM)
+casadi_vertsplit__4 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__4 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__5" c_casadi_vertsplit__5
+  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr DM')))
+
+casadi_vertsplit__5
+  :: DM -> Vector Int -> IO (Vector DM)
+casadi_vertsplit__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__6" c_casadi_vertsplit__6
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi_vertsplit__6
+  :: IM -> IO (Vector IM)
+casadi_vertsplit__6 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__6 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__7" c_casadi_vertsplit__7
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CLLong -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi_vertsplit__7
+  :: IM -> Int -> IO (Vector IM)
+casadi_vertsplit__7 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__7 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__8" c_casadi_vertsplit__8
+  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr IM')))
+
+casadi_vertsplit__8
+  :: IM -> Vector Int -> IO (Vector IM)
+casadi_vertsplit__8 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__8 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__9" c_casadi_vertsplit__9
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_vertsplit__9
+  :: MX -> IO (Vector MX)
+casadi_vertsplit__9 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__9 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__10" c_casadi_vertsplit__10
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CLLong -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_vertsplit__10
+  :: MX -> Int -> IO (Vector MX)
+casadi_vertsplit__10 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__10 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__11" c_casadi_vertsplit__11
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr MX')))
+
+casadi_vertsplit__11
+  :: MX -> Vector Int -> IO (Vector MX)
+casadi_vertsplit__11 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__11 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__12" c_casadi_vertsplit__12
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec (Ptr Sparsity')))
+
+casadi_vertsplit__12
+  :: Sparsity -> IO (Vector Sparsity)
+casadi_vertsplit__12 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__12 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__13" c_casadi_vertsplit__13
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CLLong -> IO (Ptr (StdVec (Ptr Sparsity')))
+
+casadi_vertsplit__13
+  :: Sparsity -> Int -> IO (Vector Sparsity)
+casadi_vertsplit__13 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__13 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "casadi_vertsplit__14" c_casadi_vertsplit__14
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec (Ptr Sparsity')))
+
+casadi_vertsplit__14
+  :: Sparsity -> Vector Int -> IO (Vector Sparsity)
+casadi_vertsplit__14 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi_vertsplit__14 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "collocation_interpolators" c_collocation_interpolators
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> Ptr (Ptr (StdVec (Ptr (StdVec CDouble)))) -> Ptr (Ptr (StdVec CDouble)) -> IO ()
+
+collocation_interpolators
+  :: Vector Double -> IO (Vector (Vector Double), Vector Double)
+collocation_interpolators x0 = do
+  x0' <- marshal x0
+  o1' <- new nullPtr
+  o2' <- new nullPtr
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_collocation_interpolators errStrPtrP x0' o1' o2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  o1'' <- peek o1'
+  free o1'
+  o1''' <- if o1'' == nullPtr then error "swig output o1' was not set in collocation_interpolators/c_collocation_interpolators" else wrapReturn o1''
+  o2'' <- peek o2'
+  free o2'
+  o2''' <- if o2'' == nullPtr then error "swig output o2' was not set in collocation_interpolators/c_collocation_interpolators" else wrapReturn o2''
+
+  return (o1''', o2''')
+
+
+
+foreign import ccall unsafe "collocation_points__0" c_collocation_points__0
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr (StdVec CDouble))
+
+collocation_points__0
+  :: Int -> IO (Vector Double)
+collocation_points__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_collocation_points__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "collocation_points__1" c_collocation_points__1
+  :: Ptr (Ptr StdString) -> CLLong -> Ptr StdString -> IO (Ptr (StdVec CDouble))
+
+collocation_points__1
+  :: Int -> String -> IO (Vector Double)
+collocation_points__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_collocation_points__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "complement" c_complement
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> CLLong -> IO (Ptr (StdVec CLLong))
+
+complement
+  :: Vector Int -> Int -> IO (Vector Int)
+complement x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_complement errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "conic__0" c_conic__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr Sparsity')) -> IO (Ptr Function')
+
+conic__0
+  :: String -> String -> M.Map String Sparsity -> IO Function
+conic__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_conic__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "conic__1" c_conic__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr Sparsity')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+conic__1
+  :: String -> String -> M.Map String Sparsity -> M.Map String GenericType -> IO Function
+conic__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_conic__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "conic_debug" c_conic_debug
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO ()
+
+conic_debug
+  :: Function -> String -> IO ()
+conic_debug x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_conic_debug errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+foreign import ccall unsafe "conic_in__0" c_conic_in__0
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr StdString)
+
+conic_in__0
+  :: Int -> IO String
+conic_in__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_conic_in__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "conic_in__1" c_conic_in__1
+  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
+
+conic_in__1
+  :: IO (Vector String)
+conic_in__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_conic_in__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "conic_n_in" c_conic_n_in
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+conic_n_in
+  :: IO Int
+conic_n_in  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_conic_n_in errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "conic_n_out" c_conic_n_out
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+conic_n_out
+  :: IO Int
+conic_n_out  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_conic_n_out errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "conic_option_info" c_conic_option_info
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> IO (Ptr StdString)
+
+conic_option_info
+  :: String -> String -> IO String
+conic_option_info x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_conic_option_info errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "conic_option_type" c_conic_option_type
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> IO (Ptr StdString)
+
+conic_option_type
+  :: String -> String -> IO String
+conic_option_type x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_conic_option_type errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "conic_options" c_conic_options
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr (StdVec (Ptr StdString)))
+
+conic_options
+  :: String -> IO (Vector String)
+conic_options x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_conic_options errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "conic_out__0" c_conic_out__0
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr StdString)
+
+conic_out__0
+  :: Int -> IO String
+conic_out__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_conic_out__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "conic_out__1" c_conic_out__1
+  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
+
+conic_out__1
+  :: IO (Vector String)
+conic_out__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_conic_out__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "doc_conic" c_doc_conic
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
+
+doc_conic
+  :: String -> IO String
+doc_conic x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_doc_conic errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "doc_dple" c_doc_dple
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
+
+doc_dple
+  :: String -> IO String
+doc_dple x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_doc_dple errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "doc_expm" c_doc_expm
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
+
+doc_expm
+  :: String -> IO String
+doc_expm x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_doc_expm errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "doc_integrator" c_doc_integrator
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
+
+doc_integrator
+  :: String -> IO String
+doc_integrator x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_doc_integrator errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "doc_interpolant" c_doc_interpolant
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
+
+doc_interpolant
+  :: String -> IO String
+doc_interpolant x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_doc_interpolant errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "doc_linsol" c_doc_linsol
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
+
+doc_linsol
+  :: String -> IO String
+doc_linsol x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_doc_linsol errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "doc_nlpsol" c_doc_nlpsol
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
+
+doc_nlpsol
+  :: String -> IO String
+doc_nlpsol x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_doc_nlpsol errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "doc_rootfinder" c_doc_rootfinder
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
+
+doc_rootfinder
+  :: String -> IO String
+doc_rootfinder x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_doc_rootfinder errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "dple_in__0" c_dple_in__0
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr StdString)
+
+dple_in__0
+  :: Int -> IO String
+dple_in__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_dple_in__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "dple_in__1" c_dple_in__1
+  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
+
+dple_in__1
+  :: IO (Vector String)
+dple_in__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_dple_in__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "dple_n_in" c_dple_n_in
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+dple_n_in
+  :: IO Int
+dple_n_in  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_dple_n_in errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "dple_n_out" c_dple_n_out
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+dple_n_out
+  :: IO Int
+dple_n_out  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_dple_n_out errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "dple_out__0" c_dple_out__0
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr StdString)
+
+dple_out__0
+  :: Int -> IO String
+dple_out__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_dple_out__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "dple_out__1" c_dple_out__1
+  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
+
+dple_out__1
+  :: IO (Vector String)
+dple_out__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_dple_out__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "dplesol__0" c_dplesol__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DM')))
+
+dplesol__0
+  :: Vector DM -> Vector DM -> String -> IO (Vector DM)
+dplesol__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_dplesol__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "dplesol__1" c_dplesol__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DM')) -> Ptr (StdVec (Ptr DM')) -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr (StdVec (Ptr DM')))
+
+dplesol__1
+  :: Vector DM -> Vector DM -> String -> M.Map String GenericType -> IO (Vector DM)
+dplesol__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_dplesol__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "dplesol__2" c_dplesol__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+
+dplesol__2
+  :: Vector MX -> Vector MX -> String -> IO (Vector MX)
+dplesol__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_dplesol__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "dplesol__3" c_dplesol__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr (StdVec (Ptr MX')))
+
+dplesol__3
+  :: Vector MX -> Vector MX -> String -> M.Map String GenericType -> IO (Vector MX)
+dplesol__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_dplesol__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "dplesol__4" c_dplesol__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
+
+dplesol__4
+  :: MX -> MX -> String -> IO MX
+dplesol__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_dplesol__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "dplesol__5" c_dplesol__5
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr MX')
+
+dplesol__5
+  :: MX -> MX -> String -> M.Map String GenericType -> IO MX
+dplesol__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_dplesol__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "dplesol__6" c_dplesol__6
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr Sparsity')) -> IO (Ptr Function')
+
+dplesol__6
+  :: String -> String -> M.Map String Sparsity -> IO Function
+dplesol__6 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_dplesol__6 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "dplesol__7" c_dplesol__7
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr Sparsity')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+dplesol__7
+  :: String -> String -> M.Map String Sparsity -> M.Map String GenericType -> IO Function
+dplesol__7 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_dplesol__7 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "expm_n_in" c_expm_n_in
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+expm_n_in
+  :: IO Int
+expm_n_in  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_expm_n_in errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "expm_n_out" c_expm_n_out
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+expm_n_out
+  :: IO Int
+expm_n_out  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_expm_n_out errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "expmsol__0" c_expmsol__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr Function')
+
+expmsol__0
+  :: String -> String -> Sparsity -> IO Function
+expmsol__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_expmsol__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "expmsol__1" c_expmsol__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Sparsity' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+expmsol__1
+  :: String -> String -> Sparsity -> M.Map String GenericType -> IO Function
+expmsol__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_expmsol__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "external__0" c_external__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Importer' -> IO (Ptr Function')
+
+external__0
+  :: String -> Importer -> IO Function
+external__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_external__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "external__1" c_external__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Importer' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+external__1
+  :: String -> Importer -> M.Map String GenericType -> IO Function
+external__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_external__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "external__2" c_external__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> IO (Ptr Function')
+
+external__2
+  :: String -> String -> IO Function
+external__2 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_external__2 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "external__3" c_external__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+external__3
+  :: String -> String -> M.Map String GenericType -> IO Function
+external__3 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_external__3 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "external__4" c_external__4
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr Function')
+
+external__4
+  :: String -> IO Function
+external__4 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_external__4 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "external__5" c_external__5
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+external__5
+  :: String -> M.Map String GenericType -> IO Function
+external__5 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_external__5 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "has_conic" c_has_conic
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+
+has_conic
+  :: String -> IO Bool
+has_conic x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_has_conic errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "has_dple" c_has_dple
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+
+has_dple
+  :: String -> IO Bool
+has_dple x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_has_dple errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "has_expm" c_has_expm
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+
+has_expm
+  :: String -> IO Bool
+has_expm x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_has_expm errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "has_integrator" c_has_integrator
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+
+has_integrator
+  :: String -> IO Bool
+has_integrator x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_has_integrator errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "has_interpolant" c_has_interpolant
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+
+has_interpolant
+  :: String -> IO Bool
+has_interpolant x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_has_interpolant errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "has_linsol" c_has_linsol
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+
+has_linsol
+  :: String -> IO Bool
+has_linsol x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_has_linsol errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "has_nlpsol" c_has_nlpsol
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+
+has_nlpsol
+  :: String -> IO Bool
+has_nlpsol x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_has_nlpsol errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "has_rootfinder" c_has_rootfinder
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+
+has_rootfinder
+  :: String -> IO Bool
+has_rootfinder x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_has_rootfinder errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "hash_combine" c_hash_combine
+  :: Ptr (Ptr StdString) -> CSize -> Ptr (StdVec CLLong) -> IO ()
+
+hash_combine
+  :: CSize -> Vector Int -> IO ()
+hash_combine x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_hash_combine errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ()
+
+
+
+foreign import ccall unsafe "hash_sparsity" c_hash_sparsity
+  :: Ptr (Ptr StdString) -> CLLong -> CLLong -> Ptr (StdVec CLLong) -> Ptr (StdVec CLLong) -> IO CSize
+
+hash_sparsity
+  :: Int -> Int -> Vector Int -> Vector Int -> IO CSize
+hash_sparsity x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_hash_sparsity errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "index_interp1d__0" c_index_interp1d__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> CDouble -> IO CDouble
+
+index_interp1d__0
+  :: Vector Double -> Double -> IO Double
+index_interp1d__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_index_interp1d__0 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "index_interp1d__1" c_index_interp1d__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> CDouble -> CInt -> IO CDouble
+
+index_interp1d__1
+  :: Vector Double -> Double -> Bool -> IO Double
+index_interp1d__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_index_interp1d__1 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "integrator__0" c_integrator__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> IO (Ptr Function')
+
+integrator__0
+  :: String -> String -> M.Map String MX -> IO Function
+integrator__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_integrator__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "integrator__1" c_integrator__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+integrator__1
+  :: String -> String -> M.Map String MX -> M.Map String GenericType -> IO Function
+integrator__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_integrator__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "integrator__2" c_integrator__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> IO (Ptr Function')
+
+integrator__2
+  :: String -> String -> M.Map String SX -> IO Function
+integrator__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_integrator__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "integrator__3" c_integrator__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+integrator__3
+  :: String -> String -> M.Map String SX -> M.Map String GenericType -> IO Function
+integrator__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_integrator__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "integrator_in__0" c_integrator_in__0
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr StdString)
+
+integrator_in__0
+  :: Int -> IO String
+integrator_in__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_integrator_in__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "integrator_in__1" c_integrator_in__1
+  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
+
+integrator_in__1
+  :: IO (Vector String)
+integrator_in__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_integrator_in__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "integrator_n_in" c_integrator_n_in
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+integrator_n_in
+  :: IO Int
+integrator_n_in  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_integrator_n_in errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "integrator_n_out" c_integrator_n_out
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+integrator_n_out
+  :: IO Int
+integrator_n_out  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_integrator_n_out errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "integrator_out__0" c_integrator_out__0
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr StdString)
+
+integrator_out__0
+  :: Int -> IO String
+integrator_out__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_integrator_out__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "integrator_out__1" c_integrator_out__1
+  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
+
+integrator_out__1
+  :: IO (Vector String)
+integrator_out__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_integrator_out__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "interpolant__0" c_interpolant__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdVec (Ptr (StdVec CDouble))) -> Ptr (StdVec CDouble) -> IO (Ptr Function')
+
+interpolant__0
+  :: String -> String -> Vector (Vector Double) -> Vector Double -> IO Function
+interpolant__0 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_interpolant__0 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "interpolant__1" c_interpolant__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdVec (Ptr (StdVec CDouble))) -> Ptr (StdVec CDouble) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+interpolant__1
+  :: String -> String -> Vector (Vector Double) -> Vector Double -> M.Map String GenericType -> IO Function
+interpolant__1 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_interpolant__1 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+foreign import ccall unsafe "is_slice__0" c_is_slice__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO CInt
+
+is_slice__0
+  :: IM -> IO Bool
+is_slice__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_is_slice__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "is_slice__1" c_is_slice__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO CInt
+
+is_slice__1
+  :: IM -> Bool -> IO Bool
+is_slice__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_is_slice__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "is_slice__2" c_is_slice__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> IO CInt
+
+is_slice__2
+  :: Vector Int -> IO Bool
+is_slice__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_is_slice__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "is_slice__3" c_is_slice__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> CInt -> IO CInt
+
+is_slice__3
+  :: Vector Int -> Bool -> IO Bool
+is_slice__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_is_slice__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "is_slice2" c_is_slice2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> IO CInt
+
+is_slice2
+  :: Vector Int -> IO Bool
+is_slice2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_is_slice2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "load_conic" c_load_conic
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
+
+load_conic
+  :: String -> IO ()
+load_conic x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_load_conic errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+foreign import ccall unsafe "load_dple" c_load_dple
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
+
+load_dple
+  :: String -> IO ()
+load_dple x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_load_dple errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+foreign import ccall unsafe "load_expm" c_load_expm
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
+
+load_expm
+  :: String -> IO ()
+load_expm x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_load_expm errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+foreign import ccall unsafe "load_integrator" c_load_integrator
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
+
+load_integrator
+  :: String -> IO ()
+load_integrator x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_load_integrator errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+foreign import ccall unsafe "load_interpolant" c_load_interpolant
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
+
+load_interpolant
+  :: String -> IO ()
+load_interpolant x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_load_interpolant errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+foreign import ccall unsafe "load_linsol" c_load_linsol
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
+
+load_linsol
+  :: String -> IO ()
+load_linsol x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_load_linsol errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+foreign import ccall unsafe "load_nlpsol" c_load_nlpsol
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
+
+load_nlpsol
+  :: String -> IO ()
+load_nlpsol x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_load_nlpsol errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+foreign import ccall unsafe "load_rootfinder" c_load_rootfinder
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
+
+load_rootfinder
+  :: String -> IO ()
+load_rootfinder x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_load_rootfinder errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+foreign import ccall unsafe "lookupvector__0" c_lookupvector__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> IO (Ptr (StdVec CLLong))
+
+lookupvector__0
+  :: Vector Int -> IO (Vector Int)
+lookupvector__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_lookupvector__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "lookupvector__1" c_lookupvector__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> CLLong -> IO (Ptr (StdVec CLLong))
+
+lookupvector__1
+  :: Vector Int -> Int -> IO (Vector Int)
+lookupvector__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_lookupvector__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol__0" c_nlpsol__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr NlpBuilder' -> IO (Ptr Function')
+
+nlpsol__0
+  :: String -> String -> NlpBuilder -> IO Function
+nlpsol__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol__1" c_nlpsol__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr NlpBuilder' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+nlpsol__1
+  :: String -> String -> NlpBuilder -> M.Map String GenericType -> IO Function
+nlpsol__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol__2" c_nlpsol__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Importer' -> IO (Ptr Function')
+
+nlpsol__2
+  :: String -> String -> Importer -> IO Function
+nlpsol__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol__3" c_nlpsol__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Importer' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+nlpsol__3
+  :: String -> String -> Importer -> M.Map String GenericType -> IO Function
+nlpsol__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol__4" c_nlpsol__4
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr Function')
+
+nlpsol__4
+  :: String -> String -> String -> IO Function
+nlpsol__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol__5" c_nlpsol__5
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+nlpsol__5
+  :: String -> String -> String -> M.Map String GenericType -> IO Function
+nlpsol__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol__6" c_nlpsol__6
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> IO (Ptr Function')
+
+nlpsol__6
+  :: String -> String -> M.Map String MX -> IO Function
+nlpsol__6 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol__6 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol__7" c_nlpsol__7
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+nlpsol__7
+  :: String -> String -> M.Map String MX -> M.Map String GenericType -> IO Function
+nlpsol__7 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol__7 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol__8" c_nlpsol__8
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> IO (Ptr Function')
+
+nlpsol__8
+  :: String -> String -> M.Map String SX -> IO Function
+nlpsol__8 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol__8 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol__9" c_nlpsol__9
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+nlpsol__9
+  :: String -> String -> M.Map String SX -> M.Map String GenericType -> IO Function
+nlpsol__9 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol__9 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol_default_in__0" c_nlpsol_default_in__0
+  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec CDouble))
+
+nlpsol_default_in__0
+  :: IO (Vector Double)
+nlpsol_default_in__0  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol_default_in__0 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol_default_in__1" c_nlpsol_default_in__1
+  :: Ptr (Ptr StdString) -> CLLong -> IO CDouble
+
+nlpsol_default_in__1
+  :: Int -> IO Double
+nlpsol_default_in__1 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol_default_in__1 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol_in__0" c_nlpsol_in__0
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr StdString)
+
+nlpsol_in__0
+  :: Int -> IO String
+nlpsol_in__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol_in__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol_in__1" c_nlpsol_in__1
+  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
+
+nlpsol_in__1
+  :: IO (Vector String)
+nlpsol_in__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol_in__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol_n_in" c_nlpsol_n_in
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+nlpsol_n_in
+  :: IO Int
+nlpsol_n_in  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol_n_in errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol_n_out" c_nlpsol_n_out
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+nlpsol_n_out
+  :: IO Int
+nlpsol_n_out  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol_n_out errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol_option_info" c_nlpsol_option_info
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> IO (Ptr StdString)
+
+nlpsol_option_info
+  :: String -> String -> IO String
+nlpsol_option_info x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol_option_info errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol_option_type" c_nlpsol_option_type
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> IO (Ptr StdString)
+
+nlpsol_option_type
+  :: String -> String -> IO String
+nlpsol_option_type x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol_option_type errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol_options" c_nlpsol_options
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr (StdVec (Ptr StdString)))
+
+nlpsol_options
+  :: String -> IO (Vector String)
+nlpsol_options x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol_options errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol_out__0" c_nlpsol_out__0
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr StdString)
+
+nlpsol_out__0
+  :: Int -> IO String
+nlpsol_out__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol_out__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "nlpsol_out__1" c_nlpsol_out__1
+  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
+
+nlpsol_out__1
+  :: IO (Vector String)
+nlpsol_out__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_nlpsol_out__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "qpsol__0" c_qpsol__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> IO (Ptr Function')
+
+qpsol__0
+  :: String -> String -> M.Map String MX -> IO Function
+qpsol__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_qpsol__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "qpsol__1" c_qpsol__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+qpsol__1
+  :: String -> String -> M.Map String MX -> M.Map String GenericType -> IO Function
+qpsol__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_qpsol__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "qpsol__2" c_qpsol__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> IO (Ptr Function')
+
+qpsol__2
+  :: String -> String -> M.Map String SX -> IO Function
+qpsol__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_qpsol__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "qpsol__3" c_qpsol__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+qpsol__3
+  :: String -> String -> M.Map String SX -> M.Map String GenericType -> IO Function
+qpsol__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_qpsol__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder__0" c_rootfinder__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Function' -> IO (Ptr Function')
+
+rootfinder__0
+  :: String -> String -> Function -> IO Function
+rootfinder__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder__0 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder__1" c_rootfinder__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Function' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+rootfinder__1
+  :: String -> String -> Function -> M.Map String GenericType -> IO Function
+rootfinder__1 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder__1 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder__2" c_rootfinder__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> IO (Ptr Function')
+
+rootfinder__2
+  :: String -> String -> M.Map String MX -> IO Function
+rootfinder__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder__3" c_rootfinder__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+rootfinder__3
+  :: String -> String -> M.Map String MX -> M.Map String GenericType -> IO Function
+rootfinder__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder__4" c_rootfinder__4
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> IO (Ptr Function')
+
+rootfinder__4
+  :: String -> String -> M.Map String SX -> IO Function
+rootfinder__4 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder__4 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder__5" c_rootfinder__5
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+rootfinder__5
+  :: String -> String -> M.Map String SX -> M.Map String GenericType -> IO Function
+rootfinder__5 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder__5 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder_in__0" c_rootfinder_in__0
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr StdString)
+
+rootfinder_in__0
+  :: Int -> IO String
+rootfinder_in__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder_in__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder_in__1" c_rootfinder_in__1
+  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
+
+rootfinder_in__1
+  :: IO (Vector String)
+rootfinder_in__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder_in__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder_n_in" c_rootfinder_n_in
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+rootfinder_n_in
+  :: IO Int
+rootfinder_n_in  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder_n_in errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder_n_out" c_rootfinder_n_out
+  :: Ptr (Ptr StdString) -> IO CLLong
+
+rootfinder_n_out
+  :: IO Int
+rootfinder_n_out  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder_n_out errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder_option_info" c_rootfinder_option_info
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> IO (Ptr StdString)
+
+rootfinder_option_info
+  :: String -> String -> IO String
+rootfinder_option_info x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder_option_info errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder_option_type" c_rootfinder_option_type
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> IO (Ptr StdString)
+
+rootfinder_option_type
+  :: String -> String -> IO String
+rootfinder_option_type x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder_option_type errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder_options" c_rootfinder_options
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr (StdVec (Ptr StdString)))
+
+rootfinder_options
+  :: String -> IO (Vector String)
+rootfinder_options x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder_options errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder_out__0" c_rootfinder_out__0
+  :: Ptr (Ptr StdString) -> CLLong -> IO (Ptr StdString)
+
+rootfinder_out__0
+  :: Int -> IO String
+rootfinder_out__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder_out__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "rootfinder_out__1" c_rootfinder_out__1
+  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
+
+rootfinder_out__1
+  :: IO (Vector String)
+rootfinder_out__1  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_rootfinder_out__1 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+foreign import ccall unsafe "simpleIRK__0" c_simpleIRK__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
+
+simpleIRK__0
+  :: Function -> IO Function
+simpleIRK__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_simpleIRK__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "simpleIRK__1" c_simpleIRK__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr Function')
+
+simpleIRK__1
+  :: Function -> Int -> IO Function
+simpleIRK__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_simpleIRK__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "simpleIRK__2" c_simpleIRK__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> CLLong -> IO (Ptr Function')
+
+simpleIRK__2
+  :: Function -> Int -> Int -> IO Function
+simpleIRK__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_simpleIRK__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "simpleIRK__3" c_simpleIRK__3
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> CLLong -> Ptr StdString -> IO (Ptr Function')
+
+simpleIRK__3
+  :: Function -> Int -> Int -> String -> IO Function
+simpleIRK__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_simpleIRK__3 errStrPtrP x0' x1' x2' x3'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+
+  return ret
+
+
+
+foreign import ccall unsafe "simpleIRK__4" c_simpleIRK__4
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> CLLong -> Ptr StdString -> Ptr StdString -> IO (Ptr Function')
+
+simpleIRK__4
+  :: Function -> Int -> Int -> String -> String -> IO Function
+simpleIRK__4 x0 x1 x2 x3 x4 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_simpleIRK__4 errStrPtrP x0' x1' x2' x3' x4'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+
+  return ret
+
+
+
+foreign import ccall unsafe "simpleIRK__5" c_simpleIRK__5
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> CLLong -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+simpleIRK__5
+  :: Function -> Int -> Int -> String -> String -> M.Map String GenericType -> IO Function
+simpleIRK__5 x0 x1 x2 x3 x4 x5 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+  x4' <- marshal x4
+  x5' <- marshal x5
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_simpleIRK__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+  marshalFree x3 x3'
+  marshalFree x4 x4'
+  marshalFree x5 x5'
+
+  return ret
+
+
+
+foreign import ccall unsafe "simpleIntegrator__0" c_simpleIntegrator__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
+
+simpleIntegrator__0
+  :: Function -> IO Function
+simpleIntegrator__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_simpleIntegrator__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "simpleIntegrator__1" c_simpleIntegrator__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
+
+simpleIntegrator__1
+  :: Function -> String -> IO Function
+simpleIntegrator__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_simpleIntegrator__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "simpleIntegrator__2" c_simpleIntegrator__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
+
+simpleIntegrator__2
+  :: Function -> String -> M.Map String GenericType -> IO Function
+simpleIntegrator__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_simpleIntegrator__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "simpleRK__0" c_simpleRK__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
+
+simpleRK__0
+  :: Function -> IO Function
+simpleRK__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_simpleRK__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "simpleRK__1" c_simpleRK__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> IO (Ptr Function')
+
+simpleRK__1
+  :: Function -> Int -> IO Function
+simpleRK__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_simpleRK__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "simpleRK__2" c_simpleRK__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CLLong -> CLLong -> IO (Ptr Function')
+
+simpleRK__2
+  :: Function -> Int -> Int -> IO Function
+simpleRK__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_simpleRK__2 errStrPtrP x0' x1' x2'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+  marshalFree x2 x2'
+
+  return ret
+
+
+
+foreign import ccall unsafe "temporary_file" c_temporary_file
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> IO (Ptr StdString)
+
+temporary_file
+  :: String -> String -> IO String
+temporary_file x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_temporary_file errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "to_slice__0" c_to_slice__0
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr Slice')
+
+to_slice__0
+  :: IM -> IO Slice
+to_slice__0 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_to_slice__0 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "to_slice__1" c_to_slice__1
+  :: Ptr (Ptr StdString) -> Ptr IM' -> CInt -> IO (Ptr Slice')
+
+to_slice__1
+  :: IM -> Bool -> IO Slice
+to_slice__1 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_to_slice__1 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "to_slice__2" c_to_slice__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> IO (Ptr Slice')
+
+to_slice__2
+  :: Vector Int -> IO Slice
+to_slice__2 x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_to_slice__2 errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+foreign import ccall unsafe "to_slice__3" c_to_slice__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> CInt -> IO (Ptr Slice')
+
+to_slice__3
+  :: Vector Int -> Bool -> IO Slice
+to_slice__3 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_to_slice__3 errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+foreign import ccall unsafe "to_slice2" c_to_slice2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CLLong) -> IO (Ptr (StdPair (Ptr Slice') (Ptr Slice')))
 
 to_slice2
   :: Vector Int -> IO (Slice, Slice)
diff --git a/casadi-bindings-core.cabal b/casadi-bindings-core.cabal
--- a/casadi-bindings-core.cabal
+++ b/casadi-bindings-core.cabal
@@ -1,9 +1,9 @@
 name:                casadi-bindings-core
-version:             3.1.0.0
+version:             3.4.5.0
 license:             LGPL-3
 license-file:        LICENSE
 category:            Numerical, Math
-copyright:           (c) 2013-2016 Greg Horn
+copyright:           (c) 2013-2018 Greg Horn
 author:              Greg Horn
 maintainer:          gregmainland@gmail.com
 build-type:          Simple
@@ -16,7 +16,7 @@
   build-depends:       base >=4.6 && <5,
                        vector >=0.10,
                        containers >= 0.5,
-                       casadi-bindings-internal == 0.1.5.0
+                       casadi-bindings-internal == 0.1.6.1
 
   default-language:    Haskell2010
 
@@ -47,10 +47,18 @@
                     Casadi.Core.Classes.GlobalOptions
                     Casadi.Core.Classes.IM
                     Casadi.Core.Classes.Importer
+                    Casadi.Core.Classes.IndexAbstraction
                     Casadi.Core.Classes.Linsol
                     Casadi.Core.Classes.MX
                     Casadi.Core.Classes.MatrixCommon
+                    Casadi.Core.Classes.MetaCon
+                    Casadi.Core.Classes.MetaVar
                     Casadi.Core.Classes.NlpBuilder
+                    Casadi.Core.Classes.Opti
+                    Casadi.Core.Classes.OptiAdvanced
+                    Casadi.Core.Classes.OptiCallback
+                    Casadi.Core.Classes.OptiSol
+                    Casadi.Core.Classes.PrintableCommon
                     Casadi.Core.Classes.SX
                     Casadi.Core.Classes.SXElem
                     Casadi.Core.Classes.SharedObject
@@ -58,4 +66,5 @@
                     Casadi.Core.Classes.Sparsity
                     Casadi.Core.Classes.SparsityInterfaceCommon
                     Casadi.Core.Classes.Variable
+                    Casadi.Core.Classes.WeakRef
                     Casadi.Core.Classes.XmlFile
diff --git a/cbits/autogen/casadi_wrap_classes.cpp b/cbits/autogen/casadi_wrap_classes.cpp
--- a/cbits/autogen/casadi_wrap_classes.cpp
+++ b/cbits/autogen/casadi_wrap_classes.cpp
@@ -2,43157 +2,43495 @@
 #include <casadi/core/casadi_interrupt.hpp>
 #include <cmath>
 #include <stdexcept>
-#include "../marshal.hpp"
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "Callback")===============
-// classType: UserType (Namespace ["casadi"]) (Name "Callback")
-extern "C"
-void delete_casadi__Callback(casadi::Callback* obj);
-void delete_casadi__Callback(casadi::Callback* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback"
-// cWrapperName: "casadi__Callback__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Callback")
-// cWrapperRetType: "casadi::Callback*"
-// proto: "casadi::Callback*\n    casadi__Callback__CONSTRUCTOR__0(std::string ** err_msg, casadi::Callback* x0)"
-// call: "        casadi::Callback* ret = (casadi::Callback*)new casadi::Callback(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Callback"))),SwigOutput False)]
-extern "C"
-casadi::Callback*
-    casadi__Callback__CONSTRUCTOR__0(std::string ** err_msg, casadi::Callback* x0);
-casadi::Callback*
-    casadi__Callback__CONSTRUCTOR__0(std::string ** err_msg, casadi::Callback* x0){
-    try {
-        casadi::Callback& x0_ = Marshaling<casadi::Callback&,casadi::Callback*>::marshal(x0);
-
-        casadi::Callback* ret = (casadi::Callback*)new casadi::Callback(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback"
-// cWrapperName: "casadi__Callback__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Callback")
-// cWrapperRetType: "casadi::Callback*"
-// proto: "casadi::Callback*\n    casadi__Callback__CONSTRUCTOR__1(std::string ** err_msg)"
-// call: "        casadi::Callback* ret = (casadi::Callback*)new casadi::Callback();"
-// params: []
-extern "C"
-casadi::Callback*
-    casadi__Callback__CONSTRUCTOR__1(std::string ** err_msg);
-casadi::Callback*
-    casadi__Callback__CONSTRUCTOR__1(std::string ** err_msg){
-    try {
-
-        casadi::Callback* ret = (casadi::Callback*)new casadi::Callback();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "construct" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::construct"
-// cWrapperName: "casadi__Callback__construct__0"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Callback__construct__0(std::string ** err_msg, casadi::Callback* obj, std::string* x0)"
-// call: "        obj->construct(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Callback__construct__0(std::string ** err_msg, casadi::Callback* obj, std::string* x0);
-void
-    casadi__Callback__construct__0(std::string ** err_msg, casadi::Callback* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        obj->construct(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "construct" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::construct"
-// cWrapperName: "casadi__Callback__construct__1"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Callback__construct__1(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// call: "        obj->construct(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-void
-    casadi__Callback__construct__1(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
-void
-    casadi__Callback__construct__1(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
-
-        obj->construct(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "eval" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::eval"
-// cWrapperName: "casadi__Callback__eval"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::vector< casadi::DM* >* x0)"
-// args: "(x0_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi__Callback__eval(std::string ** err_msg, casadi::Callback* obj, std::vector< casadi::DM* >* x0)"
-// call: "        std::vector< casadi::DM > ret = obj->eval(x0_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
-extern "C"
-std::vector< casadi::DM* >*
-    casadi__Callback__eval(std::string ** err_msg, casadi::Callback* obj, std::vector< casadi::DM* >* x0);
-std::vector< casadi::DM* >*
-    casadi__Callback__eval(std::string ** err_msg, casadi::Callback* obj, std::vector< casadi::DM* >* x0){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-
-        std::vector< casadi::DM > ret = obj->eval(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "finalize" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::finalize"
-// cWrapperName: "casadi__Callback__finalize"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Callback__finalize(std::string ** err_msg, casadi::Callback* obj)"
-// call: "        obj->finalize();"
-// params: []
-extern "C"
-void
-    casadi__Callback__finalize(std::string ** err_msg, casadi::Callback* obj);
-void
-    casadi__Callback__finalize(std::string ** err_msg, casadi::Callback* obj){
-    try {
-
-        obj->finalize();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get_forward" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::get_forward"
-// cWrapperName: "casadi__Callback__get_forward"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Callback__get_forward(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2)"
-// call: "        casadi::Function ret = obj->get_forward(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Callback__get_forward(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::Function*
-    casadi__Callback__get_forward(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
-
-        casadi::Function ret = obj->get_forward(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_forward_new" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::get_forward_new"
-// cWrapperName: "casadi__Callback__get_forward_new"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Callback__get_forward_new(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// call: "        casadi::Function ret = obj->get_forward_new(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Callback__get_forward_new(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
-casadi::Function*
-    casadi__Callback__get_forward_new(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
-        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
-        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
-
-        casadi::Function ret = obj->get_forward_new(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_jacobian" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::get_jacobian"
-// cWrapperName: "casadi__Callback__get_jacobian"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Callback__get_jacobian(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// call: "        casadi::Function ret = obj->get_jacobian(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Callback__get_jacobian(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
-casadi::Function*
-    casadi__Callback__get_jacobian(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
-
-        casadi::Function ret = obj->get_jacobian(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_n_forward" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::get_n_forward"
-// cWrapperName: "casadi__Callback__get_n_forward"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Callback__get_n_forward(std::string ** err_msg, casadi::Callback* obj)"
-// call: "        int ret = obj->get_n_forward();"
-// params: []
-extern "C"
-int
-    casadi__Callback__get_n_forward(std::string ** err_msg, casadi::Callback* obj);
-int
-    casadi__Callback__get_n_forward(std::string ** err_msg, casadi::Callback* obj){
-    try {
-
-        int ret = obj->get_n_forward();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_n_in" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::get_n_in"
-// cWrapperName: "casadi__Callback__get_n_in"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Callback__get_n_in(std::string ** err_msg, casadi::Callback* obj)"
-// call: "        int ret = obj->get_n_in();"
-// params: []
-extern "C"
-int
-    casadi__Callback__get_n_in(std::string ** err_msg, casadi::Callback* obj);
-int
-    casadi__Callback__get_n_in(std::string ** err_msg, casadi::Callback* obj){
-    try {
-
-        int ret = obj->get_n_in();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_n_out" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::get_n_out"
-// cWrapperName: "casadi__Callback__get_n_out"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Callback__get_n_out(std::string ** err_msg, casadi::Callback* obj)"
-// call: "        int ret = obj->get_n_out();"
-// params: []
-extern "C"
-int
-    casadi__Callback__get_n_out(std::string ** err_msg, casadi::Callback* obj);
-int
-    casadi__Callback__get_n_out(std::string ** err_msg, casadi::Callback* obj){
-    try {
-
-        int ret = obj->get_n_out();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_n_reverse" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::get_n_reverse"
-// cWrapperName: "casadi__Callback__get_n_reverse"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Callback__get_n_reverse(std::string ** err_msg, casadi::Callback* obj)"
-// call: "        int ret = obj->get_n_reverse();"
-// params: []
-extern "C"
-int
-    casadi__Callback__get_n_reverse(std::string ** err_msg, casadi::Callback* obj);
-int
-    casadi__Callback__get_n_reverse(std::string ** err_msg, casadi::Callback* obj){
-    try {
-
-        int ret = obj->get_n_reverse();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_name_in" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::get_name_in"
-// cWrapperName: "casadi__Callback__get_name_in"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, int x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Callback__get_name_in(std::string ** err_msg, casadi::Callback* obj, int x0)"
-// call: "        std::string ret = obj->get_name_in(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Callback__get_name_in(std::string ** err_msg, casadi::Callback* obj, int x0);
-std::string*
-    casadi__Callback__get_name_in(std::string ** err_msg, casadi::Callback* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = obj->get_name_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_name_out" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::get_name_out"
-// cWrapperName: "casadi__Callback__get_name_out"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, int x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Callback__get_name_out(std::string ** err_msg, casadi::Callback* obj, int x0)"
-// call: "        std::string ret = obj->get_name_out(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Callback__get_name_out(std::string ** err_msg, casadi::Callback* obj, int x0);
-std::string*
-    casadi__Callback__get_name_out(std::string ** err_msg, casadi::Callback* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = obj->get_name_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_reverse" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::get_reverse"
-// cWrapperName: "casadi__Callback__get_reverse"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Callback__get_reverse(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2)"
-// call: "        casadi::Function ret = obj->get_reverse(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Callback__get_reverse(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::Function*
-    casadi__Callback__get_reverse(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
-
-        casadi::Function ret = obj->get_reverse(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_reverse_new" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::get_reverse_new"
-// cWrapperName: "casadi__Callback__get_reverse_new"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Callback__get_reverse_new(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// call: "        casadi::Function ret = obj->get_reverse_new(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Callback__get_reverse_new(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
-casadi::Function*
-    casadi__Callback__get_reverse_new(std::string ** err_msg, casadi::Callback* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
-        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
-        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
-
-        casadi::Function ret = obj->get_reverse_new(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_sparsity_in" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::get_sparsity_in"
-// cWrapperName: "casadi__Callback__get_sparsity_in"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Callback__get_sparsity_in(std::string ** err_msg, casadi::Callback* obj, int x0)"
-// call: "        casadi::Sparsity ret = obj->get_sparsity_in(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Callback__get_sparsity_in(std::string ** err_msg, casadi::Callback* obj, int x0);
-casadi::Sparsity*
-    casadi__Callback__get_sparsity_in(std::string ** err_msg, casadi::Callback* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Sparsity ret = obj->get_sparsity_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_sparsity_out" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::get_sparsity_out"
-// cWrapperName: "casadi__Callback__get_sparsity_out"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Callback__get_sparsity_out(std::string ** err_msg, casadi::Callback* obj, int x0)"
-// call: "        casadi::Sparsity ret = obj->get_sparsity_out(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Callback__get_sparsity_out(std::string ** err_msg, casadi::Callback* obj, int x0);
-casadi::Sparsity*
-    casadi__Callback__get_sparsity_out(std::string ** err_msg, casadi::Callback* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Sparsity ret = obj->get_sparsity_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_jacobian" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::has_jacobian"
-// cWrapperName: "casadi__Callback__has_jacobian"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Callback__has_jacobian(std::string ** err_msg, casadi::Callback* obj)"
-// call: "        bool ret = obj->has_jacobian();"
-// params: []
-extern "C"
-int
-    casadi__Callback__has_jacobian(std::string ** err_msg, casadi::Callback* obj);
-int
-    casadi__Callback__has_jacobian(std::string ** err_msg, casadi::Callback* obj){
-    try {
-
-        bool ret = obj->has_jacobian();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "init" ===============
-// class: "casadi::Callback"
-// cppName: "casadi::Callback::init"
-// cWrapperName: "casadi__Callback__init"
-// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Callback__init(std::string ** err_msg, casadi::Callback* obj)"
-// call: "        obj->init();"
-// params: []
-extern "C"
-void
-    casadi__Callback__init(std::string ** err_msg, casadi::Callback* obj);
-void
-    casadi__Callback__init(std::string ** err_msg, casadi::Callback* obj){
-    try {
-
-        obj->init();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "CasadiMeta")===============
-// classType: UserType (Namespace ["casadi"]) (Name "CasadiMeta")
-extern "C"
-void delete_casadi__CasadiMeta(casadi::CasadiMeta* obj);
-void delete_casadi__CasadiMeta(casadi::CasadiMeta* obj){
-    delete obj;
-}
-
-// ================== Static method: "getBuildType" ===============
-// class: "casadi::CasadiMeta"
-// cppName: "casadi::CasadiMeta::getBuildType"
-// cWrapperName: "casadi__CasadiMeta__getBuildType"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CasadiMeta__getBuildType(std::string ** err_msg)"
-// call: "        std::string ret = casadi::CasadiMeta::getBuildType();"
-// params: []
-extern "C"
-std::string*
-    casadi__CasadiMeta__getBuildType(std::string ** err_msg);
-std::string*
-    casadi__CasadiMeta__getBuildType(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::CasadiMeta::getBuildType();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "getCompiler" ===============
-// class: "casadi::CasadiMeta"
-// cppName: "casadi::CasadiMeta::getCompiler"
-// cWrapperName: "casadi__CasadiMeta__getCompiler"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CasadiMeta__getCompiler(std::string ** err_msg)"
-// call: "        std::string ret = casadi::CasadiMeta::getCompiler();"
-// params: []
-extern "C"
-std::string*
-    casadi__CasadiMeta__getCompiler(std::string ** err_msg);
-std::string*
-    casadi__CasadiMeta__getCompiler(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::CasadiMeta::getCompiler();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "getCompilerFlags" ===============
-// class: "casadi::CasadiMeta"
-// cppName: "casadi::CasadiMeta::getCompilerFlags"
-// cWrapperName: "casadi__CasadiMeta__getCompilerFlags"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CasadiMeta__getCompilerFlags(std::string ** err_msg)"
-// call: "        std::string ret = casadi::CasadiMeta::getCompilerFlags();"
-// params: []
-extern "C"
-std::string*
-    casadi__CasadiMeta__getCompilerFlags(std::string ** err_msg);
-std::string*
-    casadi__CasadiMeta__getCompilerFlags(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::CasadiMeta::getCompilerFlags();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "getCompilerId" ===============
-// class: "casadi::CasadiMeta"
-// cppName: "casadi::CasadiMeta::getCompilerId"
-// cWrapperName: "casadi__CasadiMeta__getCompilerId"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CasadiMeta__getCompilerId(std::string ** err_msg)"
-// call: "        std::string ret = casadi::CasadiMeta::getCompilerId();"
-// params: []
-extern "C"
-std::string*
-    casadi__CasadiMeta__getCompilerId(std::string ** err_msg);
-std::string*
-    casadi__CasadiMeta__getCompilerId(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::CasadiMeta::getCompilerId();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "getFeatureList" ===============
-// class: "casadi::CasadiMeta"
-// cppName: "casadi::CasadiMeta::getFeatureList"
-// cWrapperName: "casadi__CasadiMeta__getFeatureList"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CasadiMeta__getFeatureList(std::string ** err_msg)"
-// call: "        std::string ret = casadi::CasadiMeta::getFeatureList();"
-// params: []
-extern "C"
-std::string*
-    casadi__CasadiMeta__getFeatureList(std::string ** err_msg);
-std::string*
-    casadi__CasadiMeta__getFeatureList(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::CasadiMeta::getFeatureList();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "getGitDescribe" ===============
-// class: "casadi::CasadiMeta"
-// cppName: "casadi::CasadiMeta::getGitDescribe"
-// cWrapperName: "casadi__CasadiMeta__getGitDescribe"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CasadiMeta__getGitDescribe(std::string ** err_msg)"
-// call: "        std::string ret = casadi::CasadiMeta::getGitDescribe();"
-// params: []
-extern "C"
-std::string*
-    casadi__CasadiMeta__getGitDescribe(std::string ** err_msg);
-std::string*
-    casadi__CasadiMeta__getGitDescribe(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::CasadiMeta::getGitDescribe();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "getGitRevision" ===============
-// class: "casadi::CasadiMeta"
-// cppName: "casadi::CasadiMeta::getGitRevision"
-// cWrapperName: "casadi__CasadiMeta__getGitRevision"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CasadiMeta__getGitRevision(std::string ** err_msg)"
-// call: "        std::string ret = casadi::CasadiMeta::getGitRevision();"
-// params: []
-extern "C"
-std::string*
-    casadi__CasadiMeta__getGitRevision(std::string ** err_msg);
-std::string*
-    casadi__CasadiMeta__getGitRevision(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::CasadiMeta::getGitRevision();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "getInstallPrefix" ===============
-// class: "casadi::CasadiMeta"
-// cppName: "casadi::CasadiMeta::getInstallPrefix"
-// cWrapperName: "casadi__CasadiMeta__getInstallPrefix"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CasadiMeta__getInstallPrefix(std::string ** err_msg)"
-// call: "        std::string ret = casadi::CasadiMeta::getInstallPrefix();"
-// params: []
-extern "C"
-std::string*
-    casadi__CasadiMeta__getInstallPrefix(std::string ** err_msg);
-std::string*
-    casadi__CasadiMeta__getInstallPrefix(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::CasadiMeta::getInstallPrefix();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "getModules" ===============
-// class: "casadi::CasadiMeta"
-// cppName: "casadi::CasadiMeta::getModules"
-// cWrapperName: "casadi__CasadiMeta__getModules"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CasadiMeta__getModules(std::string ** err_msg)"
-// call: "        std::string ret = casadi::CasadiMeta::getModules();"
-// params: []
-extern "C"
-std::string*
-    casadi__CasadiMeta__getModules(std::string ** err_msg);
-std::string*
-    casadi__CasadiMeta__getModules(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::CasadiMeta::getModules();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "getPlugins" ===============
-// class: "casadi::CasadiMeta"
-// cppName: "casadi::CasadiMeta::getPlugins"
-// cWrapperName: "casadi__CasadiMeta__getPlugins"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CasadiMeta__getPlugins(std::string ** err_msg)"
-// call: "        std::string ret = casadi::CasadiMeta::getPlugins();"
-// params: []
-extern "C"
-std::string*
-    casadi__CasadiMeta__getPlugins(std::string ** err_msg);
-std::string*
-    casadi__CasadiMeta__getPlugins(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::CasadiMeta::getPlugins();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "getVersion" ===============
-// class: "casadi::CasadiMeta"
-// cppName: "casadi::CasadiMeta::getVersion"
-// cWrapperName: "casadi__CasadiMeta__getVersion"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CasadiMeta__getVersion(std::string ** err_msg)"
-// call: "        std::string ret = casadi::CasadiMeta::getVersion();"
-// params: []
-extern "C"
-std::string*
-    casadi__CasadiMeta__getVersion(std::string ** err_msg);
-std::string*
-    casadi__CasadiMeta__getVersion(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::CasadiMeta::getVersion();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "CodeGenerator")===============
-// classType: UserType (Namespace ["casadi"]) (Name "CodeGenerator")
-extern "C"
-void delete_casadi__CodeGenerator(casadi::CodeGenerator* obj);
-void delete_casadi__CodeGenerator(casadi::CodeGenerator* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::CodeGenerator"
-// cppName: "casadi::CodeGenerator"
-// cWrapperName: "casadi__CodeGenerator__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "CodeGenerator")
-// cWrapperRetType: "casadi::CodeGenerator*"
-// proto: "casadi::CodeGenerator*\n    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::CodeGenerator*
-    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0);
-casadi::CodeGenerator*
-    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::CodeGenerator"
-// cppName: "casadi::CodeGenerator"
-// cWrapperName: "casadi__CodeGenerator__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "CodeGenerator")
-// cWrapperRetType: "casadi::CodeGenerator*"
-// proto: "casadi::CodeGenerator*\n    casadi__CodeGenerator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// call: "        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::CodeGenerator*
-    casadi__CodeGenerator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
-casadi::CodeGenerator*
-    casadi__CodeGenerator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
-
-        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add" ===============
-// class: "casadi::CodeGenerator"
-// cppName: "casadi::CodeGenerator::add"
-// cWrapperName: "casadi__CodeGenerator__add"
-// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__CodeGenerator__add(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0)"
-// call: "        obj->add(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-void
-    casadi__CodeGenerator__add(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0);
-void
-    casadi__CodeGenerator__add(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        obj->add(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "addInclude" ===============
-// class: "casadi::CodeGenerator"
-// cppName: "casadi::CodeGenerator::addInclude"
-// cWrapperName: "casadi__CodeGenerator__addInclude__0"
-// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__CodeGenerator__addInclude__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
-// call: "        obj->addInclude(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__CodeGenerator__addInclude__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0);
-void
-    casadi__CodeGenerator__addInclude__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        obj->addInclude(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "addInclude" ===============
-// class: "casadi::CodeGenerator"
-// cppName: "casadi::CodeGenerator::addInclude"
-// cWrapperName: "casadi__CodeGenerator__addInclude__1"
-// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__CodeGenerator__addInclude__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1)"
-// call: "        obj->addInclude(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__CodeGenerator__addInclude__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1);
-void
-    casadi__CodeGenerator__addInclude__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        obj->addInclude(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "addInclude" ===============
-// class: "casadi::CodeGenerator"
-// cppName: "casadi::CodeGenerator::addInclude"
-// cWrapperName: "casadi__CodeGenerator__addInclude__2"
-// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__CodeGenerator__addInclude__2(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2)"
-// call: "        obj->addInclude(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__CodeGenerator__addInclude__2(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2);
-void
-    casadi__CodeGenerator__addInclude__2(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        obj->addInclude(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "dump" ===============
-// class: "casadi::CodeGenerator"
-// cppName: "casadi::CodeGenerator::dump"
-// cWrapperName: "casadi__CodeGenerator__dump"
-// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CodeGenerator__dump(std::string ** err_msg, casadi::CodeGenerator* obj)"
-// call: "        std::string ret = obj->dump();"
-// params: []
-extern "C"
-std::string*
-    casadi__CodeGenerator__dump(std::string ** err_msg, casadi::CodeGenerator* obj);
-std::string*
-    casadi__CodeGenerator__dump(std::string ** err_msg, casadi::CodeGenerator* obj){
-    try {
-
-        std::string ret = obj->dump();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "generate" ===============
-// class: "casadi::CodeGenerator"
-// cppName: "casadi::CodeGenerator::generate"
-// cWrapperName: "casadi__CodeGenerator__generate__0"
-// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CodeGenerator__generate__0(std::string ** err_msg, casadi::CodeGenerator* obj)"
-// call: "        std::string ret = obj->generate();"
-// params: []
-extern "C"
-std::string*
-    casadi__CodeGenerator__generate__0(std::string ** err_msg, casadi::CodeGenerator* obj);
-std::string*
-    casadi__CodeGenerator__generate__0(std::string ** err_msg, casadi::CodeGenerator* obj){
-    try {
-
-        std::string ret = obj->generate();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "generate" ===============
-// class: "casadi::CodeGenerator"
-// cppName: "casadi::CodeGenerator::generate"
-// cWrapperName: "casadi__CodeGenerator__generate__1"
-// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CodeGenerator__generate__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
-// call: "        std::string ret = obj->generate(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__CodeGenerator__generate__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0);
-std::string*
-    casadi__CodeGenerator__generate__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = obj->generate(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "DM")===============
-// classType: UserType (Namespace ["casadi"]) (Name "DM")
-extern "C"
-void delete_casadi__DM(casadi::DM* obj);
-void delete_casadi__DM(casadi::DM* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM"
-// cWrapperName: "casadi__DM__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0)"
-// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM"
-// cWrapperName: "casadi__DM__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SXElem* >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0)"
-// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SXElem")))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0){
-    try {
-        std::vector< casadi::SXElem > x0_ = Marshaling<std::vector< casadi::SXElem >,std::vector< casadi::SXElem* >*>::marshal(x0);
-
-        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM"
-// cWrapperName: "casadi__DM__CONSTRUCTOR__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0)"
-// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM"
-// cWrapperName: "casadi__DM__CONSTRUCTOR__3"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< int >* x0)"
-// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< int >* x0);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM"
-// cWrapperName: "casadi__DM__CONSTRUCTOR__4"
-// protoArgs: "(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
-// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
-// params: [(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0){
-    try {
-        std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);
-
-        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM"
-// cWrapperName: "casadi__DM__CONSTRUCTOR__5"
-// protoArgs: "(std::string ** err_msg, double x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__5(std::string ** err_msg, double x0)"
-// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
-// params: [(CDouble,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__5(std::string ** err_msg, double x0);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__5(std::string ** err_msg, double x0){
-    try {
-        double x0_ = Marshaling<double,double>::marshal(x0);
-
-        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM"
-// cWrapperName: "casadi__DM__CONSTRUCTOR__6"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::DM* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::DM* x1)"
-// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::DM* x1);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::DM* x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM"
-// cWrapperName: "casadi__DM__CONSTRUCTOR__7"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM"
-// cWrapperName: "casadi__DM__CONSTRUCTOR__8"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__8(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__8(std::string ** err_msg, int x0, int x1);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__8(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM"
-// cWrapperName: "casadi__DM__CONSTRUCTOR__9"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__9(std::string ** err_msg, casadi::DM* x0)"
-// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__9(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__9(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM"
-// cWrapperName: "casadi__DM__CONSTRUCTOR__10"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__10(std::string ** err_msg)"
-// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM();"
-// params: []
-extern "C"
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__10(std::string ** err_msg);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__10(std::string ** err_msg){
-    try {
-
-        casadi::DM* ret = (casadi::DM*)new casadi::DM();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "T" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::T"
-// cWrapperName: "casadi__DM__T"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__T(std::string ** err_msg, casadi::DM* obj)"
-// call: "        casadi::DM ret = obj->T();"
-// params: []
-extern "C"
-casadi::DM*
-    casadi__DM__T(std::string ** err_msg, casadi::DM* obj);
-casadi::DM*
-    casadi__DM__T(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        casadi::DM ret = obj->T();
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "__nonzero__" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::__nonzero__"
-// cWrapperName: "casadi__DM____nonzero__"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM____nonzero__(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->__nonzero__();"
-// params: []
-extern "C"
-int
-    casadi__DM____nonzero__(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM____nonzero__(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->__nonzero__();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "binary" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::binary"
-// cWrapperName: "casadi__DM__binary"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__binary(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2)"
-// call: "        casadi::DM ret = casadi::DM::binary(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__binary(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2);
-casadi::DM*
-    casadi__DM__binary(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::binary(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "clear" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::clear"
-// cWrapperName: "casadi__DM__clear"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__clear(std::string ** err_msg, casadi::DM* obj)"
-// call: "        obj->clear();"
-// params: []
-extern "C"
-void
-    casadi__DM__clear(std::string ** err_msg, casadi::DM* obj);
-void
-    casadi__DM__clear(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        obj->clear();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "colind" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::colind"
-// cWrapperName: "casadi__DM__colind"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__colind(std::string ** err_msg, casadi::DM* obj, int x0)"
-// call: "        int ret = obj->colind(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__DM__colind(std::string ** err_msg, casadi::DM* obj, int x0);
-int
-    casadi__DM__colind(std::string ** err_msg, casadi::DM* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->colind(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "dep" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::dep"
-// cWrapperName: "casadi__DM__dep__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__dep__0(std::string ** err_msg, casadi::DM* obj)"
-// call: "        casadi::DM ret = obj->dep();"
-// params: []
-extern "C"
-casadi::DM*
-    casadi__DM__dep__0(std::string ** err_msg, casadi::DM* obj);
-casadi::DM*
-    casadi__DM__dep__0(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        casadi::DM ret = obj->dep();
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "dep" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::dep"
-// cWrapperName: "casadi__DM__dep__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__dep__1(std::string ** err_msg, casadi::DM* obj, int x0)"
-// call: "        casadi::DM ret = obj->dep(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__dep__1(std::string ** err_msg, casadi::DM* obj, int x0);
-casadi::DM*
-    casadi__DM__dep__1(std::string ** err_msg, casadi::DM* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::DM ret = obj->dep(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "dim" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::dim"
-// cWrapperName: "casadi__DM__dim"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__DM__dim(std::string ** err_msg, casadi::DM* obj)"
-// call: "        std::string ret = obj->dim();"
-// params: []
-extern "C"
-std::string*
-    casadi__DM__dim(std::string ** err_msg, casadi::DM* obj);
-std::string*
-    casadi__DM__dim(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        std::string ret = obj->dim();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "element_hash" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::element_hash"
-// cWrapperName: "casadi__DM__element_hash"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CSize
-// cWrapperRetType: "size_t"
-// proto: "size_t\n    casadi__DM__element_hash(std::string ** err_msg, casadi::DM* obj)"
-// call: "        size_t ret = obj->element_hash();"
-// params: []
-extern "C"
-size_t
-    casadi__DM__element_hash(std::string ** err_msg, casadi::DM* obj);
-size_t
-    casadi__DM__element_hash(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        size_t ret = obj->element_hash();
-
-        return WrapReturn< size_t, size_t >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "enlarge" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::enlarge"
-// cWrapperName: "casadi__DM__enlarge__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__enlarge__0(std::string ** err_msg, casadi::DM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__enlarge__0(std::string ** err_msg, casadi::DM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
-void
-    casadi__DM__enlarge__0(std::string ** err_msg, casadi::DM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-
-        obj->enlarge(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "enlarge" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::enlarge"
-// cWrapperName: "casadi__DM__enlarge__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__enlarge__1(std::string ** err_msg, casadi::DM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
-// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DM__enlarge__1(std::string ** err_msg, casadi::DM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4);
-void
-    casadi__DM__enlarge__1(std::string ** err_msg, casadi::DM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::erase"
-// cWrapperName: "casadi__DM__erase__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__erase__0(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0)"
-// call: "        obj->erase(x0_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__erase__0(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0);
-void
-    casadi__DM__erase__0(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        obj->erase(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::erase"
-// cWrapperName: "casadi__DM__erase__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__erase__1(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, int x1)"
-// call: "        obj->erase(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DM__erase__1(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, int x1);
-void
-    casadi__DM__erase__1(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, int x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        obj->erase(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::erase"
-// cWrapperName: "casadi__DM__erase__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__erase__2(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// call: "        obj->erase(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__erase__2(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, std::vector< int >* x1);
-void
-    casadi__DM__erase__2(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, std::vector< int >* x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        obj->erase(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::erase"
-// cWrapperName: "casadi__DM__erase__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__erase__3(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
-// call: "        obj->erase(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DM__erase__3(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, std::vector< int >* x1, int x2);
-void
-    casadi__DM__erase__3(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, std::vector< int >* x1, int x2){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->erase(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "eye" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::eye"
-// cWrapperName: "casadi__DM__eye"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__eye(std::string ** err_msg, int x0)"
-// call: "        casadi::DM ret = casadi::DM::eye(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__eye(std::string ** err_msg, int x0);
-casadi::DM*
-    casadi__DM__eye(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::eye(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get"
-// cWrapperName: "casadi__DM__get__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__get__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__get__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::IM* x3);
-void
-    casadi__DM__get__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::IM* x3){
-    try {
-        casadi::DM x0_ = casadi::DM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get"
-// cWrapperName: "casadi__DM__get__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__get__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__get__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::Slice* x3);
-void
-    casadi__DM__get__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::Slice* x3){
-    try {
-        casadi::DM x0_ = casadi::DM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get"
-// cWrapperName: "casadi__DM__get__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__get__2(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__get__2(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::IM* x3);
-void
-    casadi__DM__get__2(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::IM* x3){
-    try {
-        casadi::DM x0_ = casadi::DM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get"
-// cWrapperName: "casadi__DM__get__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__get__3(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__get__3(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
-void
-    casadi__DM__get__3(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
-    try {
-        casadi::DM x0_ = casadi::DM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get"
-// cWrapperName: "casadi__DM__get__4"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Sparsity* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__get__4(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Sparsity* x2)"
-// call: "        obj->get(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__get__4(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Sparsity* x2);
-void
-    casadi__DM__get__4(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Sparsity* x2){
-    try {
-        casadi::DM x0_ = casadi::DM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
-
-        obj->get(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get"
-// cWrapperName: "casadi__DM__get__5"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__get__5(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2)"
-// call: "        obj->get(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__get__5(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2);
-void
-    casadi__DM__get__5(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2){
-    try {
-        casadi::DM x0_ = casadi::DM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->get(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get"
-// cWrapperName: "casadi__DM__get__6"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__get__6(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2)"
-// call: "        obj->get(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__get__6(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2);
-void
-    casadi__DM__get__6(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::DM x0_ = casadi::DM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->get(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "getEqualityCheckingDepth" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::getEqualityCheckingDepth"
-// cWrapperName: "casadi__DM__getEqualityCheckingDepth"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__getEqualityCheckingDepth(std::string ** err_msg)"
-// call: "        int ret = casadi::DM::getEqualityCheckingDepth();"
-// params: []
-extern "C"
-int
-    casadi__DM__getEqualityCheckingDepth(std::string ** err_msg);
-int
-    casadi__DM__getEqualityCheckingDepth(std::string ** err_msg){
-    try {
-
-        int ret = casadi::DM::getEqualityCheckingDepth();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_colind" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get_colind"
-// cWrapperName: "casadi__DM__get_colind"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__DM__get_colind(std::string ** err_msg, casadi::DM* obj)"
-// call: "        std::vector< int > ret = obj->get_colind();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__DM__get_colind(std::string ** err_msg, casadi::DM* obj);
-std::vector< int >*
-    casadi__DM__get_colind(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        std::vector< int > ret = obj->get_colind();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "get_free" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get_free"
-// cWrapperName: "casadi__DM__get_free"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi__DM__get_free(std::string ** err_msg, casadi::Function* x0)"
-// call: "        std::vector< casadi::DM > ret = casadi::DM::get_free(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-std::vector< casadi::DM* >*
-    casadi__DM__get_free(std::string ** err_msg, casadi::Function* x0);
-std::vector< casadi::DM* >*
-    casadi__DM__get_free(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        std::vector< casadi::DM > ret = casadi::DM::get_free(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "get_input" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get_input"
-// cWrapperName: "casadi__DM__get_input"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi__DM__get_input(std::string ** err_msg, casadi::Function* x0)"
-// call: "        std::vector< casadi::DM > ret = casadi::DM::get_input(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-std::vector< casadi::DM* >*
-    casadi__DM__get_input(std::string ** err_msg, casadi::Function* x0);
-std::vector< casadi::DM* >*
-    casadi__DM__get_input(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        std::vector< casadi::DM > ret = casadi::DM::get_input(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_nonzeros" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get_nonzeros"
-// cWrapperName: "casadi__DM__get_nonzeros"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: StdVec CDouble
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    casadi__DM__get_nonzeros(std::string ** err_msg, casadi::DM* obj)"
-// call: "        std::vector< double > ret = obj->get_nonzeros();"
-// params: []
-extern "C"
-std::vector< double >*
-    casadi__DM__get_nonzeros(std::string ** err_msg, casadi::DM* obj);
-std::vector< double >*
-    casadi__DM__get_nonzeros(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        std::vector< double > ret = obj->get_nonzeros();
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_nz" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get_nz"
-// cWrapperName: "casadi__DM__get_nz__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__get_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2)"
-// call: "        obj->get_nz(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__get_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2);
-void
-    casadi__DM__get_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2){
-    try {
-        casadi::DM x0_ = casadi::DM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->get_nz(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get_nz" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get_nz"
-// cWrapperName: "casadi__DM__get_nz__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__get_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2)"
-// call: "        obj->get_nz(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__get_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2);
-void
-    casadi__DM__get_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::DM x0_ = casadi::DM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->get_nz(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get_row" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get_row"
-// cWrapperName: "casadi__DM__get_row"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__DM__get_row(std::string ** err_msg, casadi::DM* obj)"
-// call: "        std::vector< int > ret = obj->get_row();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__DM__get_row(std::string ** err_msg, casadi::DM* obj);
-std::vector< int >*
-    casadi__DM__get_row(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        std::vector< int > ret = obj->get_row();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_sparsity" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::get_sparsity"
-// cWrapperName: "casadi__DM__get_sparsity"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__DM__get_sparsity(std::string ** err_msg, casadi::DM* obj)"
-// call: "        casadi::Sparsity ret = obj->get_sparsity();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__DM__get_sparsity(std::string ** err_msg, casadi::DM* obj);
-casadi::Sparsity*
-    casadi__DM__get_sparsity(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        casadi::Sparsity ret = obj->get_sparsity();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::grad"
-// cWrapperName: "casadi__DM__grad__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__grad__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::DM ret = casadi::DM::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__grad__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::DM*
-    casadi__DM__grad__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::grad"
-// cWrapperName: "casadi__DM__grad__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__grad__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::DM ret = casadi::DM::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__grad__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::DM*
-    casadi__DM__grad__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::grad"
-// cWrapperName: "casadi__DM__grad__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__grad__2(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::DM ret = casadi::DM::grad(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__grad__2(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::DM*
-    casadi__DM__grad__2(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::grad(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::grad"
-// cWrapperName: "casadi__DM__grad__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__grad__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::DM ret = casadi::DM::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__grad__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::DM*
-    casadi__DM__grad__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::grad"
-// cWrapperName: "casadi__DM__grad__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__grad__4(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::DM ret = casadi::DM::grad(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__grad__4(std::string ** err_msg, casadi::Function* x0);
-casadi::DM*
-    casadi__DM__grad__4(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::grad(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::grad"
-// cWrapperName: "casadi__DM__grad__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__grad__5(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::DM ret = casadi::DM::grad(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__grad__5(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::DM*
-    casadi__DM__grad__5(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::grad(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::grad"
-// cWrapperName: "casadi__DM__grad__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__grad__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::DM ret = casadi::DM::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__grad__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::DM*
-    casadi__DM__grad__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_duplicates" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::has_duplicates"
-// cWrapperName: "casadi__DM__has_duplicates"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__has_duplicates(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->has_duplicates();"
-// params: []
-extern "C"
-int
-    casadi__DM__has_duplicates(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__has_duplicates(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->has_duplicates();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_nz" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::has_nz"
-// cWrapperName: "casadi__DM__has_nz"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__has_nz(std::string ** err_msg, casadi::DM* obj, int x0, int x1)"
-// call: "        bool ret = obj->has_nz(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__DM__has_nz(std::string ** err_msg, casadi::DM* obj, int x0, int x1);
-int
-    casadi__DM__has_nz(std::string ** err_msg, casadi::DM* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        bool ret = obj->has_nz(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_zeros" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::has_zeros"
-// cWrapperName: "casadi__DM__has_zeros"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__has_zeros(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->has_zeros();"
-// params: []
-extern "C"
-int
-    casadi__DM__has_zeros(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__has_zeros(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->has_zeros();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::hess"
-// cWrapperName: "casadi__DM__hess__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__hess__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::DM ret = casadi::DM::hess(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__hess__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::DM*
-    casadi__DM__hess__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::hess(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::hess"
-// cWrapperName: "casadi__DM__hess__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__hess__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::DM ret = casadi::DM::hess(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__hess__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::DM*
-    casadi__DM__hess__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::hess(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::hess"
-// cWrapperName: "casadi__DM__hess__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__hess__2(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::DM ret = casadi::DM::hess(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__hess__2(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::DM*
-    casadi__DM__hess__2(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::hess(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::hess"
-// cWrapperName: "casadi__DM__hess__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__hess__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::DM ret = casadi::DM::hess(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__hess__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::DM*
-    casadi__DM__hess__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::hess(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::hess"
-// cWrapperName: "casadi__DM__hess__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__hess__4(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::DM ret = casadi::DM::hess(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__hess__4(std::string ** err_msg, casadi::Function* x0);
-casadi::DM*
-    casadi__DM__hess__4(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::hess(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::hess"
-// cWrapperName: "casadi__DM__hess__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__hess__5(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::DM ret = casadi::DM::hess(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__hess__5(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::DM*
-    casadi__DM__hess__5(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::hess(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::hess"
-// cWrapperName: "casadi__DM__hess__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__hess__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::DM ret = casadi::DM::hess(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__hess__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::DM*
-    casadi__DM__hess__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::hess(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::inf"
-// cWrapperName: "casadi__DM__inf__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__inf__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::DM ret = casadi::DM::inf(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__inf__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::DM*
-    casadi__DM__inf__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::inf"
-// cWrapperName: "casadi__DM__inf__1"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__inf__1(std::string ** err_msg)"
-// call: "        casadi::DM ret = casadi::DM::inf();"
-// params: []
-extern "C"
-casadi::DM*
-    casadi__DM__inf__1(std::string ** err_msg);
-casadi::DM*
-    casadi__DM__inf__1(std::string ** err_msg){
-    try {
-
-        casadi::DM ret = casadi::DM::inf();
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::inf"
-// cWrapperName: "casadi__DM__inf__2"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__inf__2(std::string ** err_msg, int x0)"
-// call: "        casadi::DM ret = casadi::DM::inf(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__inf__2(std::string ** err_msg, int x0);
-casadi::DM*
-    casadi__DM__inf__2(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::inf"
-// cWrapperName: "casadi__DM__inf__3"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__inf__3(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::DM ret = casadi::DM::inf(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__inf__3(std::string ** err_msg, int x0, int x1);
-casadi::DM*
-    casadi__DM__inf__3(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::inf(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::inf"
-// cWrapperName: "casadi__DM__inf__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::DM ret = casadi::DM::inf(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::DM*
-    casadi__DM__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_column" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_column"
-// cWrapperName: "casadi__DM__is_column"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_column(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_column();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_column(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_column(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_column();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_commutative" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_commutative"
-// cWrapperName: "casadi__DM__is_commutative"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_commutative(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_commutative();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_commutative(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_commutative(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_commutative();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_constant" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_constant"
-// cWrapperName: "casadi__DM__is_constant"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_constant(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_constant();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_constant(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_constant(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_constant();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_dense" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_dense"
-// cWrapperName: "casadi__DM__is_dense"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_dense(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_dense();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_dense(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_dense(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_dense();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_empty" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_empty"
-// cWrapperName: "casadi__DM__is_empty__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_empty__0(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_empty();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_empty__0(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_empty__0(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_empty();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_empty" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_empty"
-// cWrapperName: "casadi__DM__is_empty__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_empty__1(std::string ** err_msg, casadi::DM* obj, int x0)"
-// call: "        bool ret = obj->is_empty(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__DM__is_empty__1(std::string ** err_msg, casadi::DM* obj, int x0);
-int
-    casadi__DM__is_empty__1(std::string ** err_msg, casadi::DM* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        bool ret = obj->is_empty(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_identity" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_identity"
-// cWrapperName: "casadi__DM__is_identity"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_identity(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_identity();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_identity(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_identity(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_identity();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_integer" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_integer"
-// cWrapperName: "casadi__DM__is_integer"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_integer(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_integer();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_integer(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_integer(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_integer();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_leaf" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_leaf"
-// cWrapperName: "casadi__DM__is_leaf"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_leaf(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_leaf();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_leaf(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_leaf(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_leaf();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_minus_one" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_minus_one"
-// cWrapperName: "casadi__DM__is_minus_one"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_minus_one(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_minus_one();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_minus_one(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_minus_one(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_minus_one();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_one" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_one"
-// cWrapperName: "casadi__DM__is_one"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_one(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_one();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_one(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_one(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_one();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_regular" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_regular"
-// cWrapperName: "casadi__DM__is_regular"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_regular(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_regular();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_regular(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_regular(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_regular();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_row" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_row"
-// cWrapperName: "casadi__DM__is_row"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_row(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_row();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_row(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_row(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_row();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_scalar" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_scalar"
-// cWrapperName: "casadi__DM__is_scalar__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_scalar__0(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_scalar();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_scalar__0(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_scalar__0(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_scalar();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_scalar" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_scalar"
-// cWrapperName: "casadi__DM__is_scalar__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_scalar__1(std::string ** err_msg, casadi::DM* obj, int x0)"
-// call: "        bool ret = obj->is_scalar(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__DM__is_scalar__1(std::string ** err_msg, casadi::DM* obj, int x0);
-int
-    casadi__DM__is_scalar__1(std::string ** err_msg, casadi::DM* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        bool ret = obj->is_scalar(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_smooth" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_smooth"
-// cWrapperName: "casadi__DM__is_smooth"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_smooth(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_smooth();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_smooth(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_smooth(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_smooth();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_square" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_square"
-// cWrapperName: "casadi__DM__is_square"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_square(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_square();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_square(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_square(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_square();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_symbolic" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_symbolic"
-// cWrapperName: "casadi__DM__is_symbolic"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_symbolic(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_symbolic();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_symbolic(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_symbolic(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_symbolic();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_tril" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_tril"
-// cWrapperName: "casadi__DM__is_tril"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_tril(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_tril();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_tril(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_tril(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_tril();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_triu" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_triu"
-// cWrapperName: "casadi__DM__is_triu"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_triu(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_triu();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_triu(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_triu(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_triu();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_valid_input" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_valid_input"
-// cWrapperName: "casadi__DM__is_valid_input"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_valid_input(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_valid_input();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_valid_input(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_valid_input(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_valid_input();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_vector" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_vector"
-// cWrapperName: "casadi__DM__is_vector"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_vector(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_vector();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_vector(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_vector(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_vector();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_zero" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::is_zero"
-// cWrapperName: "casadi__DM__is_zero"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__is_zero(std::string ** err_msg, casadi::DM* obj)"
-// call: "        bool ret = obj->is_zero();"
-// params: []
-extern "C"
-int
-    casadi__DM__is_zero(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__is_zero(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        bool ret = obj->is_zero();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::DM*
-    casadi__DM__jac__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__1(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__1(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3);
-casadi::DM*
-    casadi__DM__jac__1(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4);
-casadi::DM*
-    casadi__DM__jac__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__3(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__3(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::DM*
-    casadi__DM__jac__3(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__4(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__4(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3);
-casadi::DM*
-    casadi__DM__jac__4(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__5(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__5(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4);
-casadi::DM*
-    casadi__DM__jac__5(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__6(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__6(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::DM*
-    casadi__DM__jac__6(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::jac(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__7"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__7(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__7(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::DM*
-    casadi__DM__jac__7(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__8"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__8(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__8(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3);
-casadi::DM*
-    casadi__DM__jac__8(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__9"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__9(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__9(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4);
-casadi::DM*
-    casadi__DM__jac__9(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__10"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__10(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__10(std::string ** err_msg, casadi::Function* x0);
-casadi::DM*
-    casadi__DM__jac__10(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::jac(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__11"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__11(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__11(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::DM*
-    casadi__DM__jac__11(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::jac(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__12"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__12(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__12(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::DM*
-    casadi__DM__jac__12(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__13"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__13(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__13(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3);
-casadi::DM*
-    casadi__DM__jac__13(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::jac"
-// cWrapperName: "casadi__DM__jac__14"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__jac__14(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4)"
-// call: "        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__jac__14(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4);
-casadi::DM*
-    casadi__DM__jac__14(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::DM ret = casadi::DM::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "matrix_matrix" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::matrix_matrix"
-// cWrapperName: "casadi__DM__matrix_matrix"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__matrix_matrix(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2)"
-// call: "        casadi::DM ret = casadi::DM::matrix_matrix(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__matrix_matrix(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2);
-casadi::DM*
-    casadi__DM__matrix_matrix(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::matrix_matrix(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "matrix_scalar" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::matrix_scalar"
-// cWrapperName: "casadi__DM__matrix_scalar"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__matrix_scalar(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2)"
-// call: "        casadi::DM ret = casadi::DM::matrix_scalar(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__matrix_scalar(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2);
-casadi::DM*
-    casadi__DM__matrix_scalar(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::matrix_scalar(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "n_dep" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::n_dep"
-// cWrapperName: "casadi__DM__n_dep"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__n_dep(std::string ** err_msg, casadi::DM* obj)"
-// call: "        int ret = obj->n_dep();"
-// params: []
-extern "C"
-int
-    casadi__DM__n_dep(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__n_dep(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        int ret = obj->n_dep();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "name" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::name"
-// cWrapperName: "casadi__DM__name"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__DM__name(std::string ** err_msg, casadi::DM* obj)"
-// call: "        std::string ret = obj->name();"
-// params: []
-extern "C"
-std::string*
-    casadi__DM__name(std::string ** err_msg, casadi::DM* obj);
-std::string*
-    casadi__DM__name(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        std::string ret = obj->name();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::nan"
-// cWrapperName: "casadi__DM__nan__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__nan__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::DM ret = casadi::DM::nan(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__nan__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::DM*
-    casadi__DM__nan__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::nan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::nan"
-// cWrapperName: "casadi__DM__nan__1"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__nan__1(std::string ** err_msg)"
-// call: "        casadi::DM ret = casadi::DM::nan();"
-// params: []
-extern "C"
-casadi::DM*
-    casadi__DM__nan__1(std::string ** err_msg);
-casadi::DM*
-    casadi__DM__nan__1(std::string ** err_msg){
-    try {
-
-        casadi::DM ret = casadi::DM::nan();
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::nan"
-// cWrapperName: "casadi__DM__nan__2"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__nan__2(std::string ** err_msg, int x0)"
-// call: "        casadi::DM ret = casadi::DM::nan(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__nan__2(std::string ** err_msg, int x0);
-casadi::DM*
-    casadi__DM__nan__2(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::nan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::nan"
-// cWrapperName: "casadi__DM__nan__3"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__nan__3(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::DM ret = casadi::DM::nan(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__nan__3(std::string ** err_msg, int x0, int x1);
-casadi::DM*
-    casadi__DM__nan__3(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::nan(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::nan"
-// cWrapperName: "casadi__DM__nan__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::DM ret = casadi::DM::nan(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::DM*
-    casadi__DM__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::nan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::nnz"
-// cWrapperName: "casadi__DM__nnz"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__nnz(std::string ** err_msg, casadi::DM* obj)"
-// call: "        int ret = obj->nnz();"
-// params: []
-extern "C"
-int
-    casadi__DM__nnz(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__nnz(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        int ret = obj->nnz();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_diag" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::nnz_diag"
-// cWrapperName: "casadi__DM__nnz_diag"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__nnz_diag(std::string ** err_msg, casadi::DM* obj)"
-// call: "        int ret = obj->nnz_diag();"
-// params: []
-extern "C"
-int
-    casadi__DM__nnz_diag(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__nnz_diag(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        int ret = obj->nnz_diag();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_lower" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::nnz_lower"
-// cWrapperName: "casadi__DM__nnz_lower"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__nnz_lower(std::string ** err_msg, casadi::DM* obj)"
-// call: "        int ret = obj->nnz_lower();"
-// params: []
-extern "C"
-int
-    casadi__DM__nnz_lower(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__nnz_lower(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        int ret = obj->nnz_lower();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_upper" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::nnz_upper"
-// cWrapperName: "casadi__DM__nnz_upper"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__nnz_upper(std::string ** err_msg, casadi::DM* obj)"
-// call: "        int ret = obj->nnz_upper();"
-// params: []
-extern "C"
-int
-    casadi__DM__nnz_upper(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__nnz_upper(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        int ret = obj->nnz_upper();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::numel"
-// cWrapperName: "casadi__DM__numel__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__numel__0(std::string ** err_msg, casadi::DM* obj, int x0)"
-// call: "        int ret = obj->numel(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__DM__numel__0(std::string ** err_msg, casadi::DM* obj, int x0);
-int
-    casadi__DM__numel__0(std::string ** err_msg, casadi::DM* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->numel(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::numel"
-// cWrapperName: "casadi__DM__numel__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__numel__1(std::string ** err_msg, casadi::DM* obj)"
-// call: "        int ret = obj->numel();"
-// params: []
-extern "C"
-int
-    casadi__DM__numel__1(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__numel__1(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        int ret = obj->numel();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::ones"
-// cWrapperName: "casadi__DM__ones__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__ones__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::DM ret = casadi::DM::ones(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__ones__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::DM*
-    casadi__DM__ones__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::ones(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::ones"
-// cWrapperName: "casadi__DM__ones__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::DM ret = casadi::DM::ones(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::DM*
-    casadi__DM__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::ones(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::ones"
-// cWrapperName: "casadi__DM__ones__2"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__ones__2(std::string ** err_msg)"
-// call: "        casadi::DM ret = casadi::DM::ones();"
-// params: []
-extern "C"
-casadi::DM*
-    casadi__DM__ones__2(std::string ** err_msg);
-casadi::DM*
-    casadi__DM__ones__2(std::string ** err_msg){
-    try {
-
-        casadi::DM ret = casadi::DM::ones();
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::ones"
-// cWrapperName: "casadi__DM__ones__3"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__ones__3(std::string ** err_msg, int x0)"
-// call: "        casadi::DM ret = casadi::DM::ones(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__ones__3(std::string ** err_msg, int x0);
-casadi::DM*
-    casadi__DM__ones__3(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::ones(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::ones"
-// cWrapperName: "casadi__DM__ones__4"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__ones__4(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::DM ret = casadi::DM::ones(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__ones__4(std::string ** err_msg, int x0, int x1);
-casadi::DM*
-    casadi__DM__ones__4(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::ones(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator +" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::operator +"
-// cWrapperName: "casadi__DM__operator__plus"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__operator__plus(std::string ** err_msg, casadi::DM* obj)"
-// call: "        casadi::DM ret = obj->operator +();"
-// params: []
-extern "C"
-casadi::DM*
-    casadi__DM__operator__plus(std::string ** err_msg, casadi::DM* obj);
-casadi::DM*
-    casadi__DM__operator__plus(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        casadi::DM ret = obj->operator +();
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator -" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::operator -"
-// cWrapperName: "casadi__DM__operator__minus"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__operator__minus(std::string ** err_msg, casadi::DM* obj)"
-// call: "        casadi::DM ret = obj->operator -();"
-// params: []
-extern "C"
-casadi::DM*
-    casadi__DM__operator__minus(std::string ** err_msg, casadi::DM* obj);
-casadi::DM*
-    casadi__DM__operator__minus(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        casadi::DM ret = obj->operator -();
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator double" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::operator double"
-// cWrapperName: "casadi__DM__operator_double"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__DM__operator_double(std::string ** err_msg, casadi::DM* obj)"
-// call: "        double ret = obj->operator double();"
-// params: []
-extern "C"
-double
-    casadi__DM__operator_double(std::string ** err_msg, casadi::DM* obj);
-double
-    casadi__DM__operator_double(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        double ret = obj->operator double();
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator int" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::operator int"
-// cWrapperName: "casadi__DM__operator_int"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__operator_int(std::string ** err_msg, casadi::DM* obj)"
-// call: "        int ret = obj->operator int();"
-// params: []
-extern "C"
-int
-    casadi__DM__operator_int(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__operator_int(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        int ret = obj->operator int();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "print_dense" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::print_dense"
-// cWrapperName: "casadi__DM__print_dense"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__print_dense(std::string ** err_msg, casadi::DM* obj)"
-// call: "        obj->print_dense();"
-// params: []
-extern "C"
-void
-    casadi__DM__print_dense(std::string ** err_msg, casadi::DM* obj);
-void
-    casadi__DM__print_dense(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        obj->print_dense();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_scalar" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::print_scalar"
-// cWrapperName: "casadi__DM__print_scalar"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__print_scalar(std::string ** err_msg, casadi::DM* obj)"
-// call: "        obj->print_scalar();"
-// params: []
-extern "C"
-void
-    casadi__DM__print_scalar(std::string ** err_msg, casadi::DM* obj);
-void
-    casadi__DM__print_scalar(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        obj->print_scalar();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_sparse" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::print_sparse"
-// cWrapperName: "casadi__DM__print_sparse"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__print_sparse(std::string ** err_msg, casadi::DM* obj)"
-// call: "        obj->print_sparse();"
-// params: []
-extern "C"
-void
-    casadi__DM__print_sparse(std::string ** err_msg, casadi::DM* obj);
-void
-    casadi__DM__print_sparse(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        obj->print_sparse();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_split" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::print_split"
-// cWrapperName: "casadi__DM__print_split"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__print_split(std::string ** err_msg, casadi::DM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
-// call: "        obj->print_split(x0_, x1_);"
-// params: [(Ref (StdVec StdString),SwigOutput True),(Ref (StdVec StdString),SwigOutput True)]
-extern "C"
-void
-    casadi__DM__print_split(std::string ** err_msg, casadi::DM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1);
-void
-    casadi__DM__print_split(std::string ** err_msg, casadi::DM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1){
-    try {
-        std::vector< std::string > x0_ = std::vector< std::string >();  // Swig output
-        std::vector< std::string > x1_ = std::vector< std::string >();  // Swig output
-
-        obj->print_split(x0_, x1_);
-        *x0 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x0_ );
-        *x1 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x1_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_vector" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::print_vector"
-// cWrapperName: "casadi__DM__print_vector"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__print_vector(std::string ** err_msg, casadi::DM* obj)"
-// call: "        obj->print_vector();"
-// params: []
-extern "C"
-void
-    casadi__DM__print_vector(std::string ** err_msg, casadi::DM* obj);
-void
-    casadi__DM__print_vector(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        obj->print_vector();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "printme" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::printme"
-// cWrapperName: "casadi__DM__printme"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__printme(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0)"
-// call: "        casadi::DM ret = obj->printme(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__printme(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0);
-casadi::DM*
-    casadi__DM__printme(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = obj->printme(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "remove" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::remove"
-// cWrapperName: "casadi__DM__remove"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__remove(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// call: "        obj->remove(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__remove(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, std::vector< int >* x1);
-void
-    casadi__DM__remove(std::string ** err_msg, casadi::DM* obj, std::vector< int >* x0, std::vector< int >* x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        obj->remove(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reserve" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::reserve"
-// cWrapperName: "casadi__DM__reserve__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__reserve__0(std::string ** err_msg, casadi::DM* obj, int x0, int x1)"
-// call: "        obj->reserve(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__DM__reserve__0(std::string ** err_msg, casadi::DM* obj, int x0, int x1);
-void
-    casadi__DM__reserve__0(std::string ** err_msg, casadi::DM* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        obj->reserve(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reserve" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::reserve"
-// cWrapperName: "casadi__DM__reserve__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__reserve__1(std::string ** err_msg, casadi::DM* obj, int x0)"
-// call: "        obj->reserve(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__DM__reserve__1(std::string ** err_msg, casadi::DM* obj, int x0);
-void
-    casadi__DM__reserve__1(std::string ** err_msg, casadi::DM* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        obj->reserve(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "resetInput" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::resetInput"
-// cWrapperName: "casadi__DM__resetInput"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__resetInput(std::string ** err_msg, casadi::DM* obj)"
-// call: "        obj->resetInput();"
-// params: []
-extern "C"
-void
-    casadi__DM__resetInput(std::string ** err_msg, casadi::DM* obj);
-void
-    casadi__DM__resetInput(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        obj->resetInput();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "resize" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::resize"
-// cWrapperName: "casadi__DM__resize"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__resize(std::string ** err_msg, casadi::DM* obj, int x0, int x1)"
-// call: "        obj->resize(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__DM__resize(std::string ** err_msg, casadi::DM* obj, int x0, int x1);
-void
-    casadi__DM__resize(std::string ** err_msg, casadi::DM* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        obj->resize(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "row" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::row"
-// cWrapperName: "casadi__DM__row"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__row(std::string ** err_msg, casadi::DM* obj, int x0)"
-// call: "        int ret = obj->row(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__DM__row(std::string ** err_msg, casadi::DM* obj, int x0);
-int
-    casadi__DM__row(std::string ** err_msg, casadi::DM* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->row(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sanity_check" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::sanity_check"
-// cWrapperName: "casadi__DM__sanity_check__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__sanity_check__0(std::string ** err_msg, casadi::DM* obj)"
-// call: "        obj->sanity_check();"
-// params: []
-extern "C"
-void
-    casadi__DM__sanity_check__0(std::string ** err_msg, casadi::DM* obj);
-void
-    casadi__DM__sanity_check__0(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        obj->sanity_check();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "sanity_check" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::sanity_check"
-// cWrapperName: "casadi__DM__sanity_check__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__sanity_check__1(std::string ** err_msg, casadi::DM* obj, int x0)"
-// call: "        obj->sanity_check(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DM__sanity_check__1(std::string ** err_msg, casadi::DM* obj, int x0);
-void
-    casadi__DM__sanity_check__1(std::string ** err_msg, casadi::DM* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        obj->sanity_check(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "scalar_matrix" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::scalar_matrix"
-// cWrapperName: "casadi__DM__scalar_matrix"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__scalar_matrix(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2)"
-// call: "        casadi::DM ret = casadi::DM::scalar_matrix(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__scalar_matrix(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2);
-casadi::DM*
-    casadi__DM__scalar_matrix(std::string ** err_msg, int x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::scalar_matrix(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::set"
-// cWrapperName: "casadi__DM__set__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__set__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__set__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::IM* x3);
-void
-    casadi__DM__set__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::IM* x3){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::set"
-// cWrapperName: "casadi__DM__set__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__set__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__set__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::Slice* x3);
-void
-    casadi__DM__set__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::Slice* x3){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::set"
-// cWrapperName: "casadi__DM__set__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__set__2(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__set__2(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::IM* x3);
-void
-    casadi__DM__set__2(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::IM* x3){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::set"
-// cWrapperName: "casadi__DM__set__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__set__3(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__set__3(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
-void
-    casadi__DM__set__3(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::set"
-// cWrapperName: "casadi__DM__set__4"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Sparsity* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__set__4(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Sparsity* x2)"
-// call: "        obj->set(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__set__4(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Sparsity* x2);
-void
-    casadi__DM__set__4(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Sparsity* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
-
-        obj->set(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::set"
-// cWrapperName: "casadi__DM__set__5"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__set__5(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2)"
-// call: "        obj->set(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__set__5(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2);
-void
-    casadi__DM__set__5(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->set(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::set"
-// cWrapperName: "casadi__DM__set__6"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__set__6(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2)"
-// call: "        obj->set(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__set__6(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2);
-void
-    casadi__DM__set__6(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->set(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setEqualityCheckingDepth" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::setEqualityCheckingDepth"
-// cWrapperName: "casadi__DM__setEqualityCheckingDepth__0"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__setEqualityCheckingDepth__0(std::string ** err_msg)"
-// call: "        casadi::DM::setEqualityCheckingDepth();"
-// params: []
-extern "C"
-void
-    casadi__DM__setEqualityCheckingDepth__0(std::string ** err_msg);
-void
-    casadi__DM__setEqualityCheckingDepth__0(std::string ** err_msg){
-    try {
-
-        casadi::DM::setEqualityCheckingDepth();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setEqualityCheckingDepth" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::setEqualityCheckingDepth"
-// cWrapperName: "casadi__DM__setEqualityCheckingDepth__1"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__setEqualityCheckingDepth__1(std::string ** err_msg, int x0)"
-// call: "        casadi::DM::setEqualityCheckingDepth(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__DM__setEqualityCheckingDepth__1(std::string ** err_msg, int x0);
-void
-    casadi__DM__setEqualityCheckingDepth__1(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::DM::setEqualityCheckingDepth(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setPrecision" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::setPrecision"
-// cWrapperName: "casadi__DM__setPrecision"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__setPrecision(std::string ** err_msg, int x0)"
-// call: "        casadi::DM::setPrecision(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__DM__setPrecision(std::string ** err_msg, int x0);
-void
-    casadi__DM__setPrecision(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::DM::setPrecision(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setScientific" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::setScientific"
-// cWrapperName: "casadi__DM__setScientific"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__setScientific(std::string ** err_msg, int x0)"
-// call: "        casadi::DM::setScientific(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DM__setScientific(std::string ** err_msg, int x0);
-void
-    casadi__DM__setScientific(std::string ** err_msg, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        casadi::DM::setScientific(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setWidth" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::setWidth"
-// cWrapperName: "casadi__DM__setWidth"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__setWidth(std::string ** err_msg, int x0)"
-// call: "        casadi::DM::setWidth(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__DM__setWidth(std::string ** err_msg, int x0);
-void
-    casadi__DM__setWidth(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::DM::setWidth(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_nz" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::set_nz"
-// cWrapperName: "casadi__DM__set_nz__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__set_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2)"
-// call: "        obj->set_nz(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__set_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2);
-void
-    casadi__DM__set_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->set_nz(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_nz" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::set_nz"
-// cWrapperName: "casadi__DM__set_nz__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DM__set_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2)"
-// call: "        obj->set_nz(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DM__set_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2);
-void
-    casadi__DM__set_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->set_nz(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::size"
-// cWrapperName: "casadi__DM__size__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__size__0(std::string ** err_msg, casadi::DM* obj, int x0)"
-// call: "        int ret = obj->size(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__DM__size__0(std::string ** err_msg, casadi::DM* obj, int x0);
-int
-    casadi__DM__size__0(std::string ** err_msg, casadi::DM* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->size(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::size"
-// cWrapperName: "casadi__DM__size__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: StdPair CInt CInt
-// cWrapperRetType: "std::pair< int, int >*"
-// proto: "std::pair< int, int >*\n    casadi__DM__size__1(std::string ** err_msg, casadi::DM* obj)"
-// call: "        std::pair< int, int > ret = obj->size();"
-// params: []
-extern "C"
-std::pair< int, int >*
-    casadi__DM__size__1(std::string ** err_msg, casadi::DM* obj);
-std::pair< int, int >*
-    casadi__DM__size__1(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        std::pair< int, int > ret = obj->size();
-
-        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size1" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::size1"
-// cWrapperName: "casadi__DM__size1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__size1(std::string ** err_msg, casadi::DM* obj)"
-// call: "        int ret = obj->size1();"
-// params: []
-extern "C"
-int
-    casadi__DM__size1(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__size1(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        int ret = obj->size1();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size2" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::size2"
-// cWrapperName: "casadi__DM__size2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__DM__size2(std::string ** err_msg, casadi::DM* obj)"
-// call: "        int ret = obj->size2();"
-// params: []
-extern "C"
-int
-    casadi__DM__size2(std::string ** err_msg, casadi::DM* obj);
-int
-    casadi__DM__size2(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        int ret = obj->size2();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::sparsity"
-// cWrapperName: "casadi__DM__sparsity"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__DM__sparsity(std::string ** err_msg, casadi::DM* obj)"
-// call: "        casadi::Sparsity ret = obj->sparsity();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__DM__sparsity(std::string ** err_msg, casadi::DM* obj);
-casadi::Sparsity*
-    casadi__DM__sparsity(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        casadi::Sparsity ret = obj->sparsity();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::sym"
-// cWrapperName: "casadi__DM__sym__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
-// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
-// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi__DM__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
-// call: "        std::vector< std::vector< casadi::DM > > ret = casadi::DM::sym(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< std::vector< casadi::DM* >* >*
-    casadi__DM__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4);
-std::vector< std::vector< casadi::DM* >* >*
-    casadi__DM__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-        int x4_ = Marshaling<int,int>::marshal(x4);
-
-        std::vector< std::vector< casadi::DM > > ret = casadi::DM::sym(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::sym"
-// cWrapperName: "casadi__DM__sym__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
-// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
-// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi__DM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
-// call: "        std::vector< std::vector< casadi::DM > > ret = casadi::DM::sym(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< std::vector< casadi::DM* >* >*
-    casadi__DM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3);
-std::vector< std::vector< casadi::DM* >* >*
-    casadi__DM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        std::vector< std::vector< casadi::DM > > ret = casadi::DM::sym(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::sym"
-// cWrapperName: "casadi__DM__sym__2"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi__DM__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
-// call: "        std::vector< casadi::DM > ret = casadi::DM::sym(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< casadi::DM* >*
-    casadi__DM__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3);
-std::vector< casadi::DM* >*
-    casadi__DM__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        std::vector< casadi::DM > ret = casadi::DM::sym(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::sym"
-// cWrapperName: "casadi__DM__sym__3"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi__DM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
-// call: "        std::vector< casadi::DM > ret = casadi::DM::sym(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< casadi::DM* >*
-    casadi__DM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2);
-std::vector< casadi::DM* >*
-    casadi__DM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< casadi::DM > ret = casadi::DM::sym(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::sym"
-// cWrapperName: "casadi__DM__sym__4"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
-// call: "        casadi::DM ret = casadi::DM::sym(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
-casadi::DM*
-    casadi__DM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::sym(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::sym"
-// cWrapperName: "casadi__DM__sym__5"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
-// call: "        casadi::DM ret = casadi::DM::sym(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1);
-casadi::DM*
-    casadi__DM__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::sym(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::sym"
-// cWrapperName: "casadi__DM__sym__6"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__sym__6(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::DM ret = casadi::DM::sym(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__sym__6(std::string ** err_msg, std::string* x0);
-casadi::DM*
-    casadi__DM__sym__6(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::sym(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::sym"
-// cWrapperName: "casadi__DM__sym__7"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__sym__7(std::string ** err_msg, std::string* x0, int x1)"
-// call: "        casadi::DM ret = casadi::DM::sym(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__sym__7(std::string ** err_msg, std::string* x0, int x1);
-casadi::DM*
-    casadi__DM__sym__7(std::string ** err_msg, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::sym(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::sym"
-// cWrapperName: "casadi__DM__sym__8"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2)"
-// call: "        casadi::DM ret = casadi::DM::sym(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2);
-casadi::DM*
-    casadi__DM__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::sym(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::tang"
-// cWrapperName: "casadi__DM__tang__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__tang__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::DM ret = casadi::DM::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__tang__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::DM*
-    casadi__DM__tang__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::tang"
-// cWrapperName: "casadi__DM__tang__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__tang__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::DM ret = casadi::DM::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__tang__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::DM*
-    casadi__DM__tang__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::tang"
-// cWrapperName: "casadi__DM__tang__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__tang__2(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::DM ret = casadi::DM::tang(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__tang__2(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::DM*
-    casadi__DM__tang__2(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::tang(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::tang"
-// cWrapperName: "casadi__DM__tang__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__tang__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::DM ret = casadi::DM::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__tang__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::DM*
-    casadi__DM__tang__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::tang"
-// cWrapperName: "casadi__DM__tang__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__tang__4(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::DM ret = casadi::DM::tang(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__tang__4(std::string ** err_msg, casadi::Function* x0);
-casadi::DM*
-    casadi__DM__tang__4(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::tang(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::tang"
-// cWrapperName: "casadi__DM__tang__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__tang__5(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::DM ret = casadi::DM::tang(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__tang__5(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::DM*
-    casadi__DM__tang__5(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::tang(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::tang"
-// cWrapperName: "casadi__DM__tang__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__tang__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::DM ret = casadi::DM::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__tang__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::DM*
-    casadi__DM__tang__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "triplet" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::triplet"
-// cWrapperName: "casadi__DM__triplet__0"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DM* x2, std::pair< int, int >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DM* x2, std::pair< int, int >* x3)"
-// call: "        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DM* x2, std::pair< int, int >* x3);
-casadi::DM*
-    casadi__DM__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DM* x2, std::pair< int, int >* x3){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-        std::pair< int, int > x3_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x3);
-
-        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "triplet" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::triplet"
-// cWrapperName: "casadi__DM__triplet__1"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DM* x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DM* x2, int x3, int x4)"
-// call: "        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DM* x2, int x3, int x4);
-casadi::DM*
-    casadi__DM__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DM* x2, int x3, int x4){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-        int x4_ = Marshaling<int,int>::marshal(x4);
-
-        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "triplet" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::triplet"
-// cWrapperName: "casadi__DM__triplet__2"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DM* x2)"
-// call: "        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DM* x2);
-casadi::DM*
-    casadi__DM__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::DM* x2){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "type_name" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::type_name"
-// cWrapperName: "casadi__DM__type_name"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__DM__type_name(std::string ** err_msg)"
-// call: "        std::string ret = casadi::DM::type_name();"
-// params: []
-extern "C"
-std::string*
-    casadi__DM__type_name(std::string ** err_msg);
-std::string*
-    casadi__DM__type_name(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::DM::type_name();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "unary" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::unary"
-// cWrapperName: "casadi__DM__unary"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::DM* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__unary(std::string ** err_msg, int x0, casadi::DM* x1)"
-// call: "        casadi::DM ret = casadi::DM::unary(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__unary(std::string ** err_msg, int x0, casadi::DM* x1);
-casadi::DM*
-    casadi__DM__unary(std::string ** err_msg, int x0, casadi::DM* x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::unary(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::zeros"
-// cWrapperName: "casadi__DM__zeros__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__zeros__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::DM ret = casadi::DM::zeros(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__zeros__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::DM*
-    casadi__DM__zeros__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::zeros(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::zeros"
-// cWrapperName: "casadi__DM__zeros__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::DM ret = casadi::DM::zeros(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::DM*
-    casadi__DM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::zeros(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::zeros"
-// cWrapperName: "casadi__DM__zeros__2"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__zeros__2(std::string ** err_msg)"
-// call: "        casadi::DM ret = casadi::DM::zeros();"
-// params: []
-extern "C"
-casadi::DM*
-    casadi__DM__zeros__2(std::string ** err_msg);
-casadi::DM*
-    casadi__DM__zeros__2(std::string ** err_msg){
-    try {
-
-        casadi::DM ret = casadi::DM::zeros();
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::zeros"
-// cWrapperName: "casadi__DM__zeros__3"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__zeros__3(std::string ** err_msg, int x0)"
-// call: "        casadi::DM ret = casadi::DM::zeros(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__zeros__3(std::string ** err_msg, int x0);
-casadi::DM*
-    casadi__DM__zeros__3(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::DM ret = casadi::DM::zeros(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::zeros"
-// cWrapperName: "casadi__DM__zeros__4"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__zeros__4(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::DM ret = casadi::DM::zeros(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__DM__zeros__4(std::string ** err_msg, int x0, int x1);
-casadi::DM*
-    casadi__DM__zeros__4(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::DM ret = casadi::DM::zeros(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getRepresentation" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::getRepresentation"
-// cWrapperName: "casadi__DM__getRepresentation"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__DM__getRepresentation(std::string ** err_msg, casadi::DM* obj)"
-// call: "        std::string ret = obj->getRepresentation();"
-// params: []
-extern "C"
-std::string*
-    casadi__DM__getRepresentation(std::string ** err_msg, casadi::DM* obj);
-std::string*
-    casadi__DM__getRepresentation(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        std::string ret = obj->getRepresentation();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getDescription" ===============
-// class: "casadi::DM"
-// cppName: "casadi::DM::getDescription"
-// cWrapperName: "casadi__DM__getDescription"
-// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__DM__getDescription(std::string ** err_msg, casadi::DM* obj)"
-// call: "        std::string ret = obj->getDescription();"
-// params: []
-extern "C"
-std::string*
-    casadi__DM__getDescription(std::string ** err_msg, casadi::DM* obj);
-std::string*
-    casadi__DM__getDescription(std::string ** err_msg, casadi::DM* obj){
-    try {
-
-        std::string ret = obj->getDescription();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "DaeBuilder")===============
-// classType: UserType (Namespace ["casadi"]) (Name "DaeBuilder")
-extern "C"
-void delete_casadi__DaeBuilder(casadi::DaeBuilder* obj);
-void delete_casadi__DaeBuilder(casadi::DaeBuilder* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder"
-// cWrapperName: "casadi__DaeBuilder__CONSTRUCTOR"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "DaeBuilder")
-// cWrapperRetType: "casadi::DaeBuilder*"
-// proto: "casadi::DaeBuilder*\n    casadi__DaeBuilder__CONSTRUCTOR(std::string ** err_msg)"
-// call: "        casadi::DaeBuilder* ret = (casadi::DaeBuilder*)new casadi::DaeBuilder();"
-// params: []
-extern "C"
-casadi::DaeBuilder*
-    casadi__DaeBuilder__CONSTRUCTOR(std::string ** err_msg);
-casadi::DaeBuilder*
-    casadi__DaeBuilder__CONSTRUCTOR(std::string ** err_msg){
-    try {
-
-        casadi::DaeBuilder* ret = (casadi::DaeBuilder*)new casadi::DaeBuilder();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_alg" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_alg"
-// cWrapperName: "casadi__DaeBuilder__add_alg__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__add_alg__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// call: "        obj->add_alg(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__add_alg__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
-void
-    casadi__DaeBuilder__add_alg__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        obj->add_alg(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "add_alg" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_alg"
-// cWrapperName: "casadi__DaeBuilder__add_alg__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__add_alg__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
-// call: "        obj->add_alg(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__add_alg__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1);
-void
-    casadi__DaeBuilder__add_alg__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        obj->add_alg(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "add_d" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_d"
-// cWrapperName: "casadi__DaeBuilder__add_d__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_d__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// call: "        casadi::MX ret = obj->add_d(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_d__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
-casadi::MX*
-    casadi__DaeBuilder__add_d__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = obj->add_d(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_d" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_d"
-// cWrapperName: "casadi__DaeBuilder__add_d__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_d__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
-// call: "        casadi::MX ret = obj->add_d(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_d__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1);
-casadi::MX*
-    casadi__DaeBuilder__add_d__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::MX ret = obj->add_d(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_dae" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_dae"
-// cWrapperName: "casadi__DaeBuilder__add_dae__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__add_dae__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// call: "        obj->add_dae(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__add_dae__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
-void
-    casadi__DaeBuilder__add_dae__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        obj->add_dae(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "add_dae" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_dae"
-// cWrapperName: "casadi__DaeBuilder__add_dae__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__add_dae__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
-// call: "        obj->add_dae(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__add_dae__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1);
-void
-    casadi__DaeBuilder__add_dae__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        obj->add_dae(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "add_lc" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_lc"
-// cWrapperName: "casadi__DaeBuilder__add_lc"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_lc(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1)"
-// call: "        casadi::MX ret = obj->add_lc(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_lc(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1);
-casadi::MX*
-    casadi__DaeBuilder__add_lc(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
-
-        casadi::MX ret = obj->add_lc(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_ode" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_ode"
-// cWrapperName: "casadi__DaeBuilder__add_ode__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__add_ode__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// call: "        obj->add_ode(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__add_ode__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
-void
-    casadi__DaeBuilder__add_ode__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        obj->add_ode(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "add_ode" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_ode"
-// cWrapperName: "casadi__DaeBuilder__add_ode__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__add_ode__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
-// call: "        obj->add_ode(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__add_ode__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1);
-void
-    casadi__DaeBuilder__add_ode__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        obj->add_ode(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "add_p" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_p"
-// cWrapperName: "casadi__DaeBuilder__add_p__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_p__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        casadi::MX ret = obj->add_p();"
-// params: []
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_p__0(std::string ** err_msg, casadi::DaeBuilder* obj);
-casadi::MX*
-    casadi__DaeBuilder__add_p__0(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        casadi::MX ret = obj->add_p();
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_p" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_p"
-// cWrapperName: "casadi__DaeBuilder__add_p__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_p__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        casadi::MX ret = obj->add_p(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_p__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-casadi::MX*
-    casadi__DaeBuilder__add_p__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::MX ret = obj->add_p(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_p" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_p"
-// cWrapperName: "casadi__DaeBuilder__add_p__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_p__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// call: "        casadi::MX ret = obj->add_p(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_p__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
-casadi::MX*
-    casadi__DaeBuilder__add_p__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = obj->add_p(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_q" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_q"
-// cWrapperName: "casadi__DaeBuilder__add_q__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_q__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        casadi::MX ret = obj->add_q();"
-// params: []
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_q__0(std::string ** err_msg, casadi::DaeBuilder* obj);
-casadi::MX*
-    casadi__DaeBuilder__add_q__0(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        casadi::MX ret = obj->add_q();
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_q" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_q"
-// cWrapperName: "casadi__DaeBuilder__add_q__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_q__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        casadi::MX ret = obj->add_q(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_q__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-casadi::MX*
-    casadi__DaeBuilder__add_q__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::MX ret = obj->add_q(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_q" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_q"
-// cWrapperName: "casadi__DaeBuilder__add_q__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_q__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// call: "        casadi::MX ret = obj->add_q(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_q__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
-casadi::MX*
-    casadi__DaeBuilder__add_q__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = obj->add_q(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_quad" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_quad"
-// cWrapperName: "casadi__DaeBuilder__add_quad__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__add_quad__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// call: "        obj->add_quad(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__add_quad__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
-void
-    casadi__DaeBuilder__add_quad__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        obj->add_quad(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "add_quad" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_quad"
-// cWrapperName: "casadi__DaeBuilder__add_quad__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__add_quad__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
-// call: "        obj->add_quad(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__add_quad__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1);
-void
-    casadi__DaeBuilder__add_quad__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        obj->add_quad(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "add_s" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_s"
-// cWrapperName: "casadi__DaeBuilder__add_s__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: StdPair (UserType (Namespace ["casadi"]) (Name "MX")) (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "std::pair< casadi::MX*, casadi::MX* >*"
-// proto: "std::pair< casadi::MX*, casadi::MX* >*\n    casadi__DaeBuilder__add_s__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        std::pair< casadi::MX, casadi::MX > ret = obj->add_s();"
-// params: []
-extern "C"
-std::pair< casadi::MX*, casadi::MX* >*
-    casadi__DaeBuilder__add_s__0(std::string ** err_msg, casadi::DaeBuilder* obj);
-std::pair< casadi::MX*, casadi::MX* >*
-    casadi__DaeBuilder__add_s__0(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        std::pair< casadi::MX, casadi::MX > ret = obj->add_s();
-
-        return WrapReturn< std::pair< casadi::MX*, casadi::MX* >*, std::pair< casadi::MX, casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_s" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_s"
-// cWrapperName: "casadi__DaeBuilder__add_s__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdPair (UserType (Namespace ["casadi"]) (Name "MX")) (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "std::pair< casadi::MX*, casadi::MX* >*"
-// proto: "std::pair< casadi::MX*, casadi::MX* >*\n    casadi__DaeBuilder__add_s__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        std::pair< casadi::MX, casadi::MX > ret = obj->add_s(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::pair< casadi::MX*, casadi::MX* >*
-    casadi__DaeBuilder__add_s__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-std::pair< casadi::MX*, casadi::MX* >*
-    casadi__DaeBuilder__add_s__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::pair< casadi::MX, casadi::MX > ret = obj->add_s(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::pair< casadi::MX*, casadi::MX* >*, std::pair< casadi::MX, casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_s" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_s"
-// cWrapperName: "casadi__DaeBuilder__add_s__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: StdPair (UserType (Namespace ["casadi"]) (Name "MX")) (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "std::pair< casadi::MX*, casadi::MX* >*"
-// proto: "std::pair< casadi::MX*, casadi::MX* >*\n    casadi__DaeBuilder__add_s__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// call: "        std::pair< casadi::MX, casadi::MX > ret = obj->add_s(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::pair< casadi::MX*, casadi::MX* >*
-    casadi__DaeBuilder__add_s__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
-std::pair< casadi::MX*, casadi::MX* >*
-    casadi__DaeBuilder__add_s__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::pair< casadi::MX, casadi::MX > ret = obj->add_s(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::pair< casadi::MX*, casadi::MX* >*, std::pair< casadi::MX, casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_u" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_u"
-// cWrapperName: "casadi__DaeBuilder__add_u__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_u__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        casadi::MX ret = obj->add_u();"
-// params: []
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_u__0(std::string ** err_msg, casadi::DaeBuilder* obj);
-casadi::MX*
-    casadi__DaeBuilder__add_u__0(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        casadi::MX ret = obj->add_u();
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_u" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_u"
-// cWrapperName: "casadi__DaeBuilder__add_u__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_u__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        casadi::MX ret = obj->add_u(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_u__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-casadi::MX*
-    casadi__DaeBuilder__add_u__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::MX ret = obj->add_u(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_u" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_u"
-// cWrapperName: "casadi__DaeBuilder__add_u__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_u__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// call: "        casadi::MX ret = obj->add_u(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_u__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
-casadi::MX*
-    casadi__DaeBuilder__add_u__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = obj->add_u(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_variable" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_variable"
-// cWrapperName: "casadi__DaeBuilder__add_variable__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1)"
-// call: "        casadi::MX ret = obj->add_variable(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1);
-casadi::MX*
-    casadi__DaeBuilder__add_variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::MX ret = obj->add_variable(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_variable" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_variable"
-// cWrapperName: "casadi__DaeBuilder__add_variable__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        casadi::MX ret = obj->add_variable(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-casadi::MX*
-    casadi__DaeBuilder__add_variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::MX ret = obj->add_variable(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_variable" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_variable"
-// cWrapperName: "casadi__DaeBuilder__add_variable__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_variable__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// call: "        casadi::MX ret = obj->add_variable(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_variable__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
-casadi::MX*
-    casadi__DaeBuilder__add_variable__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = obj->add_variable(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_variable" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_variable"
-// cWrapperName: "casadi__DaeBuilder__add_variable__3"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__add_variable__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1)"
-// call: "        obj->add_variable(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Variable"))),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__add_variable__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1);
-void
-    casadi__DaeBuilder__add_variable__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Variable& x1_ = Marshaling<casadi::Variable&,casadi::Variable*>::marshal(x1);
-
-        obj->add_variable(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "add_x" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_x"
-// cWrapperName: "casadi__DaeBuilder__add_x__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_x__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        casadi::MX ret = obj->add_x();"
-// params: []
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_x__0(std::string ** err_msg, casadi::DaeBuilder* obj);
-casadi::MX*
-    casadi__DaeBuilder__add_x__0(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        casadi::MX ret = obj->add_x();
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_x" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_x"
-// cWrapperName: "casadi__DaeBuilder__add_x__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_x__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        casadi::MX ret = obj->add_x(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_x__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-casadi::MX*
-    casadi__DaeBuilder__add_x__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::MX ret = obj->add_x(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_x" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_x"
-// cWrapperName: "casadi__DaeBuilder__add_x__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_x__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// call: "        casadi::MX ret = obj->add_x(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_x__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
-casadi::MX*
-    casadi__DaeBuilder__add_x__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = obj->add_x(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_y" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_y"
-// cWrapperName: "casadi__DaeBuilder__add_y__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_y__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// call: "        casadi::MX ret = obj->add_y(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_y__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
-casadi::MX*
-    casadi__DaeBuilder__add_y__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = obj->add_y(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_y" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_y"
-// cWrapperName: "casadi__DaeBuilder__add_y__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_y__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1)"
-// call: "        casadi::MX ret = obj->add_y(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_y__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1);
-casadi::MX*
-    casadi__DaeBuilder__add_y__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::string* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::MX ret = obj->add_y(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_z" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_z"
-// cWrapperName: "casadi__DaeBuilder__add_z__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_z__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        casadi::MX ret = obj->add_z();"
-// params: []
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_z__0(std::string ** err_msg, casadi::DaeBuilder* obj);
-casadi::MX*
-    casadi__DaeBuilder__add_z__0(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        casadi::MX ret = obj->add_z();
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_z" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_z"
-// cWrapperName: "casadi__DaeBuilder__add_z__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_z__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        casadi::MX ret = obj->add_z(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_z__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-casadi::MX*
-    casadi__DaeBuilder__add_z__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::MX ret = obj->add_z(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_z" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::add_z"
-// cWrapperName: "casadi__DaeBuilder__add_z__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__add_z__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// call: "        casadi::MX ret = obj->add_z(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__add_z__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
-casadi::MX*
-    casadi__DaeBuilder__add_z__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = obj->add_z(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "create" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::create"
-// cWrapperName: "casadi__DaeBuilder__create"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__DaeBuilder__create(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
-// call: "        casadi::Function ret = obj->create(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__DaeBuilder__create(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2);
-casadi::Function*
-    casadi__DaeBuilder__create(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
-        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
-
-        casadi::Function ret = obj->create(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "der" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::der"
-// cWrapperName: "casadi__DaeBuilder__der__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__der__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// call: "        casadi::MX ret = obj->der(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__der__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
-casadi::MX*
-    casadi__DaeBuilder__der__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = obj->der(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "der" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::der"
-// cWrapperName: "casadi__DaeBuilder__der__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__der__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        casadi::MX ret = obj->der(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__der__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-casadi::MX*
-    casadi__DaeBuilder__der__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::MX ret = obj->der(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "derivative_start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::derivative_start"
-// cWrapperName: "casadi__DaeBuilder__derivative_start__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: StdVec CDouble
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    casadi__DaeBuilder__derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// call: "        std::vector< double > ret = obj->derivative_start(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-std::vector< double >*
-    casadi__DaeBuilder__derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
-std::vector< double >*
-    casadi__DaeBuilder__derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        std::vector< double > ret = obj->derivative_start(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "derivative_start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::derivative_start"
-// cWrapperName: "casadi__DaeBuilder__derivative_start__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: StdVec CDouble
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    casadi__DaeBuilder__derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
-// call: "        std::vector< double > ret = obj->derivative_start(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-std::vector< double >*
-    casadi__DaeBuilder__derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
-std::vector< double >*
-    casadi__DaeBuilder__derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        std::vector< double > ret = obj->derivative_start(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "derivative_start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::derivative_start"
-// cWrapperName: "casadi__DaeBuilder__derivative_start__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__DaeBuilder__derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        double ret = obj->derivative_start(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-double
-    casadi__DaeBuilder__derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-double
-    casadi__DaeBuilder__derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        double ret = obj->derivative_start(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "derivative_start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::derivative_start"
-// cWrapperName: "casadi__DaeBuilder__derivative_start__3"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__DaeBuilder__derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// call: "        double ret = obj->derivative_start(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-double
-    casadi__DaeBuilder__derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
-double
-    casadi__DaeBuilder__derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        double ret = obj->derivative_start(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "eliminate_alg" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::eliminate_alg"
-// cWrapperName: "casadi__DaeBuilder__eliminate_alg"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__eliminate_alg(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        obj->eliminate_alg();"
-// params: []
-extern "C"
-void
-    casadi__DaeBuilder__eliminate_alg(std::string ** err_msg, casadi::DaeBuilder* obj);
-void
-    casadi__DaeBuilder__eliminate_alg(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        obj->eliminate_alg();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "eliminate_d" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::eliminate_d"
-// cWrapperName: "casadi__DaeBuilder__eliminate_d"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__eliminate_d(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        obj->eliminate_d();"
-// params: []
-extern "C"
-void
-    casadi__DaeBuilder__eliminate_d(std::string ** err_msg, casadi::DaeBuilder* obj);
-void
-    casadi__DaeBuilder__eliminate_d(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        obj->eliminate_d();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "eliminate_quad" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::eliminate_quad"
-// cWrapperName: "casadi__DaeBuilder__eliminate_quad"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__eliminate_quad(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        obj->eliminate_quad();"
-// params: []
-extern "C"
-void
-    casadi__DaeBuilder__eliminate_quad(std::string ** err_msg, casadi::DaeBuilder* obj);
-void
-    casadi__DaeBuilder__eliminate_quad(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        obj->eliminate_quad();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "guess" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::guess"
-// cWrapperName: "casadi__DaeBuilder__guess__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: StdVec CDouble
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    casadi__DaeBuilder__guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// call: "        std::vector< double > ret = obj->guess(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-std::vector< double >*
-    casadi__DaeBuilder__guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
-std::vector< double >*
-    casadi__DaeBuilder__guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        std::vector< double > ret = obj->guess(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "guess" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::guess"
-// cWrapperName: "casadi__DaeBuilder__guess__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: StdVec CDouble
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    casadi__DaeBuilder__guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
-// call: "        std::vector< double > ret = obj->guess(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-std::vector< double >*
-    casadi__DaeBuilder__guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
-std::vector< double >*
-    casadi__DaeBuilder__guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        std::vector< double > ret = obj->guess(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "guess" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::guess"
-// cWrapperName: "casadi__DaeBuilder__guess__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__DaeBuilder__guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        double ret = obj->guess(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-double
-    casadi__DaeBuilder__guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-double
-    casadi__DaeBuilder__guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        double ret = obj->guess(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "guess" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::guess"
-// cWrapperName: "casadi__DaeBuilder__guess__3"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__DaeBuilder__guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// call: "        double ret = obj->guess(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-double
-    casadi__DaeBuilder__guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
-double
-    casadi__DaeBuilder__guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        double ret = obj->guess(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "make_explicit" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::make_explicit"
-// cWrapperName: "casadi__DaeBuilder__make_explicit"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__make_explicit(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        obj->make_explicit();"
-// params: []
-extern "C"
-void
-    casadi__DaeBuilder__make_explicit(std::string ** err_msg, casadi::DaeBuilder* obj);
-void
-    casadi__DaeBuilder__make_explicit(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        obj->make_explicit();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "make_semi_explicit" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::make_semi_explicit"
-// cWrapperName: "casadi__DaeBuilder__make_semi_explicit"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__make_semi_explicit(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        obj->make_semi_explicit();"
-// params: []
-extern "C"
-void
-    casadi__DaeBuilder__make_semi_explicit(std::string ** err_msg, casadi::DaeBuilder* obj);
-void
-    casadi__DaeBuilder__make_semi_explicit(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        obj->make_semi_explicit();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "max" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::max"
-// cWrapperName: "casadi__DaeBuilder__max__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: StdVec CDouble
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    casadi__DaeBuilder__max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// call: "        std::vector< double > ret = obj->max(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-std::vector< double >*
-    casadi__DaeBuilder__max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
-std::vector< double >*
-    casadi__DaeBuilder__max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        std::vector< double > ret = obj->max(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "max" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::max"
-// cWrapperName: "casadi__DaeBuilder__max__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: StdVec CDouble
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    casadi__DaeBuilder__max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
-// call: "        std::vector< double > ret = obj->max(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-std::vector< double >*
-    casadi__DaeBuilder__max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
-std::vector< double >*
-    casadi__DaeBuilder__max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        std::vector< double > ret = obj->max(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "max" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::max"
-// cWrapperName: "casadi__DaeBuilder__max__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__DaeBuilder__max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        double ret = obj->max(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-double
-    casadi__DaeBuilder__max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-double
-    casadi__DaeBuilder__max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        double ret = obj->max(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "max" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::max"
-// cWrapperName: "casadi__DaeBuilder__max__3"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__DaeBuilder__max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// call: "        double ret = obj->max(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-double
-    casadi__DaeBuilder__max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
-double
-    casadi__DaeBuilder__max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        double ret = obj->max(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "min" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::min"
-// cWrapperName: "casadi__DaeBuilder__min__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: StdVec CDouble
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    casadi__DaeBuilder__min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// call: "        std::vector< double > ret = obj->min(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-std::vector< double >*
-    casadi__DaeBuilder__min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
-std::vector< double >*
-    casadi__DaeBuilder__min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        std::vector< double > ret = obj->min(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "min" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::min"
-// cWrapperName: "casadi__DaeBuilder__min__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: StdVec CDouble
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    casadi__DaeBuilder__min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
-// call: "        std::vector< double > ret = obj->min(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-std::vector< double >*
-    casadi__DaeBuilder__min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
-std::vector< double >*
-    casadi__DaeBuilder__min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        std::vector< double > ret = obj->min(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "min" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::min"
-// cWrapperName: "casadi__DaeBuilder__min__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__DaeBuilder__min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        double ret = obj->min(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-double
-    casadi__DaeBuilder__min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-double
-    casadi__DaeBuilder__min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        double ret = obj->min(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "min" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::min"
-// cWrapperName: "casadi__DaeBuilder__min__3"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__DaeBuilder__min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// call: "        double ret = obj->min(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-double
-    casadi__DaeBuilder__min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
-double
-    casadi__DaeBuilder__min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        double ret = obj->min(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nominal" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::nominal"
-// cWrapperName: "casadi__DaeBuilder__nominal__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: StdVec CDouble
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    casadi__DaeBuilder__nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// call: "        std::vector< double > ret = obj->nominal(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-std::vector< double >*
-    casadi__DaeBuilder__nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
-std::vector< double >*
-    casadi__DaeBuilder__nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        std::vector< double > ret = obj->nominal(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nominal" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::nominal"
-// cWrapperName: "casadi__DaeBuilder__nominal__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__DaeBuilder__nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        double ret = obj->nominal(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-double
-    casadi__DaeBuilder__nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-double
-    casadi__DaeBuilder__nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        double ret = obj->nominal(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator ()" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::operator ()"
-// cWrapperName: "casadi__DaeBuilder__operator__call"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__DaeBuilder__operator__call(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        casadi::MX ret = obj->operator ()(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__DaeBuilder__operator__call(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-casadi::MX*
-    casadi__DaeBuilder__operator__call(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::MX ret = obj->operator ()(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "parse_fmi" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::parse_fmi"
-// cWrapperName: "casadi__DaeBuilder__parse_fmi"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__parse_fmi(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        obj->parse_fmi(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__parse_fmi(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-void
-    casadi__DaeBuilder__parse_fmi(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        obj->parse_fmi(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "sanity_check" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::sanity_check"
-// cWrapperName: "casadi__DaeBuilder__sanity_check"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__sanity_check(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        obj->sanity_check();"
-// params: []
-extern "C"
-void
-    casadi__DaeBuilder__sanity_check(std::string ** err_msg, casadi::DaeBuilder* obj);
-void
-    casadi__DaeBuilder__sanity_check(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        obj->sanity_check();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "scale_equations" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::scale_equations"
-// cWrapperName: "casadi__DaeBuilder__scale_equations"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__scale_equations(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        obj->scale_equations();"
-// params: []
-extern "C"
-void
-    casadi__DaeBuilder__scale_equations(std::string ** err_msg, casadi::DaeBuilder* obj);
-void
-    casadi__DaeBuilder__scale_equations(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        obj->scale_equations();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "scale_variables" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::scale_variables"
-// cWrapperName: "casadi__DaeBuilder__scale_variables"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__scale_variables(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        obj->scale_variables();"
-// params: []
-extern "C"
-void
-    casadi__DaeBuilder__scale_variables(std::string ** err_msg, casadi::DaeBuilder* obj);
-void
-    casadi__DaeBuilder__scale_variables(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        obj->scale_variables();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_derivative_start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_derivative_start"
-// cWrapperName: "casadi__DaeBuilder__set_derivative_start__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
-// call: "        obj->set_derivative_start(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
-void
-    casadi__DaeBuilder__set_derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
-
-        obj->set_derivative_start(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_derivative_start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_derivative_start"
-// cWrapperName: "casadi__DaeBuilder__set_derivative_start__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
-// call: "        obj->set_derivative_start(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
-void
-    casadi__DaeBuilder__set_derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->set_derivative_start(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_derivative_start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_derivative_start"
-// cWrapperName: "casadi__DaeBuilder__set_derivative_start__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
-// call: "        obj->set_derivative_start(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
-void
-    casadi__DaeBuilder__set_derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        double x1_ = Marshaling<double,double>::marshal(x1);
-
-        obj->set_derivative_start(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_derivative_start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_derivative_start"
-// cWrapperName: "casadi__DaeBuilder__set_derivative_start__3"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
-// call: "        obj->set_derivative_start(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
-void
-    casadi__DaeBuilder__set_derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        double x1_ = Marshaling<double,double>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->set_derivative_start(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_guess" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_guess"
-// cWrapperName: "casadi__DaeBuilder__set_guess__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
-// call: "        obj->set_guess(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
-void
-    casadi__DaeBuilder__set_guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
-
-        obj->set_guess(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_guess" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_guess"
-// cWrapperName: "casadi__DaeBuilder__set_guess__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
-// call: "        obj->set_guess(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
-void
-    casadi__DaeBuilder__set_guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->set_guess(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_guess" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_guess"
-// cWrapperName: "casadi__DaeBuilder__set_guess__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
-// call: "        obj->set_guess(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
-void
-    casadi__DaeBuilder__set_guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        double x1_ = Marshaling<double,double>::marshal(x1);
-
-        obj->set_guess(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_guess" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_guess"
-// cWrapperName: "casadi__DaeBuilder__set_guess__3"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
-// call: "        obj->set_guess(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
-void
-    casadi__DaeBuilder__set_guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        double x1_ = Marshaling<double,double>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->set_guess(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_max" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_max"
-// cWrapperName: "casadi__DaeBuilder__set_max__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
-// call: "        obj->set_max(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
-void
-    casadi__DaeBuilder__set_max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
-
-        obj->set_max(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_max" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_max"
-// cWrapperName: "casadi__DaeBuilder__set_max__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
-// call: "        obj->set_max(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
-void
-    casadi__DaeBuilder__set_max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->set_max(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_max" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_max"
-// cWrapperName: "casadi__DaeBuilder__set_max__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
-// call: "        obj->set_max(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
-void
-    casadi__DaeBuilder__set_max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        double x1_ = Marshaling<double,double>::marshal(x1);
-
-        obj->set_max(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_max" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_max"
-// cWrapperName: "casadi__DaeBuilder__set_max__3"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
-// call: "        obj->set_max(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
-void
-    casadi__DaeBuilder__set_max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        double x1_ = Marshaling<double,double>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->set_max(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_min" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_min"
-// cWrapperName: "casadi__DaeBuilder__set_min__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
-// call: "        obj->set_min(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
-void
-    casadi__DaeBuilder__set_min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
-
-        obj->set_min(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_min" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_min"
-// cWrapperName: "casadi__DaeBuilder__set_min__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
-// call: "        obj->set_min(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
-void
-    casadi__DaeBuilder__set_min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->set_min(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_min" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_min"
-// cWrapperName: "casadi__DaeBuilder__set_min__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
-// call: "        obj->set_min(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
-void
-    casadi__DaeBuilder__set_min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        double x1_ = Marshaling<double,double>::marshal(x1);
-
-        obj->set_min(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_min" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_min"
-// cWrapperName: "casadi__DaeBuilder__set_min__3"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
-// call: "        obj->set_min(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
-void
-    casadi__DaeBuilder__set_min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        double x1_ = Marshaling<double,double>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->set_min(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_nominal" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_nominal"
-// cWrapperName: "casadi__DaeBuilder__set_nominal__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
-// call: "        obj->set_nominal(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
-void
-    casadi__DaeBuilder__set_nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
-
-        obj->set_nominal(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_nominal" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_nominal"
-// cWrapperName: "casadi__DaeBuilder__set_nominal__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
-// call: "        obj->set_nominal(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
-void
-    casadi__DaeBuilder__set_nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        double x1_ = Marshaling<double,double>::marshal(x1);
-
-        obj->set_nominal(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_start"
-// cWrapperName: "casadi__DaeBuilder__set_start__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
-// call: "        obj->set_start(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
-void
-    casadi__DaeBuilder__set_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
-
-        obj->set_start(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_start"
-// cWrapperName: "casadi__DaeBuilder__set_start__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
-// call: "        obj->set_start(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
-void
-    casadi__DaeBuilder__set_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->set_start(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_start"
-// cWrapperName: "casadi__DaeBuilder__set_start__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
-// call: "        obj->set_start(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
-void
-    casadi__DaeBuilder__set_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        double x1_ = Marshaling<double,double>::marshal(x1);
-
-        obj->set_start(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_start"
-// cWrapperName: "casadi__DaeBuilder__set_start__3"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
-// call: "        obj->set_start(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
-void
-    casadi__DaeBuilder__set_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        double x1_ = Marshaling<double,double>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->set_start(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_unit" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::set_unit"
-// cWrapperName: "casadi__DaeBuilder__set_unit"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__set_unit(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1)"
-// call: "        obj->set_unit(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__DaeBuilder__set_unit(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1);
-void
-    casadi__DaeBuilder__set_unit(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        obj->set_unit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "sort_alg" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::sort_alg"
-// cWrapperName: "casadi__DaeBuilder__sort_alg"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__sort_alg(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        obj->sort_alg();"
-// params: []
-extern "C"
-void
-    casadi__DaeBuilder__sort_alg(std::string ** err_msg, casadi::DaeBuilder* obj);
-void
-    casadi__DaeBuilder__sort_alg(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        obj->sort_alg();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "sort_d" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::sort_d"
-// cWrapperName: "casadi__DaeBuilder__sort_d"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__sort_d(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        obj->sort_d();"
-// params: []
-extern "C"
-void
-    casadi__DaeBuilder__sort_d(std::string ** err_msg, casadi::DaeBuilder* obj);
-void
-    casadi__DaeBuilder__sort_d(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        obj->sort_d();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "sort_dae" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::sort_dae"
-// cWrapperName: "casadi__DaeBuilder__sort_dae"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__sort_dae(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        obj->sort_dae();"
-// params: []
-extern "C"
-void
-    casadi__DaeBuilder__sort_dae(std::string ** err_msg, casadi::DaeBuilder* obj);
-void
-    casadi__DaeBuilder__sort_dae(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        obj->sort_dae();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "split_d" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::split_d"
-// cWrapperName: "casadi__DaeBuilder__split_d"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__split_d(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        obj->split_d();"
-// params: []
-extern "C"
-void
-    casadi__DaeBuilder__split_d(std::string ** err_msg, casadi::DaeBuilder* obj);
-void
-    casadi__DaeBuilder__split_d(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        obj->split_d();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "split_dae" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::split_dae"
-// cWrapperName: "casadi__DaeBuilder__split_dae"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__DaeBuilder__split_dae(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        obj->split_dae();"
-// params: []
-extern "C"
-void
-    casadi__DaeBuilder__split_dae(std::string ** err_msg, casadi::DaeBuilder* obj);
-void
-    casadi__DaeBuilder__split_dae(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        obj->split_dae();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::start"
-// cWrapperName: "casadi__DaeBuilder__start__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: StdVec CDouble
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    casadi__DaeBuilder__start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// call: "        std::vector< double > ret = obj->start(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-std::vector< double >*
-    casadi__DaeBuilder__start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
-std::vector< double >*
-    casadi__DaeBuilder__start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        std::vector< double > ret = obj->start(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::start"
-// cWrapperName: "casadi__DaeBuilder__start__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: StdVec CDouble
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    casadi__DaeBuilder__start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
-// call: "        std::vector< double > ret = obj->start(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-std::vector< double >*
-    casadi__DaeBuilder__start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
-std::vector< double >*
-    casadi__DaeBuilder__start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        std::vector< double > ret = obj->start(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::start"
-// cWrapperName: "casadi__DaeBuilder__start__2"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__DaeBuilder__start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        double ret = obj->start(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-double
-    casadi__DaeBuilder__start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-double
-    casadi__DaeBuilder__start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        double ret = obj->start(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "start" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::start"
-// cWrapperName: "casadi__DaeBuilder__start__3"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__DaeBuilder__start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
-// call: "        double ret = obj->start(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-double
-    casadi__DaeBuilder__start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
-double
-    casadi__DaeBuilder__start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        double ret = obj->start(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "unit" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::unit"
-// cWrapperName: "casadi__DaeBuilder__unit__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__DaeBuilder__unit__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
-// call: "        std::string ret = obj->unit(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__DaeBuilder__unit__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
-std::string*
-    casadi__DaeBuilder__unit__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        std::string ret = obj->unit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "unit" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::unit"
-// cWrapperName: "casadi__DaeBuilder__unit__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__DaeBuilder__unit__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        std::string ret = obj->unit(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__DaeBuilder__unit__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-std::string*
-    casadi__DaeBuilder__unit__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = obj->unit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "variable" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::variable"
-// cWrapperName: "casadi__DaeBuilder__variable__0"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Variable"))
-// cWrapperRetType: "casadi::Variable*"
-// proto: "casadi::Variable*\n    casadi__DaeBuilder__variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        casadi::Variable ret = obj->variable(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Variable*
-    casadi__DaeBuilder__variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-casadi::Variable*
-    casadi__DaeBuilder__variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Variable ret = obj->variable(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Variable*, casadi::Variable >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "variable" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::variable"
-// cWrapperName: "casadi__DaeBuilder__variable__1"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
-// cWrapperRetType: "casadi::Variable*"
-// proto: "casadi::Variable*\n    casadi__DaeBuilder__variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
-// call: "        casadi::Variable ret = obj->variable(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Variable*
-    casadi__DaeBuilder__variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
-casadi::Variable*
-    casadi__DaeBuilder__variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Variable ret = obj->variable(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Variable*, casadi::Variable >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getRepresentation" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::getRepresentation"
-// cWrapperName: "casadi__DaeBuilder__getRepresentation"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__DaeBuilder__getRepresentation(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        std::string ret = obj->getRepresentation();"
-// params: []
-extern "C"
-std::string*
-    casadi__DaeBuilder__getRepresentation(std::string ** err_msg, casadi::DaeBuilder* obj);
-std::string*
-    casadi__DaeBuilder__getRepresentation(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        std::string ret = obj->getRepresentation();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getDescription" ===============
-// class: "casadi::DaeBuilder"
-// cppName: "casadi::DaeBuilder::getDescription"
-// cWrapperName: "casadi__DaeBuilder__getDescription"
-// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__DaeBuilder__getDescription(std::string ** err_msg, casadi::DaeBuilder* obj)"
-// call: "        std::string ret = obj->getDescription();"
-// params: []
-extern "C"
-std::string*
-    casadi__DaeBuilder__getDescription(std::string ** err_msg, casadi::DaeBuilder* obj);
-std::string*
-    casadi__DaeBuilder__getDescription(std::string ** err_msg, casadi::DaeBuilder* obj){
-    try {
-
-        std::string ret = obj->getDescription();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "Function")===============
-// classType: UserType (Namespace ["casadi"]) (Name "Function")
-extern "C"
-void delete_casadi__Function(casadi::Function* obj);
-void delete_casadi__Function(casadi::Function* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function"
-// cWrapperName: "casadi__Function__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
-// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3);
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::map< std::string, casadi::MX > x1_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x1);
-        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
-        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
-
-        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function"
-// cWrapperName: "casadi__Function__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::map< std::string, casadi::MX > x1_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x1);
-        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
-        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
-        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
-
-        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function"
-// cWrapperName: "casadi__Function__CONSTRUCTOR__2"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
-// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4);
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
-        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
-        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
-
-        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function"
-// cWrapperName: "casadi__Function__CONSTRUCTOR__3"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
-// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5);
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
-        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
-        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
-        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);
-
-        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function"
-// cWrapperName: "casadi__Function__CONSTRUCTOR__4"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
-// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
-
-        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function"
-// cWrapperName: "casadi__Function__CONSTRUCTOR__5"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function"
-// cWrapperName: "casadi__Function__CONSTRUCTOR__6"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
-// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3);
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::map< std::string, casadi::SX > x1_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x1);
-        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
-        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
-
-        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function"
-// cWrapperName: "casadi__Function__CONSTRUCTOR__7"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::map< std::string, casadi::SX > x1_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x1);
-        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
-        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
-        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
-
-        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function"
-// cWrapperName: "casadi__Function__CONSTRUCTOR__8"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__8(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
-// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__8(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4);
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__8(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
-        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
-        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
-
-        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function"
-// cWrapperName: "casadi__Function__CONSTRUCTOR__9"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__9(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
-// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__9(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5);
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__9(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
-        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
-        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
-        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);
-
-        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function"
-// cWrapperName: "casadi__Function__CONSTRUCTOR__10"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
-// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2);
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
-
-        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function"
-// cWrapperName: "casadi__Function__CONSTRUCTOR__11"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__11(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__11(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__11(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function"
-// cWrapperName: "casadi__Function__CONSTRUCTOR__12"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__12(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__12(std::string ** err_msg, std::string* x0);
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__12(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function"
-// cWrapperName: "casadi__Function__CONSTRUCTOR__13"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__13(std::string ** err_msg)"
-// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__13(std::string ** err_msg);
-casadi::Function*
-    casadi__Function__CONSTRUCTOR__13(std::string ** err_msg){
-    try {
-
-        casadi::Function* ret = (casadi::Function*)new casadi::Function();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "assert_size_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::assert_size_in"
-// cWrapperName: "casadi__Function__assert_size_in"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__assert_size_in(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2)"
-// call: "        obj->assert_size_in(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__assert_size_in(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2);
-void
-    casadi__Function__assert_size_in(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        obj->assert_size_in(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "assert_size_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::assert_size_out"
-// cWrapperName: "casadi__Function__assert_size_out"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__assert_size_out(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2)"
-// call: "        obj->assert_size_out(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__assert_size_out(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2);
-void
-    casadi__Function__assert_size_out(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        obj->assert_size_out(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__0(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1)"
-// call: "        obj->call(x0_, x1_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True)]
-extern "C"
-void
-    casadi__Function__call__0(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1);
-void
-    casadi__Function__call__0(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1){
-    try {
-        std::map< std::string, casadi::MX > x0_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x0);
-        std::map< std::string, casadi::MX > x1_ = std::map< std::string, casadi::MX >();  // Swig output
-
-        obj->call(x0_, x1_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::map< std::string, casadi::MX* >*, std::map< std::string, casadi::MX > >::wrapReturn( x1_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2)"
-// call: "        obj->call(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__call__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2);
-void
-    casadi__Function__call__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2){
-    try {
-        std::map< std::string, casadi::MX > x0_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x0);
-        std::map< std::string, casadi::MX > x1_ = std::map< std::string, casadi::MX >();  // Swig output
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->call(x0_, x1_, x2_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::map< std::string, casadi::MX* >*, std::map< std::string, casadi::MX > >::wrapReturn( x1_ );
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__2(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2, int x3)"
-// call: "        obj->call(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__call__2(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2, int x3);
-void
-    casadi__Function__call__2(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2, int x3){
-    try {
-        std::map< std::string, casadi::MX > x0_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x0);
-        std::map< std::string, casadi::MX > x1_ = std::map< std::string, casadi::MX >();  // Swig output
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        obj->call(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::map< std::string, casadi::MX* >*, std::map< std::string, casadi::MX > >::wrapReturn( x1_ );
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__3(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1)"
-// call: "        obj->call(x0_, x1_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True)]
-extern "C"
-void
-    casadi__Function__call__3(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1);
-void
-    casadi__Function__call__3(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1){
-    try {
-        std::map< std::string, casadi::SX > x0_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x0);
-        std::map< std::string, casadi::SX > x1_ = std::map< std::string, casadi::SX >();  // Swig output
-
-        obj->call(x0_, x1_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::map< std::string, casadi::SX* >*, std::map< std::string, casadi::SX > >::wrapReturn( x1_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2)"
-// call: "        obj->call(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__call__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2);
-void
-    casadi__Function__call__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2){
-    try {
-        std::map< std::string, casadi::SX > x0_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x0);
-        std::map< std::string, casadi::SX > x1_ = std::map< std::string, casadi::SX >();  // Swig output
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->call(x0_, x1_, x2_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::map< std::string, casadi::SX* >*, std::map< std::string, casadi::SX > >::wrapReturn( x1_ );
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2, int x3)"
-// call: "        obj->call(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__call__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2, int x3);
-void
-    casadi__Function__call__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2, int x3){
-    try {
-        std::map< std::string, casadi::SX > x0_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x0);
-        std::map< std::string, casadi::SX > x1_ = std::map< std::string, casadi::SX >();  // Swig output
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        obj->call(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::map< std::string, casadi::SX* >*, std::map< std::string, casadi::SX > >::wrapReturn( x1_ );
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__6(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1)"
-// call: "        obj->call(x0_, x1_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True)]
-extern "C"
-void
-    casadi__Function__call__6(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1);
-void
-    casadi__Function__call__6(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1){
-    try {
-        std::map< std::string, casadi::DM > x0_ = Marshaling<std::map< std::string, casadi::DM >,std::map< std::string, casadi::DM* >*>::marshal(x0);
-        std::map< std::string, casadi::DM > x1_ = std::map< std::string, casadi::DM >();  // Swig output
-
-        obj->call(x0_, x1_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( x1_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__7"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__7(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2)"
-// call: "        obj->call(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__call__7(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2);
-void
-    casadi__Function__call__7(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2){
-    try {
-        std::map< std::string, casadi::DM > x0_ = Marshaling<std::map< std::string, casadi::DM >,std::map< std::string, casadi::DM* >*>::marshal(x0);
-        std::map< std::string, casadi::DM > x1_ = std::map< std::string, casadi::DM >();  // Swig output
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->call(x0_, x1_, x2_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( x1_ );
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__8"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__8(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2, int x3)"
-// call: "        obj->call(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__call__8(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2, int x3);
-void
-    casadi__Function__call__8(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2, int x3){
-    try {
-        std::map< std::string, casadi::DM > x0_ = Marshaling<std::map< std::string, casadi::DM >,std::map< std::string, casadi::DM* >*>::marshal(x0);
-        std::map< std::string, casadi::DM > x1_ = std::map< std::string, casadi::DM >();  // Swig output
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        obj->call(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( x1_ );
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__9"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1)"
-// call: "        obj->call(x0_, x1_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True)]
-extern "C"
-void
-    casadi__Function__call__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1);
-void
-    casadi__Function__call__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = std::vector< casadi::MX >();  // Swig output
-
-        obj->call(x0_, x1_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( x1_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__10"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__10(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2)"
-// call: "        obj->call(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__call__10(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2);
-void
-    casadi__Function__call__10(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = std::vector< casadi::MX >();  // Swig output
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->call(x0_, x1_, x2_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( x1_ );
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__11"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__11(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2, int x3)"
-// call: "        obj->call(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__call__11(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2, int x3);
-void
-    casadi__Function__call__11(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2, int x3){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = std::vector< casadi::MX >();  // Swig output
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        obj->call(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( x1_ );
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__12"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__12(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1)"
-// call: "        obj->call(x0_, x1_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True)]
-extern "C"
-void
-    casadi__Function__call__12(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1);
-void
-    casadi__Function__call__12(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = std::vector< casadi::SX >();  // Swig output
-
-        obj->call(x0_, x1_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( x1_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__13"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__13(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2)"
-// call: "        obj->call(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__call__13(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2);
-void
-    casadi__Function__call__13(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = std::vector< casadi::SX >();  // Swig output
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->call(x0_, x1_, x2_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( x1_ );
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__14"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__14(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2, int x3)"
-// call: "        obj->call(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__call__14(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2, int x3);
-void
-    casadi__Function__call__14(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2, int x3){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = std::vector< casadi::SX >();  // Swig output
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        obj->call(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( x1_ );
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__15"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__15(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1)"
-// call: "        obj->call(x0_, x1_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True)]
-extern "C"
-void
-    casadi__Function__call__15(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1);
-void
-    casadi__Function__call__15(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = std::vector< casadi::DM >();  // Swig output
-
-        obj->call(x0_, x1_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( x1_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__16"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__16(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2)"
-// call: "        obj->call(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__call__16(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2);
-void
-    casadi__Function__call__16(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = std::vector< casadi::DM >();  // Swig output
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->call(x0_, x1_, x2_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( x1_ );
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::call"
-// cWrapperName: "casadi__Function__call__17"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__call__17(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2, int x3)"
-// call: "        obj->call(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__call__17(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2, int x3);
-void
-    casadi__Function__call__17(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2, int x3){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = std::vector< casadi::DM >();  // Swig output
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        obj->call(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( x1_ );
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "checkInputs" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::checkInputs"
-// cWrapperName: "casadi__Function__checkInputs"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__checkInputs(std::string ** err_msg, casadi::Function* obj)"
-// call: "        obj->checkInputs();"
-// params: []
-extern "C"
-void
-    casadi__Function__checkInputs(std::string ** err_msg, casadi::Function* obj);
-void
-    casadi__Function__checkInputs(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        obj->checkInputs();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "check_name" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::check_name"
-// cWrapperName: "casadi__Function__check_name"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__check_name(std::string ** err_msg, std::string* x0)"
-// call: "        bool ret = casadi::Function::check_name(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Function__check_name(std::string ** err_msg, std::string* x0);
-int
-    casadi__Function__check_name(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = casadi::Function::check_name(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "checkout" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::checkout"
-// cWrapperName: "casadi__Function__checkout"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__checkout(std::string ** err_msg, casadi::Function* obj)"
-// call: "        int ret = obj->checkout();"
-// params: []
-extern "C"
-int
-    casadi__Function__checkout(std::string ** err_msg, casadi::Function* obj);
-int
-    casadi__Function__checkout(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        int ret = obj->checkout();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "conditional" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::conditional"
-// cWrapperName: "casadi__Function__conditional__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__conditional__0(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2)"
-// call: "        casadi::Function ret = casadi::Function::conditional(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Function")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__conditional__0(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2);
-casadi::Function*
-    casadi__Function__conditional__0(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< casadi::Function > x1_ = Marshaling<std::vector< casadi::Function >,std::vector< casadi::Function* >*>::marshal(x1);
-        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
-
-        casadi::Function ret = casadi::Function::conditional(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "conditional" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::conditional"
-// cWrapperName: "casadi__Function__conditional__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__conditional__1(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// call: "        casadi::Function ret = casadi::Function::conditional(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Function")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__conditional__1(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    casadi__Function__conditional__1(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< casadi::Function > x1_ = Marshaling<std::vector< casadi::Function >,std::vector< casadi::Function* >*>::marshal(x1);
-        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = casadi::Function::conditional(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "conic_debug" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::conic_debug"
-// cWrapperName: "casadi__Function__conic_debug"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__conic_debug(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        obj->conic_debug(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__conic_debug(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-void
-    casadi__Function__conic_debug(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        obj->conic_debug(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "default_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::default_in"
-// cWrapperName: "casadi__Function__default_in"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__Function__default_in(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        double ret = obj->default_in(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-double
-    casadi__Function__default_in(std::string ** err_msg, casadi::Function* obj, int x0);
-double
-    casadi__Function__default_in(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        double ret = obj->default_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "expand" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::expand"
-// cWrapperName: "casadi__Function__expand__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__expand__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        casadi::Function ret = obj->expand(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__expand__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-casadi::Function*
-    casadi__Function__expand__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Function ret = obj->expand(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "expand" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::expand"
-// cWrapperName: "casadi__Function__expand__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__expand__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// call: "        casadi::Function ret = obj->expand(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__expand__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
-casadi::Function*
-    casadi__Function__expand__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
-
-        casadi::Function ret = obj->expand(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "expand" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::expand"
-// cWrapperName: "casadi__Function__expand__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__expand__2(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::Function ret = obj->expand();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__Function__expand__2(std::string ** err_msg, casadi::Function* obj);
-casadi::Function*
-    casadi__Function__expand__2(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::Function ret = obj->expand();
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "factory" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::factory"
-// cWrapperName: "casadi__Function__factory"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__factory(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
-// call: "        casadi::Function ret = obj->factory(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__factory(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2);
-casadi::Function*
-    casadi__Function__factory(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
-        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
-
-        casadi::Function ret = obj->factory(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "fix_name" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::fix_name"
-// cWrapperName: "casadi__Function__fix_name"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Function__fix_name(std::string ** err_msg, std::string* x0)"
-// call: "        std::string ret = casadi::Function::fix_name(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Function__fix_name(std::string ** err_msg, std::string* x0);
-std::string*
-    casadi__Function__fix_name(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = casadi::Function::fix_name(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "forward" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::forward"
-// cWrapperName: "casadi__Function__forward__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__forward__0(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::Function ret = obj->forward(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__forward__0(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::Function*
-    casadi__Function__forward__0(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Function ret = obj->forward(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "forward" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::forward"
-// cWrapperName: "casadi__Function__forward__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__forward__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3)"
-// call: "        obj->forward(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput True)]
-extern "C"
-void
-    casadi__Function__forward__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3);
-void
-    casadi__Function__forward__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        std::vector< std::vector< casadi::DM > > x2_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::DM > > x3_ = std::vector< std::vector< casadi::DM > >();  // Swig output
-
-        obj->forward(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( x3_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "forward" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::forward"
-// cWrapperName: "casadi__Function__forward__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__forward__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4)"
-// call: "        obj->forward(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__forward__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4);
-void
-    casadi__Function__forward__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        std::vector< std::vector< casadi::DM > > x2_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::DM > > x3_ = std::vector< std::vector< casadi::DM > >();  // Swig output
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        obj->forward(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "forward" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::forward"
-// cWrapperName: "casadi__Function__forward__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4, int x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__forward__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4, int x5)"
-// call: "        obj->forward(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__forward__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4, int x5);
-void
-    casadi__Function__forward__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4, int x5){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        std::vector< std::vector< casadi::DM > > x2_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::DM > > x3_ = std::vector< std::vector< casadi::DM > >();  // Swig output
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-        bool x5_ = Marshaling<bool,int>::marshal(x5);
-
-        obj->forward(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "forward" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::forward"
-// cWrapperName: "casadi__Function__forward__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__forward__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3)"
-// call: "        obj->forward(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput True)]
-extern "C"
-void
-    casadi__Function__forward__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3);
-void
-    casadi__Function__forward__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::SX > > x3_ = std::vector< std::vector< casadi::SX > >();  // Swig output
-
-        obj->forward(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( x3_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "forward" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::forward"
-// cWrapperName: "casadi__Function__forward__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__forward__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4)"
-// call: "        obj->forward(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__forward__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4);
-void
-    casadi__Function__forward__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::SX > > x3_ = std::vector< std::vector< casadi::SX > >();  // Swig output
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        obj->forward(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "forward" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::forward"
-// cWrapperName: "casadi__Function__forward__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4, int x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__forward__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4, int x5)"
-// call: "        obj->forward(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__forward__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4, int x5);
-void
-    casadi__Function__forward__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4, int x5){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::SX > > x3_ = std::vector< std::vector< casadi::SX > >();  // Swig output
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-        bool x5_ = Marshaling<bool,int>::marshal(x5);
-
-        obj->forward(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "forward" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::forward"
-// cWrapperName: "casadi__Function__forward__7"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__forward__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3)"
-// call: "        obj->forward(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput True)]
-extern "C"
-void
-    casadi__Function__forward__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3);
-void
-    casadi__Function__forward__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::MX > > x3_ = std::vector< std::vector< casadi::MX > >();  // Swig output
-
-        obj->forward(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( x3_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "forward" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::forward"
-// cWrapperName: "casadi__Function__forward__8"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__forward__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4)"
-// call: "        obj->forward(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__forward__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4);
-void
-    casadi__Function__forward__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::MX > > x3_ = std::vector< std::vector< casadi::MX > >();  // Swig output
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        obj->forward(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "forward" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::forward"
-// cWrapperName: "casadi__Function__forward__9"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4, int x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__forward__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4, int x5)"
-// call: "        obj->forward(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__forward__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4, int x5);
-void
-    casadi__Function__forward__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4, int x5){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::MX > > x3_ = std::vector< std::vector< casadi::MX > >();  // Swig output
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-        bool x5_ = Marshaling<bool,int>::marshal(x5);
-
-        obj->forward(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "forward_new" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::forward_new"
-// cWrapperName: "casadi__Function__forward_new"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__forward_new(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::Function ret = obj->forward_new(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__forward_new(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::Function*
-    casadi__Function__forward_new(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Function ret = obj->forward_new(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "free_mx" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::free_mx"
-// cWrapperName: "casadi__Function__free_mx"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi__Function__free_mx(std::string ** err_msg, casadi::Function* obj)"
-// call: "        std::vector< casadi::MX > ret = obj->free_mx();"
-// params: []
-extern "C"
-std::vector< casadi::MX* >*
-    casadi__Function__free_mx(std::string ** err_msg, casadi::Function* obj);
-std::vector< casadi::MX* >*
-    casadi__Function__free_mx(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        std::vector< casadi::MX > ret = obj->free_mx();
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "free_sx" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::free_sx"
-// cWrapperName: "casadi__Function__free_sx"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi__Function__free_sx(std::string ** err_msg, casadi::Function* obj)"
-// call: "        std::vector< casadi::SX > ret = obj->free_sx();"
-// params: []
-extern "C"
-std::vector< casadi::SX* >*
-    casadi__Function__free_sx(std::string ** err_msg, casadi::Function* obj);
-std::vector< casadi::SX* >*
-    casadi__Function__free_sx(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        std::vector< casadi::SX > ret = obj->free_sx();
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "fullJacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::fullJacobian"
-// cWrapperName: "casadi__Function__fullJacobian"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__fullJacobian(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::Function ret = obj->fullJacobian();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__Function__fullJacobian(std::string ** err_msg, casadi::Function* obj);
-casadi::Function*
-    casadi__Function__fullJacobian(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::Function ret = obj->fullJacobian();
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "generate" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::generate"
-// cWrapperName: "casadi__Function__generate__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj)"
-// call: "        std::string ret = obj->generate();"
-// params: []
-extern "C"
-std::string*
-    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj);
-std::string*
-    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        std::string ret = obj->generate();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "generate" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::generate"
-// cWrapperName: "casadi__Function__generate__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Function__generate__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0)"
-// call: "        std::string ret = obj->generate(x0_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Function__generate__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0);
-std::string*
-    casadi__Function__generate__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0){
-    try {
-        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);
-
-        std::string ret = obj->generate(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "generate" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::generate"
-// cWrapperName: "casadi__Function__generate__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Function__generate__2(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        std::string ret = obj->generate(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Function__generate__2(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-std::string*
-    casadi__Function__generate__2(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = obj->generate(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "generate" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::generate"
-// cWrapperName: "casadi__Function__generate__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// args: "(x0_, x1_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Function__generate__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// call: "        std::string ret = obj->generate(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Function__generate__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
-std::string*
-    casadi__Function__generate__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
-
-        std::string ret = obj->generate(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "generate_dependencies" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::generate_dependencies"
-// cWrapperName: "casadi__Function__generate_dependencies__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Function__generate_dependencies__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        std::string ret = obj->generate_dependencies(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Function__generate_dependencies__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-std::string*
-    casadi__Function__generate_dependencies__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = obj->generate_dependencies(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "generate_dependencies" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::generate_dependencies"
-// cWrapperName: "casadi__Function__generate_dependencies__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// args: "(x0_, x1_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Function__generate_dependencies__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// call: "        std::string ret = obj->generate_dependencies(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Function__generate_dependencies__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
-std::string*
-    casadi__Function__generate_dependencies__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
-
-        std::string ret = obj->generate_dependencies(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "generate_lifted" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::generate_lifted"
-// cWrapperName: "casadi__Function__generate_lifted"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function** x0, casadi::Function** x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__generate_lifted(std::string ** err_msg, casadi::Function* obj, casadi::Function** x0, casadi::Function** x1)"
-// call: "        obj->generate_lifted(x0_, x1_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "Function")),SwigOutput True),(Ref (UserType (Namespace ["casadi"]) (Name "Function")),SwigOutput True)]
-extern "C"
-void
-    casadi__Function__generate_lifted(std::string ** err_msg, casadi::Function* obj, casadi::Function** x0, casadi::Function** x1);
-void
-    casadi__Function__generate_lifted(std::string ** err_msg, casadi::Function* obj, casadi::Function** x0, casadi::Function** x1){
-    try {
-        casadi::Function x0_ = casadi::Function();  // Swig output
-        casadi::Function x1_ = casadi::Function();  // Swig output
-
-        obj->generate_lifted(x0_, x1_);
-        *x0 = WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( x0_ );
-        *x1 = WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( x1_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "getAlgorithmSize" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::getAlgorithmSize"
-// cWrapperName: "casadi__Function__getAlgorithmSize"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__getAlgorithmSize(std::string ** err_msg, casadi::Function* obj)"
-// call: "        int ret = obj->getAlgorithmSize();"
-// params: []
-extern "C"
-int
-    casadi__Function__getAlgorithmSize(std::string ** err_msg, casadi::Function* obj);
-int
-    casadi__Function__getAlgorithmSize(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        int ret = obj->getAlgorithmSize();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getAtomicInput" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::getAtomicInput"
-// cWrapperName: "casadi__Function__getAtomicInput"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: StdPair CInt CInt
-// cWrapperRetType: "std::pair< int, int >*"
-// proto: "std::pair< int, int >*\n    casadi__Function__getAtomicInput(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        std::pair< int, int > ret = obj->getAtomicInput(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-std::pair< int, int >*
-    casadi__Function__getAtomicInput(std::string ** err_msg, casadi::Function* obj, int x0);
-std::pair< int, int >*
-    casadi__Function__getAtomicInput(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::pair< int, int > ret = obj->getAtomicInput(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getAtomicInputReal" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::getAtomicInputReal"
-// cWrapperName: "casadi__Function__getAtomicInputReal"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__Function__getAtomicInputReal(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        double ret = obj->getAtomicInputReal(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-double
-    casadi__Function__getAtomicInputReal(std::string ** err_msg, casadi::Function* obj, int x0);
-double
-    casadi__Function__getAtomicInputReal(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        double ret = obj->getAtomicInputReal(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getAtomicOperation" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::getAtomicOperation"
-// cWrapperName: "casadi__Function__getAtomicOperation"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__getAtomicOperation(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        int ret = obj->getAtomicOperation(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Function__getAtomicOperation(std::string ** err_msg, casadi::Function* obj, int x0);
-int
-    casadi__Function__getAtomicOperation(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->getAtomicOperation(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getAtomicOutput" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::getAtomicOutput"
-// cWrapperName: "casadi__Function__getAtomicOutput"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__getAtomicOutput(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        int ret = obj->getAtomicOutput(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Function__getAtomicOutput(std::string ** err_msg, casadi::Function* obj, int x0);
-int
-    casadi__Function__getAtomicOutput(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->getAtomicOutput(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getWorkSize" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::getWorkSize"
-// cWrapperName: "casadi__Function__getWorkSize"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__getWorkSize(std::string ** err_msg, casadi::Function* obj)"
-// call: "        int ret = obj->getWorkSize();"
-// params: []
-extern "C"
-int
-    casadi__Function__getWorkSize(std::string ** err_msg, casadi::Function* obj);
-int
-    casadi__Function__getWorkSize(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        int ret = obj->getWorkSize();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_function" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::get_function"
-// cWrapperName: "casadi__Function__get_function__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__get_function__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        casadi::Function ret = obj->get_function(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__get_function__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-casadi::Function*
-    casadi__Function__get_function__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Function ret = obj->get_function(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_function" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::get_function"
-// cWrapperName: "casadi__Function__get_function__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: StdVec StdString
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    casadi__Function__get_function__1(std::string ** err_msg, casadi::Function* obj)"
-// call: "        std::vector< std::string > ret = obj->get_function();"
-// params: []
-extern "C"
-std::vector< std::string* >*
-    casadi__Function__get_function__1(std::string ** err_msg, casadi::Function* obj);
-std::vector< std::string* >*
-    casadi__Function__get_function__1(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        std::vector< std::string > ret = obj->get_function();
-
-        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "gradient" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::gradient"
-// cWrapperName: "casadi__Function__gradient__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__gradient__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
-// call: "        casadi::Function ret = obj->gradient(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__gradient__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1);
-casadi::Function*
-    casadi__Function__gradient__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Function ret = obj->gradient(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "gradient" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::gradient"
-// cWrapperName: "casadi__Function__gradient__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__gradient__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
-// call: "        casadi::Function ret = obj->gradient(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__gradient__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1);
-casadi::Function*
-    casadi__Function__gradient__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Function ret = obj->gradient(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "gradient" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::gradient"
-// cWrapperName: "casadi__Function__gradient__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__gradient__2(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        casadi::Function ret = obj->gradient(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__gradient__2(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-casadi::Function*
-    casadi__Function__gradient__2(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Function ret = obj->gradient(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "gradient" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::gradient"
-// cWrapperName: "casadi__Function__gradient__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__gradient__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
-// call: "        casadi::Function ret = obj->gradient(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__gradient__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
-casadi::Function*
-    casadi__Function__gradient__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Function ret = obj->gradient(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "gradient" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::gradient"
-// cWrapperName: "casadi__Function__gradient__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__gradient__4(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::Function ret = obj->gradient();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__Function__gradient__4(std::string ** err_msg, casadi::Function* obj);
-casadi::Function*
-    casadi__Function__gradient__4(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::Function ret = obj->gradient();
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "gradient" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::gradient"
-// cWrapperName: "casadi__Function__gradient__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__gradient__5(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::Function ret = obj->gradient(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__gradient__5(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::Function*
-    casadi__Function__gradient__5(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Function ret = obj->gradient(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "gradient" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::gradient"
-// cWrapperName: "casadi__Function__gradient__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__gradient__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// call: "        casadi::Function ret = obj->gradient(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__gradient__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1);
-casadi::Function*
-    casadi__Function__gradient__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Function ret = obj->gradient(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_free" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::has_free"
-// cWrapperName: "casadi__Function__has_free"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__has_free(std::string ** err_msg, casadi::Function* obj)"
-// call: "        bool ret = obj->has_free();"
-// params: []
-extern "C"
-int
-    casadi__Function__has_free(std::string ** err_msg, casadi::Function* obj);
-int
-    casadi__Function__has_free(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        bool ret = obj->has_free();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_function" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::has_function"
-// cWrapperName: "casadi__Function__has_function"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__has_function(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        bool ret = obj->has_function(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Function__has_function(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-int
-    casadi__Function__has_function(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = obj->has_function(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "hessian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::hessian"
-// cWrapperName: "casadi__Function__hessian__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__hessian__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
-// call: "        casadi::Function ret = obj->hessian(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__hessian__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1);
-casadi::Function*
-    casadi__Function__hessian__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Function ret = obj->hessian(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "hessian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::hessian"
-// cWrapperName: "casadi__Function__hessian__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__hessian__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
-// call: "        casadi::Function ret = obj->hessian(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__hessian__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1);
-casadi::Function*
-    casadi__Function__hessian__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Function ret = obj->hessian(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "hessian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::hessian"
-// cWrapperName: "casadi__Function__hessian__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__hessian__2(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        casadi::Function ret = obj->hessian(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__hessian__2(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-casadi::Function*
-    casadi__Function__hessian__2(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Function ret = obj->hessian(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "hessian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::hessian"
-// cWrapperName: "casadi__Function__hessian__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__hessian__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
-// call: "        casadi::Function ret = obj->hessian(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__hessian__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
-casadi::Function*
-    casadi__Function__hessian__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Function ret = obj->hessian(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "hessian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::hessian"
-// cWrapperName: "casadi__Function__hessian__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__hessian__4(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::Function ret = obj->hessian();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__Function__hessian__4(std::string ** err_msg, casadi::Function* obj);
-casadi::Function*
-    casadi__Function__hessian__4(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::Function ret = obj->hessian();
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "hessian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::hessian"
-// cWrapperName: "casadi__Function__hessian__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__hessian__5(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::Function ret = obj->hessian(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__hessian__5(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::Function*
-    casadi__Function__hessian__5(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Function ret = obj->hessian(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "hessian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::hessian"
-// cWrapperName: "casadi__Function__hessian__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__hessian__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// call: "        casadi::Function ret = obj->hessian(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__hessian__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1);
-casadi::Function*
-    casadi__Function__hessian__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Function ret = obj->hessian(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "if_else" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::if_else"
-// cWrapperName: "casadi__Function__if_else__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__if_else__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2)"
-// call: "        casadi::Function ret = casadi::Function::if_else(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__if_else__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2);
-casadi::Function*
-    casadi__Function__if_else__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
-        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
-
-        casadi::Function ret = casadi::Function::if_else(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "if_else" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::if_else"
-// cWrapperName: "casadi__Function__if_else__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__if_else__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// call: "        casadi::Function ret = casadi::Function::if_else(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__if_else__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    casadi__Function__if_else__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
-        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = casadi::Function::if_else(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "index_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::index_in"
-// cWrapperName: "casadi__Function__index_in"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__index_in(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        int ret = obj->index_in(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Function__index_in(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-int
-    casadi__Function__index_in(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        int ret = obj->index_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "index_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::index_out"
-// cWrapperName: "casadi__Function__index_out"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__index_out(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        int ret = obj->index_out(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Function__index_out(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-int
-    casadi__Function__index_out(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        int ret = obj->index_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_a" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::is_a"
-// cWrapperName: "casadi__Function__is_a__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__is_a__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        bool ret = obj->is_a(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Function__is_a__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-int
-    casadi__Function__is_a__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = obj->is_a(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_a" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::is_a"
-// cWrapperName: "casadi__Function__is_a__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__is_a__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
-// call: "        bool ret = obj->is_a(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__Function__is_a__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
-int
-    casadi__Function__is_a__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        bool ret = obj->is_a(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
-// call: "        casadi::Function ret = obj->jacobian(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1);
-casadi::Function*
-    casadi__Function__jacobian__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Function ret = obj->jacobian(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2)"
-// call: "        casadi::Function ret = obj->jacobian(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2);
-casadi::Function*
-    casadi__Function__jacobian__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::Function ret = obj->jacobian(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3)"
-// call: "        casadi::Function ret = obj->jacobian(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3);
-casadi::Function*
-    casadi__Function__jacobian__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::Function ret = obj->jacobian(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__3(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
-// call: "        casadi::Function ret = obj->jacobian(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__3(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1);
-casadi::Function*
-    casadi__Function__jacobian__3(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Function ret = obj->jacobian(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__4(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2)"
-// call: "        casadi::Function ret = obj->jacobian(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__4(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2);
-casadi::Function*
-    casadi__Function__jacobian__4(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::Function ret = obj->jacobian(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__5(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3)"
-// call: "        casadi::Function ret = obj->jacobian(x0_, x1_, x2_, x3_);"
-// params: [(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__5(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3);
-casadi::Function*
-    casadi__Function__jacobian__5(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::Function ret = obj->jacobian(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__6(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        casadi::Function ret = obj->jacobian(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__6(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-casadi::Function*
-    casadi__Function__jacobian__6(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Function ret = obj->jacobian(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__7"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
-// call: "        casadi::Function ret = obj->jacobian(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
-casadi::Function*
-    casadi__Function__jacobian__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Function ret = obj->jacobian(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__8"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2)"
-// call: "        casadi::Function ret = obj->jacobian(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2);
-casadi::Function*
-    casadi__Function__jacobian__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::Function ret = obj->jacobian(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__9"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3)"
-// call: "        casadi::Function ret = obj->jacobian(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3);
-casadi::Function*
-    casadi__Function__jacobian__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::Function ret = obj->jacobian(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__10"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__10(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::Function ret = obj->jacobian();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__10(std::string ** err_msg, casadi::Function* obj);
-casadi::Function*
-    casadi__Function__jacobian__10(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::Function ret = obj->jacobian();
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__11"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__11(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::Function ret = obj->jacobian(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__11(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::Function*
-    casadi__Function__jacobian__11(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Function ret = obj->jacobian(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__12"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__12(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// call: "        casadi::Function ret = obj->jacobian(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__12(std::string ** err_msg, casadi::Function* obj, int x0, int x1);
-casadi::Function*
-    casadi__Function__jacobian__12(std::string ** err_msg, casadi::Function* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Function ret = obj->jacobian(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__13"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__13(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2)"
-// call: "        casadi::Function ret = obj->jacobian(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__13(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2);
-casadi::Function*
-    casadi__Function__jacobian__13(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::Function ret = obj->jacobian(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::jacobian"
-// cWrapperName: "casadi__Function__jacobian__14"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__jacobian__14(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3)"
-// call: "        casadi::Function ret = obj->jacobian(x0_, x1_, x2_, x3_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__jacobian__14(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3);
-casadi::Function*
-    casadi__Function__jacobian__14(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::Function ret = obj->jacobian(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "map" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::map"
-// cWrapperName: "casadi__Function__map__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__map__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
-// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__map__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4);
-casadi::Function*
-    casadi__Function__map__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
-        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
-
-        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "map" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::map"
-// cWrapperName: "casadi__Function__map__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__map__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
-// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__map__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5);
-casadi::Function*
-    casadi__Function__map__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
-        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
-        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);
-
-        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "map" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::map"
-// cWrapperName: "casadi__Function__map__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< int >* x3, std::vector< int >* x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__map__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< int >* x3, std::vector< int >* x4)"
-// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__map__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< int >* x3, std::vector< int >* x4);
-casadi::Function*
-    casadi__Function__map__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< int >* x3, std::vector< int >* x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
-
-        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "map" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::map"
-// cWrapperName: "casadi__Function__map__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, std::map< std::string, casadi::GenericType* >* x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__map__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, std::map< std::string, casadi::GenericType* >* x5)"
-// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__map__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, std::map< std::string, casadi::GenericType* >* x5);
-casadi::Function*
-    casadi__Function__map__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::vector< int >* x3, std::vector< int >* x4, std::map< std::string, casadi::GenericType* >* x5){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
-        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);
-
-        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "map" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::map"
-// cWrapperName: "casadi__Function__map__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2)"
-// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2);
-casadi::Function*
-    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::Function ret = obj->map(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "map" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::map"
-// cWrapperName: "casadi__Function__map__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::map< std::string, casadi::GenericType* >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::map< std::string, casadi::GenericType* >* x3)"
-// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "map" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::map"
-// cWrapperName: "casadi__Function__map__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__map__6(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::Function ret = obj->map(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__map__6(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::Function*
-    casadi__Function__map__6(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Function ret = obj->map(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "map" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::map"
-// cWrapperName: "casadi__Function__map__7"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__map__7(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
-// call: "        casadi::Function ret = obj->map(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__map__7(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1);
-casadi::Function*
-    casadi__Function__map__7(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Function ret = obj->map(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mapaccum" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mapaccum"
-// cWrapperName: "casadi__Function__mapaccum__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__mapaccum__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
-// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__mapaccum__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3);
-casadi::Function*
-    casadi__Function__mapaccum__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
-        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
-
-        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mapaccum" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mapaccum"
-// cWrapperName: "casadi__Function__mapaccum__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__mapaccum__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__mapaccum__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
-casadi::Function*
-    casadi__Function__mapaccum__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
-        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
-        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
-
-        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mapaccum" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mapaccum"
-// cWrapperName: "casadi__Function__mapaccum__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__mapaccum__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__mapaccum__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
-casadi::Function*
-    casadi__Function__mapaccum__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-
-        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mapaccum" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mapaccum"
-// cWrapperName: "casadi__Function__mapaccum__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__mapaccum__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__mapaccum__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::map< std::string, casadi::GenericType* >* x4);
-casadi::Function*
-    casadi__Function__mapaccum__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::map< std::string, casadi::GenericType* >* x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
-
-        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mapaccum" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mapaccum"
-// cWrapperName: "casadi__Function__mapaccum__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__mapaccum__4(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
-// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__mapaccum__4(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
-casadi::Function*
-    casadi__Function__mapaccum__4(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Function ret = obj->mapaccum(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mapaccum" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mapaccum"
-// cWrapperName: "casadi__Function__mapaccum__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__mapaccum__5(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2)"
-// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__mapaccum__5(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2);
-casadi::Function*
-    casadi__Function__mapaccum__5(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mapaccum" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mapaccum"
-// cWrapperName: "casadi__Function__mapaccum__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, std::map< std::string, casadi::GenericType* >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__mapaccum__6(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, std::map< std::string, casadi::GenericType* >* x3)"
-// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__mapaccum__6(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    casadi__Function__mapaccum__6(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mapsum" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mapsum"
-// cWrapperName: "casadi__Function__mapsum__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0)"
-// args: "(x0_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi__Function__mapsum__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0)"
-// call: "        std::vector< casadi::MX > ret = obj->mapsum(x0_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-extern "C"
-std::vector< casadi::MX* >*
-    casadi__Function__mapsum__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0);
-std::vector< casadi::MX* >*
-    casadi__Function__mapsum__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-
-        std::vector< casadi::MX > ret = obj->mapsum(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mapsum" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mapsum"
-// cWrapperName: "casadi__Function__mapsum__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi__Function__mapsum__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1)"
-// call: "        std::vector< casadi::MX > ret = obj->mapsum(x0_, x1_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::vector< casadi::MX* >*
-    casadi__Function__mapsum__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1);
-std::vector< casadi::MX* >*
-    casadi__Function__mapsum__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        std::vector< casadi::MX > ret = obj->mapsum(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mx_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mx_in"
-// cWrapperName: "casadi__Function__mx_in__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi__Function__mx_in__0(std::string ** err_msg, casadi::Function* obj)"
-// call: "        std::vector< casadi::MX > ret = obj->mx_in();"
-// params: []
-extern "C"
-std::vector< casadi::MX* >*
-    casadi__Function__mx_in__0(std::string ** err_msg, casadi::Function* obj);
-std::vector< casadi::MX* >*
-    casadi__Function__mx_in__0(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        std::vector< casadi::MX > ret = obj->mx_in();
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mx_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mx_in"
-// cWrapperName: "casadi__Function__mx_in__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__Function__mx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        casadi::MX ret = obj->mx_in(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__Function__mx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-casadi::MX*
-    casadi__Function__mx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::MX ret = obj->mx_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mx_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mx_in"
-// cWrapperName: "casadi__Function__mx_in__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__Function__mx_in__2(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::MX ret = obj->mx_in(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__Function__mx_in__2(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::MX*
-    casadi__Function__mx_in__2(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::MX ret = obj->mx_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mx_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mx_out"
-// cWrapperName: "casadi__Function__mx_out__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi__Function__mx_out__0(std::string ** err_msg, casadi::Function* obj)"
-// call: "        std::vector< casadi::MX > ret = obj->mx_out();"
-// params: []
-extern "C"
-std::vector< casadi::MX* >*
-    casadi__Function__mx_out__0(std::string ** err_msg, casadi::Function* obj);
-std::vector< casadi::MX* >*
-    casadi__Function__mx_out__0(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        std::vector< casadi::MX > ret = obj->mx_out();
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mx_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mx_out"
-// cWrapperName: "casadi__Function__mx_out__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__Function__mx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        casadi::MX ret = obj->mx_out(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__Function__mx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-casadi::MX*
-    casadi__Function__mx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::MX ret = obj->mx_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mx_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::mx_out"
-// cWrapperName: "casadi__Function__mx_out__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__Function__mx_out__2(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::MX ret = obj->mx_out(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__Function__mx_out__2(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::MX*
-    casadi__Function__mx_out__2(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::MX ret = obj->mx_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "n_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::n_in"
-// cWrapperName: "casadi__Function__n_in"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__n_in(std::string ** err_msg, casadi::Function* obj)"
-// call: "        int ret = obj->n_in();"
-// params: []
-extern "C"
-int
-    casadi__Function__n_in(std::string ** err_msg, casadi::Function* obj);
-int
-    casadi__Function__n_in(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        int ret = obj->n_in();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "n_nodes" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::n_nodes"
-// cWrapperName: "casadi__Function__n_nodes"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__n_nodes(std::string ** err_msg, casadi::Function* obj)"
-// call: "        int ret = obj->n_nodes();"
-// params: []
-extern "C"
-int
-    casadi__Function__n_nodes(std::string ** err_msg, casadi::Function* obj);
-int
-    casadi__Function__n_nodes(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        int ret = obj->n_nodes();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "n_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::n_out"
-// cWrapperName: "casadi__Function__n_out"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__n_out(std::string ** err_msg, casadi::Function* obj)"
-// call: "        int ret = obj->n_out();"
-// params: []
-extern "C"
-int
-    casadi__Function__n_out(std::string ** err_msg, casadi::Function* obj);
-int
-    casadi__Function__n_out(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        int ret = obj->n_out();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "name" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::name"
-// cWrapperName: "casadi__Function__name"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Function__name(std::string ** err_msg, casadi::Function* obj)"
-// call: "        std::string ret = obj->name();"
-// params: []
-extern "C"
-std::string*
-    casadi__Function__name(std::string ** err_msg, casadi::Function* obj);
-std::string*
-    casadi__Function__name(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        std::string ret = obj->name();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "name_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::name_in"
-// cWrapperName: "casadi__Function__name_in__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Function__name_in__0(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        std::string ret = obj->name_in(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Function__name_in__0(std::string ** err_msg, casadi::Function* obj, int x0);
-std::string*
-    casadi__Function__name_in__0(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = obj->name_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "name_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::name_in"
-// cWrapperName: "casadi__Function__name_in__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: StdVec StdString
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    casadi__Function__name_in__1(std::string ** err_msg, casadi::Function* obj)"
-// call: "        std::vector< std::string > ret = obj->name_in();"
-// params: []
-extern "C"
-std::vector< std::string* >*
-    casadi__Function__name_in__1(std::string ** err_msg, casadi::Function* obj);
-std::vector< std::string* >*
-    casadi__Function__name_in__1(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        std::vector< std::string > ret = obj->name_in();
-
-        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "name_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::name_out"
-// cWrapperName: "casadi__Function__name_out__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Function__name_out__0(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        std::string ret = obj->name_out(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Function__name_out__0(std::string ** err_msg, casadi::Function* obj, int x0);
-std::string*
-    casadi__Function__name_out__0(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = obj->name_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "name_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::name_out"
-// cWrapperName: "casadi__Function__name_out__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: StdVec StdString
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    casadi__Function__name_out__1(std::string ** err_msg, casadi::Function* obj)"
-// call: "        std::vector< std::string > ret = obj->name_out();"
-// params: []
-extern "C"
-std::vector< std::string* >*
-    casadi__Function__name_out__1(std::string ** err_msg, casadi::Function* obj);
-std::vector< std::string* >*
-    casadi__Function__name_out__1(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        std::vector< std::string > ret = obj->name_out();
-
-        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::nnz_in"
-// cWrapperName: "casadi__Function__nnz_in__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__nnz_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        int ret = obj->nnz_in(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Function__nnz_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-int
-    casadi__Function__nnz_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        int ret = obj->nnz_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::nnz_in"
-// cWrapperName: "casadi__Function__nnz_in__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__nnz_in__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        int ret = obj->nnz_in(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Function__nnz_in__1(std::string ** err_msg, casadi::Function* obj, int x0);
-int
-    casadi__Function__nnz_in__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->nnz_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::nnz_in"
-// cWrapperName: "casadi__Function__nnz_in__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__nnz_in__2(std::string ** err_msg, casadi::Function* obj)"
-// call: "        int ret = obj->nnz_in();"
-// params: []
-extern "C"
-int
-    casadi__Function__nnz_in__2(std::string ** err_msg, casadi::Function* obj);
-int
-    casadi__Function__nnz_in__2(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        int ret = obj->nnz_in();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::nnz_out"
-// cWrapperName: "casadi__Function__nnz_out__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__nnz_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        int ret = obj->nnz_out(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Function__nnz_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-int
-    casadi__Function__nnz_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        int ret = obj->nnz_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::nnz_out"
-// cWrapperName: "casadi__Function__nnz_out__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__nnz_out__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        int ret = obj->nnz_out(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Function__nnz_out__1(std::string ** err_msg, casadi::Function* obj, int x0);
-int
-    casadi__Function__nnz_out__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->nnz_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::nnz_out"
-// cWrapperName: "casadi__Function__nnz_out__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__nnz_out__2(std::string ** err_msg, casadi::Function* obj)"
-// call: "        int ret = obj->nnz_out();"
-// params: []
-extern "C"
-int
-    casadi__Function__nnz_out__2(std::string ** err_msg, casadi::Function* obj);
-int
-    casadi__Function__nnz_out__2(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        int ret = obj->nnz_out();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::numel_in"
-// cWrapperName: "casadi__Function__numel_in__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__numel_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        int ret = obj->numel_in(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Function__numel_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-int
-    casadi__Function__numel_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        int ret = obj->numel_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::numel_in"
-// cWrapperName: "casadi__Function__numel_in__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__numel_in__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        int ret = obj->numel_in(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Function__numel_in__1(std::string ** err_msg, casadi::Function* obj, int x0);
-int
-    casadi__Function__numel_in__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->numel_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::numel_in"
-// cWrapperName: "casadi__Function__numel_in__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__numel_in__2(std::string ** err_msg, casadi::Function* obj)"
-// call: "        int ret = obj->numel_in();"
-// params: []
-extern "C"
-int
-    casadi__Function__numel_in__2(std::string ** err_msg, casadi::Function* obj);
-int
-    casadi__Function__numel_in__2(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        int ret = obj->numel_in();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::numel_out"
-// cWrapperName: "casadi__Function__numel_out__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__numel_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        int ret = obj->numel_out(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Function__numel_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-int
-    casadi__Function__numel_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        int ret = obj->numel_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::numel_out"
-// cWrapperName: "casadi__Function__numel_out__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__numel_out__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        int ret = obj->numel_out(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Function__numel_out__1(std::string ** err_msg, casadi::Function* obj, int x0);
-int
-    casadi__Function__numel_out__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->numel_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::numel_out"
-// cWrapperName: "casadi__Function__numel_out__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__numel_out__2(std::string ** err_msg, casadi::Function* obj)"
-// call: "        int ret = obj->numel_out();"
-// params: []
-extern "C"
-int
-    casadi__Function__numel_out__2(std::string ** err_msg, casadi::Function* obj);
-int
-    casadi__Function__numel_out__2(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        int ret = obj->numel_out();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "oracle" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::oracle"
-// cWrapperName: "casadi__Function__oracle"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__oracle(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::Function ret = obj->oracle();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__Function__oracle(std::string ** err_msg, casadi::Function* obj);
-casadi::Function*
-    casadi__Function__oracle(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::Function ret = obj->oracle();
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "print_dimensions" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::print_dimensions"
-// cWrapperName: "casadi__Function__print_dimensions"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__print_dimensions(std::string ** err_msg, casadi::Function* obj)"
-// call: "        obj->print_dimensions();"
-// params: []
-extern "C"
-void
-    casadi__Function__print_dimensions(std::string ** err_msg, casadi::Function* obj);
-void
-    casadi__Function__print_dimensions(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        obj->print_dimensions();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_free" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::print_free"
-// cWrapperName: "casadi__Function__print_free"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__print_free(std::string ** err_msg, casadi::Function* obj)"
-// call: "        obj->print_free();"
-// params: []
-extern "C"
-void
-    casadi__Function__print_free(std::string ** err_msg, casadi::Function* obj);
-void
-    casadi__Function__print_free(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        obj->print_free();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_option" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::print_option"
-// cWrapperName: "casadi__Function__print_option"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__print_option(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        obj->print_option(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__print_option(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-void
-    casadi__Function__print_option(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        obj->print_option(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_options" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::print_options"
-// cWrapperName: "casadi__Function__print_options"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__print_options(std::string ** err_msg, casadi::Function* obj)"
-// call: "        obj->print_options();"
-// params: []
-extern "C"
-void
-    casadi__Function__print_options(std::string ** err_msg, casadi::Function* obj);
-void
-    casadi__Function__print_options(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        obj->print_options();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "release" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::release"
-// cWrapperName: "casadi__Function__release"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__release(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        obj->release(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__release(std::string ** err_msg, casadi::Function* obj, int x0);
-void
-    casadi__Function__release(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        obj->release(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reverse" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::reverse"
-// cWrapperName: "casadi__Function__reverse__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__reverse__0(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::Function ret = obj->reverse(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__reverse__0(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::Function*
-    casadi__Function__reverse__0(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Function ret = obj->reverse(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "reverse" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::reverse"
-// cWrapperName: "casadi__Function__reverse__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__reverse__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3)"
-// call: "        obj->reverse(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput True)]
-extern "C"
-void
-    casadi__Function__reverse__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3);
-void
-    casadi__Function__reverse__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        std::vector< std::vector< casadi::DM > > x2_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::DM > > x3_ = std::vector< std::vector< casadi::DM > >();  // Swig output
-
-        obj->reverse(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( x3_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reverse" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::reverse"
-// cWrapperName: "casadi__Function__reverse__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__reverse__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4)"
-// call: "        obj->reverse(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__reverse__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4);
-void
-    casadi__Function__reverse__2(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        std::vector< std::vector< casadi::DM > > x2_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::DM > > x3_ = std::vector< std::vector< casadi::DM > >();  // Swig output
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        obj->reverse(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reverse" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::reverse"
-// cWrapperName: "casadi__Function__reverse__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4, int x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__reverse__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4, int x5)"
-// call: "        obj->reverse(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__reverse__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4, int x5);
-void
-    casadi__Function__reverse__3(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::vector< std::vector< casadi::DM* >* >** x3, int x4, int x5){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        std::vector< std::vector< casadi::DM > > x2_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::DM > > x3_ = std::vector< std::vector< casadi::DM > >();  // Swig output
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-        bool x5_ = Marshaling<bool,int>::marshal(x5);
-
-        obj->reverse(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reverse" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::reverse"
-// cWrapperName: "casadi__Function__reverse__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__reverse__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3)"
-// call: "        obj->reverse(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput True)]
-extern "C"
-void
-    casadi__Function__reverse__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3);
-void
-    casadi__Function__reverse__4(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::SX > > x3_ = std::vector< std::vector< casadi::SX > >();  // Swig output
-
-        obj->reverse(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( x3_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reverse" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::reverse"
-// cWrapperName: "casadi__Function__reverse__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__reverse__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4)"
-// call: "        obj->reverse(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__reverse__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4);
-void
-    casadi__Function__reverse__5(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::SX > > x3_ = std::vector< std::vector< casadi::SX > >();  // Swig output
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        obj->reverse(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reverse" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::reverse"
-// cWrapperName: "casadi__Function__reverse__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4, int x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__reverse__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4, int x5)"
-// call: "        obj->reverse(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__reverse__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4, int x5);
-void
-    casadi__Function__reverse__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::vector< std::vector< casadi::SX* >* >** x3, int x4, int x5){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::SX > > x3_ = std::vector< std::vector< casadi::SX > >();  // Swig output
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-        bool x5_ = Marshaling<bool,int>::marshal(x5);
-
-        obj->reverse(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reverse" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::reverse"
-// cWrapperName: "casadi__Function__reverse__7"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__reverse__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3)"
-// call: "        obj->reverse(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput True)]
-extern "C"
-void
-    casadi__Function__reverse__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3);
-void
-    casadi__Function__reverse__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::MX > > x3_ = std::vector< std::vector< casadi::MX > >();  // Swig output
-
-        obj->reverse(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( x3_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reverse" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::reverse"
-// cWrapperName: "casadi__Function__reverse__8"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__reverse__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4)"
-// call: "        obj->reverse(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__reverse__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4);
-void
-    casadi__Function__reverse__8(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::MX > > x3_ = std::vector< std::vector< casadi::MX > >();  // Swig output
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        obj->reverse(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reverse" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::reverse"
-// cWrapperName: "casadi__Function__reverse__9"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4, int x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__reverse__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4, int x5)"
-// call: "        obj->reverse(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__reverse__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4, int x5);
-void
-    casadi__Function__reverse__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::vector< std::vector< casadi::MX* >* >** x3, int x4, int x5){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
-        std::vector< std::vector< casadi::MX > > x3_ = std::vector< std::vector< casadi::MX > >();  // Swig output
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-        bool x5_ = Marshaling<bool,int>::marshal(x5);
-
-        obj->reverse(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        *x3 = WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reverse_new" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::reverse_new"
-// cWrapperName: "casadi__Function__reverse_new"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__reverse_new(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::Function ret = obj->reverse_new(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__reverse_new(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::Function*
-    casadi__Function__reverse_new(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Function ret = obj->reverse_new(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "rootfinder_fun" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::rootfinder_fun"
-// cWrapperName: "casadi__Function__rootfinder_fun"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__rootfinder_fun(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::Function ret = obj->rootfinder_fun();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__Function__rootfinder_fun(std::string ** err_msg, casadi::Function* obj);
-casadi::Function*
-    casadi__Function__rootfinder_fun(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::Function ret = obj->rootfinder_fun();
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "setFullJacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::setFullJacobian"
-// cWrapperName: "casadi__Function__setFullJacobian"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__setFullJacobian(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0)"
-// call: "        obj->setFullJacobian(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__setFullJacobian(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0);
-void
-    casadi__Function__setFullJacobian(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        obj->setFullJacobian(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "setJacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::setJacobian"
-// cWrapperName: "casadi__Function__setJacobian__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__setJacobian__0(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0)"
-// call: "        obj->setJacobian(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__setJacobian__0(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0);
-void
-    casadi__Function__setJacobian__0(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        obj->setJacobian(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "setJacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::setJacobian"
-// cWrapperName: "casadi__Function__setJacobian__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__setJacobian__1(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1)"
-// call: "        obj->setJacobian(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__setJacobian__1(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1);
-void
-    casadi__Function__setJacobian__1(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        obj->setJacobian(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "setJacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::setJacobian"
-// cWrapperName: "casadi__Function__setJacobian__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__setJacobian__2(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2)"
-// call: "        obj->setJacobian(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__setJacobian__2(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2);
-void
-    casadi__Function__setJacobian__2(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        obj->setJacobian(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "setJacobian" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::setJacobian"
-// cWrapperName: "casadi__Function__setJacobian__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__setJacobian__3(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2, int x3)"
-// call: "        obj->setJacobian(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__setJacobian__3(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2, int x3);
-void
-    casadi__Function__setJacobian__3(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1, int x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        obj->setJacobian(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_jac_sparsity" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::set_jac_sparsity"
-// cWrapperName: "casadi__Function__set_jac_sparsity__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__set_jac_sparsity__0(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2)"
-// call: "        obj->set_jac_sparsity(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__set_jac_sparsity__0(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2);
-void
-    casadi__Function__set_jac_sparsity__0(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        obj->set_jac_sparsity(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_jac_sparsity" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::set_jac_sparsity"
-// cWrapperName: "casadi__Function__set_jac_sparsity__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__set_jac_sparsity__1(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2, int x3)"
-// call: "        obj->set_jac_sparsity(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__set_jac_sparsity__1(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2, int x3);
-void
-    casadi__Function__set_jac_sparsity__1(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, std::string* x2, int x3){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        obj->set_jac_sparsity(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_jac_sparsity" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::set_jac_sparsity"
-// cWrapperName: "casadi__Function__set_jac_sparsity__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__set_jac_sparsity__2(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2)"
-// call: "        obj->set_jac_sparsity(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__set_jac_sparsity__2(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2);
-void
-    casadi__Function__set_jac_sparsity__2(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        obj->set_jac_sparsity(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_jac_sparsity" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::set_jac_sparsity"
-// cWrapperName: "casadi__Function__set_jac_sparsity__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__set_jac_sparsity__3(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2, int x3)"
-// call: "        obj->set_jac_sparsity(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__set_jac_sparsity__3(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2, int x3);
-void
-    casadi__Function__set_jac_sparsity__3(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, std::string* x2, int x3){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        obj->set_jac_sparsity(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_jac_sparsity" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::set_jac_sparsity"
-// cWrapperName: "casadi__Function__set_jac_sparsity__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__set_jac_sparsity__4(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2)"
-// call: "        obj->set_jac_sparsity(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__set_jac_sparsity__4(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2);
-void
-    casadi__Function__set_jac_sparsity__4(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        obj->set_jac_sparsity(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_jac_sparsity" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::set_jac_sparsity"
-// cWrapperName: "casadi__Function__set_jac_sparsity__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__set_jac_sparsity__5(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2, int x3)"
-// call: "        obj->set_jac_sparsity(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__set_jac_sparsity__5(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2, int x3);
-void
-    casadi__Function__set_jac_sparsity__5(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, std::string* x1, int x2, int x3){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        obj->set_jac_sparsity(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_jac_sparsity" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::set_jac_sparsity"
-// cWrapperName: "casadi__Function__set_jac_sparsity__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__set_jac_sparsity__6(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2)"
-// call: "        obj->set_jac_sparsity(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__set_jac_sparsity__6(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2);
-void
-    casadi__Function__set_jac_sparsity__6(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        obj->set_jac_sparsity(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_jac_sparsity" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::set_jac_sparsity"
-// cWrapperName: "casadi__Function__set_jac_sparsity__7"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__set_jac_sparsity__7(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2, int x3)"
-// call: "        obj->set_jac_sparsity(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__set_jac_sparsity__7(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2, int x3);
-void
-    casadi__Function__set_jac_sparsity__7(std::string ** err_msg, casadi::Function* obj, casadi::Sparsity* x0, int x1, int x2, int x3){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        obj->set_jac_sparsity(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "size1_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::size1_in"
-// cWrapperName: "casadi__Function__size1_in__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__size1_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        int ret = obj->size1_in(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Function__size1_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-int
-    casadi__Function__size1_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        int ret = obj->size1_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size1_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::size1_in"
-// cWrapperName: "casadi__Function__size1_in__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__size1_in__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        int ret = obj->size1_in(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Function__size1_in__1(std::string ** err_msg, casadi::Function* obj, int x0);
-int
-    casadi__Function__size1_in__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->size1_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size1_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::size1_out"
-// cWrapperName: "casadi__Function__size1_out__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__size1_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        int ret = obj->size1_out(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Function__size1_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-int
-    casadi__Function__size1_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        int ret = obj->size1_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size1_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::size1_out"
-// cWrapperName: "casadi__Function__size1_out__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__size1_out__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        int ret = obj->size1_out(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Function__size1_out__1(std::string ** err_msg, casadi::Function* obj, int x0);
-int
-    casadi__Function__size1_out__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->size1_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size2_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::size2_in"
-// cWrapperName: "casadi__Function__size2_in__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__size2_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        int ret = obj->size2_in(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Function__size2_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-int
-    casadi__Function__size2_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        int ret = obj->size2_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size2_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::size2_in"
-// cWrapperName: "casadi__Function__size2_in__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__size2_in__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        int ret = obj->size2_in(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Function__size2_in__1(std::string ** err_msg, casadi::Function* obj, int x0);
-int
-    casadi__Function__size2_in__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->size2_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size2_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::size2_out"
-// cWrapperName: "casadi__Function__size2_out__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__size2_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        int ret = obj->size2_out(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Function__size2_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-int
-    casadi__Function__size2_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        int ret = obj->size2_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size2_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::size2_out"
-// cWrapperName: "casadi__Function__size2_out__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__size2_out__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        int ret = obj->size2_out(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Function__size2_out__1(std::string ** err_msg, casadi::Function* obj, int x0);
-int
-    casadi__Function__size2_out__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->size2_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::size_in"
-// cWrapperName: "casadi__Function__size_in__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdPair CInt CInt
-// cWrapperRetType: "std::pair< int, int >*"
-// proto: "std::pair< int, int >*\n    casadi__Function__size_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        std::pair< int, int > ret = obj->size_in(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::pair< int, int >*
-    casadi__Function__size_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-std::pair< int, int >*
-    casadi__Function__size_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::pair< int, int > ret = obj->size_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::size_in"
-// cWrapperName: "casadi__Function__size_in__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: StdPair CInt CInt
-// cWrapperRetType: "std::pair< int, int >*"
-// proto: "std::pair< int, int >*\n    casadi__Function__size_in__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        std::pair< int, int > ret = obj->size_in(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-std::pair< int, int >*
-    casadi__Function__size_in__1(std::string ** err_msg, casadi::Function* obj, int x0);
-std::pair< int, int >*
-    casadi__Function__size_in__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::pair< int, int > ret = obj->size_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::size_out"
-// cWrapperName: "casadi__Function__size_out__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdPair CInt CInt
-// cWrapperRetType: "std::pair< int, int >*"
-// proto: "std::pair< int, int >*\n    casadi__Function__size_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        std::pair< int, int > ret = obj->size_out(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::pair< int, int >*
-    casadi__Function__size_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-std::pair< int, int >*
-    casadi__Function__size_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::pair< int, int > ret = obj->size_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::size_out"
-// cWrapperName: "casadi__Function__size_out__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: StdPair CInt CInt
-// cWrapperRetType: "std::pair< int, int >*"
-// proto: "std::pair< int, int >*\n    casadi__Function__size_out__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        std::pair< int, int > ret = obj->size_out(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-std::pair< int, int >*
-    casadi__Function__size_out__1(std::string ** err_msg, casadi::Function* obj, int x0);
-std::pair< int, int >*
-    casadi__Function__size_out__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::pair< int, int > ret = obj->size_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "slice" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::slice"
-// cWrapperName: "casadi__Function__slice__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__slice__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// call: "        casadi::Function ret = obj->slice(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__slice__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< int >* x1, std::vector< int >* x2);
-casadi::Function*
-    casadi__Function__slice__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< int >* x1, std::vector< int >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-
-        casadi::Function ret = obj->slice(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "slice" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::slice"
-// cWrapperName: "casadi__Function__slice__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< int >* x1, std::vector< int >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__slice__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< int >* x1, std::vector< int >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// call: "        casadi::Function ret = obj->slice(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__slice__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< int >* x1, std::vector< int >* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    casadi__Function__slice__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< int >* x1, std::vector< int >* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = obj->slice(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "spCanEvaluate" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::spCanEvaluate"
-// cWrapperName: "casadi__Function__spCanEvaluate"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Function__spCanEvaluate(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        bool ret = obj->spCanEvaluate(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__Function__spCanEvaluate(std::string ** err_msg, casadi::Function* obj, int x0);
-int
-    casadi__Function__spCanEvaluate(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        bool ret = obj->spCanEvaluate(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_in"
-// cWrapperName: "casadi__Function__sparsity_in__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        casadi::Sparsity ret = obj->sparsity_in(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-casadi::Sparsity*
-    casadi__Function__sparsity_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Sparsity ret = obj->sparsity_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_in"
-// cWrapperName: "casadi__Function__sparsity_in__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_in__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::Sparsity ret = obj->sparsity_in(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_in__1(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::Sparsity*
-    casadi__Function__sparsity_in__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Sparsity ret = obj->sparsity_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__3(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__3(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__3(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__4(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__4(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__4(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__5(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);"
-// params: [(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__5(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__5(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1, int x2, int x3){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__6(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__6(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__6(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Sparsity ret = obj->sparsity_jac(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__7"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__8"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__9"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, int x2, int x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__10"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__10(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__10(std::string ** err_msg, casadi::Function* obj);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__10(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::Sparsity ret = obj->sparsity_jac();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__11"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__11(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__11(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__11(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Sparsity ret = obj->sparsity_jac(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__12"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__12(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__12(std::string ** err_msg, casadi::Function* obj, int x0, int x1);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__12(std::string ** err_msg, casadi::Function* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__13"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__13(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__13(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__13(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_jac"
-// cWrapperName: "casadi__Function__sparsity_jac__14"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__14(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3)"
-// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__14(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3);
-casadi::Sparsity*
-    casadi__Function__sparsity_jac__14(std::string ** err_msg, casadi::Function* obj, int x0, int x1, int x2, int x3){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_out"
-// cWrapperName: "casadi__Function__sparsity_out__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        casadi::Sparsity ret = obj->sparsity_out(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-casadi::Sparsity*
-    casadi__Function__sparsity_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Sparsity ret = obj->sparsity_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sparsity_out"
-// cWrapperName: "casadi__Function__sparsity_out__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_out__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::Sparsity ret = obj->sparsity_out(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__sparsity_out__1(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::Sparsity*
-    casadi__Function__sparsity_out__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Sparsity ret = obj->sparsity_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "stats" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::stats"
-// cWrapperName: "casadi__Function__stats__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
-// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
-// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Function__stats__0(std::string ** err_msg, casadi::Function* obj)"
-// call: "        std::map< std::string, casadi::GenericType > ret = obj->stats();"
-// params: []
-extern "C"
-std::map< std::string, casadi::GenericType* >*
-    casadi__Function__stats__0(std::string ** err_msg, casadi::Function* obj);
-std::map< std::string, casadi::GenericType* >*
-    casadi__Function__stats__0(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        std::map< std::string, casadi::GenericType > ret = obj->stats();
-
-        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "stats" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::stats"
-// cWrapperName: "casadi__Function__stats__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
-// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
-// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Function__stats__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        std::map< std::string, casadi::GenericType > ret = obj->stats(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-std::map< std::string, casadi::GenericType* >*
-    casadi__Function__stats__1(std::string ** err_msg, casadi::Function* obj, int x0);
-std::map< std::string, casadi::GenericType* >*
-    casadi__Function__stats__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::map< std::string, casadi::GenericType > ret = obj->stats(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sx_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sx_in"
-// cWrapperName: "casadi__Function__sx_in__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi__Function__sx_in__0(std::string ** err_msg, casadi::Function* obj)"
-// call: "        std::vector< casadi::SX > ret = obj->sx_in();"
-// params: []
-extern "C"
-std::vector< casadi::SX* >*
-    casadi__Function__sx_in__0(std::string ** err_msg, casadi::Function* obj);
-std::vector< casadi::SX* >*
-    casadi__Function__sx_in__0(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        std::vector< casadi::SX > ret = obj->sx_in();
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sx_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sx_in"
-// cWrapperName: "casadi__Function__sx_in__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__Function__sx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        casadi::SX ret = obj->sx_in(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__Function__sx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-casadi::SX*
-    casadi__Function__sx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::SX ret = obj->sx_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sx_in" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sx_in"
-// cWrapperName: "casadi__Function__sx_in__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__Function__sx_in__2(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::SX ret = obj->sx_in(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__Function__sx_in__2(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::SX*
-    casadi__Function__sx_in__2(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::SX ret = obj->sx_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sx_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sx_out"
-// cWrapperName: "casadi__Function__sx_out__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi__Function__sx_out__0(std::string ** err_msg, casadi::Function* obj)"
-// call: "        std::vector< casadi::SX > ret = obj->sx_out();"
-// params: []
-extern "C"
-std::vector< casadi::SX* >*
-    casadi__Function__sx_out__0(std::string ** err_msg, casadi::Function* obj);
-std::vector< casadi::SX* >*
-    casadi__Function__sx_out__0(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        std::vector< casadi::SX > ret = obj->sx_out();
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sx_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sx_out"
-// cWrapperName: "casadi__Function__sx_out__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__Function__sx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        casadi::SX ret = obj->sx_out(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__Function__sx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-casadi::SX*
-    casadi__Function__sx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::SX ret = obj->sx_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sx_out" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sx_out"
-// cWrapperName: "casadi__Function__sx_out__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__Function__sx_out__2(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::SX ret = obj->sx_out(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__Function__sx_out__2(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::SX*
-    casadi__Function__sx_out__2(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::SX ret = obj->sx_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sz_arg" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sz_arg"
-// cWrapperName: "casadi__Function__sz_arg"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CSize
-// cWrapperRetType: "size_t"
-// proto: "size_t\n    casadi__Function__sz_arg(std::string ** err_msg, casadi::Function* obj)"
-// call: "        size_t ret = obj->sz_arg();"
-// params: []
-extern "C"
-size_t
-    casadi__Function__sz_arg(std::string ** err_msg, casadi::Function* obj);
-size_t
-    casadi__Function__sz_arg(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        size_t ret = obj->sz_arg();
-
-        return WrapReturn< size_t, size_t >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sz_iw" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sz_iw"
-// cWrapperName: "casadi__Function__sz_iw"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CSize
-// cWrapperRetType: "size_t"
-// proto: "size_t\n    casadi__Function__sz_iw(std::string ** err_msg, casadi::Function* obj)"
-// call: "        size_t ret = obj->sz_iw();"
-// params: []
-extern "C"
-size_t
-    casadi__Function__sz_iw(std::string ** err_msg, casadi::Function* obj);
-size_t
-    casadi__Function__sz_iw(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        size_t ret = obj->sz_iw();
-
-        return WrapReturn< size_t, size_t >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sz_res" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sz_res"
-// cWrapperName: "casadi__Function__sz_res"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CSize
-// cWrapperRetType: "size_t"
-// proto: "size_t\n    casadi__Function__sz_res(std::string ** err_msg, casadi::Function* obj)"
-// call: "        size_t ret = obj->sz_res();"
-// params: []
-extern "C"
-size_t
-    casadi__Function__sz_res(std::string ** err_msg, casadi::Function* obj);
-size_t
-    casadi__Function__sz_res(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        size_t ret = obj->sz_res();
-
-        return WrapReturn< size_t, size_t >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sz_w" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::sz_w"
-// cWrapperName: "casadi__Function__sz_w"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CSize
-// cWrapperRetType: "size_t"
-// proto: "size_t\n    casadi__Function__sz_w(std::string ** err_msg, casadi::Function* obj)"
-// call: "        size_t ret = obj->sz_w();"
-// params: []
-extern "C"
-size_t
-    casadi__Function__sz_w(std::string ** err_msg, casadi::Function* obj);
-size_t
-    casadi__Function__sz_w(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        size_t ret = obj->sz_w();
-
-        return WrapReturn< size_t, size_t >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "tangent" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::tangent"
-// cWrapperName: "casadi__Function__tangent__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__tangent__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
-// call: "        casadi::Function ret = obj->tangent(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__tangent__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1);
-casadi::Function*
-    casadi__Function__tangent__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Function ret = obj->tangent(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "tangent" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::tangent"
-// cWrapperName: "casadi__Function__tangent__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__tangent__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1)"
-// call: "        casadi::Function ret = obj->tangent(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__tangent__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1);
-casadi::Function*
-    casadi__Function__tangent__1(std::string ** err_msg, casadi::Function* obj, int x0, std::string* x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Function ret = obj->tangent(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "tangent" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::tangent"
-// cWrapperName: "casadi__Function__tangent__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__tangent__2(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        casadi::Function ret = obj->tangent(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__tangent__2(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-casadi::Function*
-    casadi__Function__tangent__2(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Function ret = obj->tangent(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "tangent" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::tangent"
-// cWrapperName: "casadi__Function__tangent__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__tangent__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
-// call: "        casadi::Function ret = obj->tangent(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__tangent__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
-casadi::Function*
-    casadi__Function__tangent__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Function ret = obj->tangent(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "tangent" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::tangent"
-// cWrapperName: "casadi__Function__tangent__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__tangent__4(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::Function ret = obj->tangent();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__Function__tangent__4(std::string ** err_msg, casadi::Function* obj);
-casadi::Function*
-    casadi__Function__tangent__4(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::Function ret = obj->tangent();
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "tangent" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::tangent"
-// cWrapperName: "casadi__Function__tangent__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__tangent__5(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::Function ret = obj->tangent(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__tangent__5(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::Function*
-    casadi__Function__tangent__5(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Function ret = obj->tangent(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "tangent" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::tangent"
-// cWrapperName: "casadi__Function__tangent__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__tangent__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// call: "        casadi::Function ret = obj->tangent(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__tangent__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1);
-casadi::Function*
-    casadi__Function__tangent__6(std::string ** err_msg, casadi::Function* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Function ret = obj->tangent(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "type_name" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::type_name"
-// cWrapperName: "casadi__Function__type_name"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Function__type_name(std::string ** err_msg, casadi::Function* obj)"
-// call: "        std::string ret = obj->type_name();"
-// params: []
-extern "C"
-std::string*
-    casadi__Function__type_name(std::string ** err_msg, casadi::Function* obj);
-std::string*
-    casadi__Function__type_name(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        std::string ret = obj->type_name();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "which_depends" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::which_depends"
-// cWrapperName: "casadi__Function__which_depends__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1)"
-// args: "(x0_, x1_)"
-// rettype: StdVec CBool
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Function__which_depends__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1)"
-// call: "        std::vector< bool > ret = obj->which_depends(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
-extern "C"
-std::vector< int >*
-    casadi__Function__which_depends__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1);
-std::vector< int >*
-    casadi__Function__which_depends__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
-
-        std::vector< bool > ret = obj->which_depends(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< bool > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "which_depends" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::which_depends"
-// cWrapperName: "casadi__Function__which_depends__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: StdVec CBool
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Function__which_depends__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, int x2)"
-// call: "        std::vector< bool > ret = obj->which_depends(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< int >*
-    casadi__Function__which_depends__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, int x2);
-std::vector< int >*
-    casadi__Function__which_depends__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< bool > ret = obj->which_depends(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< bool > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "which_depends" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::which_depends"
-// cWrapperName: "casadi__Function__which_depends__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: StdVec CBool
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Function__which_depends__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, int x2, int x3)"
-// call: "        std::vector< bool > ret = obj->which_depends(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-std::vector< int >*
-    casadi__Function__which_depends__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, int x2, int x3);
-std::vector< int >*
-    casadi__Function__which_depends__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, int x2, int x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        std::vector< bool > ret = obj->which_depends(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< bool > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "wrap" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::wrap"
-// cWrapperName: "casadi__Function__wrap"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__wrap(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::Function ret = obj->wrap();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__Function__wrap(std::string ** err_msg, casadi::Function* obj);
-casadi::Function*
-    casadi__Function__wrap(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::Function ret = obj->wrap();
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "GenericExpressionCommon")===============
-// classType: UserType (Namespace ["casadi"]) (Name "GenericExpressionCommon")
-extern "C"
-void delete_casadi__GenericExpressionCommon(casadi::GenericExpressionCommon* obj);
-void delete_casadi__GenericExpressionCommon(casadi::GenericExpressionCommon* obj){
-    delete obj;
-}
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "GenericMatrixCommon")===============
-// classType: UserType (Namespace ["casadi"]) (Name "GenericMatrixCommon")
-extern "C"
-void delete_casadi__GenericMatrixCommon(casadi::GenericMatrixCommon* obj);
-void delete_casadi__GenericMatrixCommon(casadi::GenericMatrixCommon* obj){
-    delete obj;
-}
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "GenericType")===============
-// classType: UserType (Namespace ["casadi"]) (Name "GenericType")
-extern "C"
-void delete_casadi__GenericType(casadi::GenericType* obj);
-void delete_casadi__GenericType(casadi::GenericType* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType"
-// cWrapperName: "casadi__GenericType__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
-// cWrapperRetType: "casadi::GenericType*"
-// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__0(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
-// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__0(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0);
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__0(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0){
-    try {
-        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);
-
-        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType"
-// cWrapperName: "casadi__GenericType__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
-// cWrapperRetType: "casadi::GenericType*"
-// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__1(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__1(std::string ** err_msg, casadi::Function* x0);
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__1(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType"
-// cWrapperName: "casadi__GenericType__CONSTRUCTOR__2"
-// protoArgs: "(std::string ** err_msg, std::vector< std::string* >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
-// cWrapperRetType: "casadi::GenericType*"
-// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__2(std::string ** err_msg, std::vector< std::string* >* x0)"
-// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
-// params: [(Ref (Const (StdVec StdString)),SwigOutput False)]
-extern "C"
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__2(std::string ** err_msg, std::vector< std::string* >* x0);
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__2(std::string ** err_msg, std::vector< std::string* >* x0){
-    try {
-        std::vector< std::string > x0_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x0);
-
-        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType"
-// cWrapperName: "casadi__GenericType__CONSTRUCTOR__3"
-// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
-// cWrapperRetType: "casadi::GenericType*"
-// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__3(std::string ** err_msg, std::vector< double >* x0)"
-// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
-// params: [(Ref (Const (StdVec CDouble)),SwigOutput False)]
-extern "C"
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__3(std::string ** err_msg, std::vector< double >* x0);
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__3(std::string ** err_msg, std::vector< double >* x0){
-    try {
-        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
-
-        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType"
-// cWrapperName: "casadi__GenericType__CONSTRUCTOR__4"
-// protoArgs: "(std::string ** err_msg, std::vector< std::vector< int >* >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
-// cWrapperRetType: "casadi::GenericType*"
-// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< int >* >* x0)"
-// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
-// params: [(Ref (Const (StdVec (StdVec CInt))),SwigOutput False)]
-extern "C"
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< int >* >* x0);
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< int >* >* x0){
-    try {
-        std::vector< std::vector< int > > x0_ = Marshaling<std::vector< std::vector< int > >,std::vector< std::vector< int >* >*>::marshal(x0);
-
-        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType"
-// cWrapperName: "casadi__GenericType__CONSTRUCTOR__5"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
-// cWrapperRetType: "casadi::GenericType*"
-// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__5(std::string ** err_msg, std::vector< int >* x0)"
-// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__5(std::string ** err_msg, std::vector< int >* x0);
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__5(std::string ** err_msg, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType"
-// cWrapperName: "casadi__GenericType__CONSTRUCTOR__6"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
-// cWrapperRetType: "casadi::GenericType*"
-// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__6(std::string ** err_msg, std::vector< int >* x0)"
-// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
-// params: [(Ref (Const (StdVec CBool)),SwigOutput False)]
-extern "C"
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__6(std::string ** err_msg, std::vector< int >* x0);
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__6(std::string ** err_msg, std::vector< int >* x0){
-    try {
-        std::vector< bool > x0_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x0);
-
-        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType"
-// cWrapperName: "casadi__GenericType__CONSTRUCTOR__7"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
-// cWrapperRetType: "casadi::GenericType*"
-// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0);
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType"
-// cWrapperName: "casadi__GenericType__CONSTRUCTOR__8"
-// protoArgs: "(std::string ** err_msg, double x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
-// cWrapperRetType: "casadi::GenericType*"
-// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__8(std::string ** err_msg, double x0)"
-// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
-// params: [(CDouble,SwigOutput False)]
-extern "C"
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__8(std::string ** err_msg, double x0);
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__8(std::string ** err_msg, double x0){
-    try {
-        double x0_ = Marshaling<double,double>::marshal(x0);
-
-        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType"
-// cWrapperName: "casadi__GenericType__CONSTRUCTOR__9"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
-// cWrapperRetType: "casadi::GenericType*"
-// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__9(std::string ** err_msg, int x0)"
-// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__9(std::string ** err_msg, int x0);
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__9(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType"
-// cWrapperName: "casadi__GenericType__CONSTRUCTOR__10"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
-// cWrapperRetType: "casadi::GenericType*"
-// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__10(std::string ** err_msg, int x0)"
-// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__10(std::string ** err_msg, int x0);
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__10(std::string ** err_msg, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType"
-// cWrapperName: "casadi__GenericType__CONSTRUCTOR__11"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
-// cWrapperRetType: "casadi::GenericType*"
-// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__11(std::string ** err_msg)"
-// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType();"
-// params: []
-extern "C"
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__11(std::string ** err_msg);
-casadi::GenericType*
-    casadi__GenericType__CONSTRUCTOR__11(std::string ** err_msg){
-    try {
-
-        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "as_bool" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::as_bool"
-// cWrapperName: "casadi__GenericType__as_bool"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: Const CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__as_bool(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->as_bool();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__as_bool(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__as_bool(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->as_bool();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "as_bool_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::as_bool_vector"
-// cWrapperName: "casadi__GenericType__as_bool_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: Const (StdVec CInt)
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__GenericType__as_bool_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::vector< int > ret = obj->as_bool_vector();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__GenericType__as_bool_vector(std::string ** err_msg, casadi::GenericType* obj);
-std::vector< int >*
-    casadi__GenericType__as_bool_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::vector< int > ret = obj->as_bool_vector();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "as_dict" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::as_dict"
-// cWrapperName: "casadi__GenericType__as_dict"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))
-// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
-// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__GenericType__as_dict(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::map< std::string, casadi::GenericType > ret = obj->as_dict();"
-// params: []
-extern "C"
-std::map< std::string, casadi::GenericType* >*
-    casadi__GenericType__as_dict(std::string ** err_msg, casadi::GenericType* obj);
-std::map< std::string, casadi::GenericType* >*
-    casadi__GenericType__as_dict(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::map< std::string, casadi::GenericType > ret = obj->as_dict();
-
-        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "as_double" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::as_double"
-// cWrapperName: "casadi__GenericType__as_double"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: Const CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__GenericType__as_double(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        double ret = obj->as_double();"
-// params: []
-extern "C"
-double
-    casadi__GenericType__as_double(std::string ** err_msg, casadi::GenericType* obj);
-double
-    casadi__GenericType__as_double(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        double ret = obj->as_double();
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "as_double_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::as_double_vector"
-// cWrapperName: "casadi__GenericType__as_double_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: Const (StdVec CDouble)
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    casadi__GenericType__as_double_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::vector< double > ret = obj->as_double_vector();"
-// params: []
-extern "C"
-std::vector< double >*
-    casadi__GenericType__as_double_vector(std::string ** err_msg, casadi::GenericType* obj);
-std::vector< double >*
-    casadi__GenericType__as_double_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::vector< double > ret = obj->as_double_vector();
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "as_function" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::as_function"
-// cWrapperName: "casadi__GenericType__as_function"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Function"))
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__GenericType__as_function(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        casadi::Function ret = obj->as_function();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__GenericType__as_function(std::string ** err_msg, casadi::GenericType* obj);
-casadi::Function*
-    casadi__GenericType__as_function(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        casadi::Function ret = obj->as_function();
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "as_int" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::as_int"
-// cWrapperName: "casadi__GenericType__as_int"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: Const CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__as_int(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        int ret = obj->as_int();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__as_int(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__as_int(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        int ret = obj->as_int();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "as_int_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::as_int_vector"
-// cWrapperName: "casadi__GenericType__as_int_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: Const (StdVec CInt)
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__GenericType__as_int_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::vector< int > ret = obj->as_int_vector();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__GenericType__as_int_vector(std::string ** err_msg, casadi::GenericType* obj);
-std::vector< int >*
-    casadi__GenericType__as_int_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::vector< int > ret = obj->as_int_vector();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "as_int_vector_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::as_int_vector_vector"
-// cWrapperName: "casadi__GenericType__as_int_vector_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: Const (StdVec (StdVec CInt))
-// cWrapperRetType: "std::vector< std::vector< int >* >*"
-// proto: "std::vector< std::vector< int >* >*\n    casadi__GenericType__as_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::vector< std::vector< int > > ret = obj->as_int_vector_vector();"
-// params: []
-extern "C"
-std::vector< std::vector< int >* >*
-    casadi__GenericType__as_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
-std::vector< std::vector< int >* >*
-    casadi__GenericType__as_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::vector< std::vector< int > > ret = obj->as_int_vector_vector();
-
-        return WrapReturn< std::vector< std::vector< int >* >*, std::vector< std::vector< int > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "as_string" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::as_string"
-// cWrapperName: "casadi__GenericType__as_string"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: Const StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__GenericType__as_string(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::string ret = obj->as_string();"
-// params: []
-extern "C"
-std::string*
-    casadi__GenericType__as_string(std::string ** err_msg, casadi::GenericType* obj);
-std::string*
-    casadi__GenericType__as_string(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::string ret = obj->as_string();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "as_string_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::as_string_vector"
-// cWrapperName: "casadi__GenericType__as_string_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: Const (StdVec StdString)
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    casadi__GenericType__as_string_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::vector< std::string > ret = obj->as_string_vector();"
-// params: []
-extern "C"
-std::vector< std::string* >*
-    casadi__GenericType__as_string_vector(std::string ** err_msg, casadi::GenericType* obj);
-std::vector< std::string* >*
-    casadi__GenericType__as_string_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::vector< std::string > ret = obj->as_string_vector();
-
-        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "as_void_pointer" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::as_void_pointer"
-// cWrapperName: "casadi__GenericType__as_void_pointer"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__GenericType__as_void_pointer(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        obj->as_void_pointer();"
-// params: []
-extern "C"
-void
-    casadi__GenericType__as_void_pointer(std::string ** err_msg, casadi::GenericType* obj);
-void
-    casadi__GenericType__as_void_pointer(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        obj->as_void_pointer();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "getType" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::getType"
-// cWrapperName: "casadi__GenericType__getType"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CEnum (Namespace ["casadi"]) (Name "TypeID")
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__getType(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        casadi::TypeID ret = obj->getType();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__getType(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__getType(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        casadi::TypeID ret = obj->getType();
-
-        return WrapReturn< int, casadi::TypeID >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_description" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::get_description"
-// cWrapperName: "casadi__GenericType__get_description"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__GenericType__get_description(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::string ret = obj->get_description();"
-// params: []
-extern "C"
-std::string*
-    casadi__GenericType__get_description(std::string ** err_msg, casadi::GenericType* obj);
-std::string*
-    casadi__GenericType__get_description(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::string ret = obj->get_description();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_bool" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::is_bool"
-// cWrapperName: "casadi__GenericType__is_bool"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__is_bool(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->is_bool();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__is_bool(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__is_bool(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->is_bool();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_bool_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::is_bool_vector"
-// cWrapperName: "casadi__GenericType__is_bool_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__is_bool_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->is_bool_vector();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__is_bool_vector(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__is_bool_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->is_bool_vector();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_dict" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::is_dict"
-// cWrapperName: "casadi__GenericType__is_dict"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__is_dict(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->is_dict();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__is_dict(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__is_dict(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->is_dict();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_double" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::is_double"
-// cWrapperName: "casadi__GenericType__is_double"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__is_double(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->is_double();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__is_double(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__is_double(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->is_double();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_double_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::is_double_vector"
-// cWrapperName: "casadi__GenericType__is_double_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__is_double_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->is_double_vector();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__is_double_vector(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__is_double_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->is_double_vector();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_empty_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::is_empty_vector"
-// cWrapperName: "casadi__GenericType__is_empty_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__is_empty_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->is_empty_vector();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__is_empty_vector(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__is_empty_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->is_empty_vector();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_function" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::is_function"
-// cWrapperName: "casadi__GenericType__is_function"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__is_function(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->is_function();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__is_function(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__is_function(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->is_function();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_int" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::is_int"
-// cWrapperName: "casadi__GenericType__is_int"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__is_int(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->is_int();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__is_int(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__is_int(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->is_int();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_int_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::is_int_vector"
-// cWrapperName: "casadi__GenericType__is_int_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__is_int_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->is_int_vector();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__is_int_vector(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__is_int_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->is_int_vector();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_int_vector_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::is_int_vector_vector"
-// cWrapperName: "casadi__GenericType__is_int_vector_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__is_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->is_int_vector_vector();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__is_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__is_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->is_int_vector_vector();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_string" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::is_string"
-// cWrapperName: "casadi__GenericType__is_string"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__is_string(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->is_string();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__is_string(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__is_string(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->is_string();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_string_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::is_string_vector"
-// cWrapperName: "casadi__GenericType__is_string_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__is_string_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->is_string_vector();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__is_string_vector(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__is_string_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->is_string_vector();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_void_pointer" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::is_void_pointer"
-// cWrapperName: "casadi__GenericType__is_void_pointer"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__is_void_pointer(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->is_void_pointer();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__is_void_pointer(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__is_void_pointer(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->is_void_pointer();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator !=" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::operator !="
-// cWrapperName: "casadi__GenericType__operator__nequals"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__operator__nequals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
-// call: "        bool ret = obj->operator !=(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "GenericType"))),SwigOutput False)]
-extern "C"
-int
-    casadi__GenericType__operator__nequals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0);
-int
-    casadi__GenericType__operator__nequals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0){
-    try {
-        casadi::GenericType& x0_ = Marshaling<casadi::GenericType&,casadi::GenericType*>::marshal(x0);
-
-        bool ret = obj->operator !=(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator ==" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::operator =="
-// cWrapperName: "casadi__GenericType__operator__equals"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__operator__equals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
-// call: "        bool ret = obj->operator ==(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "GenericType"))),SwigOutput False)]
-extern "C"
-int
-    casadi__GenericType__operator__equals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0);
-int
-    casadi__GenericType__operator__equals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0){
-    try {
-        casadi::GenericType& x0_ = Marshaling<casadi::GenericType&,casadi::GenericType*>::marshal(x0);
-
-        bool ret = obj->operator ==(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "to_bool" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::to_bool"
-// cWrapperName: "casadi__GenericType__to_bool"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__to_bool(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        bool ret = obj->to_bool();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__to_bool(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__to_bool(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        bool ret = obj->to_bool();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "to_bool_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::to_bool_vector"
-// cWrapperName: "casadi__GenericType__to_bool_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: StdVec CBool
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__GenericType__to_bool_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::vector< bool > ret = obj->to_bool_vector();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__GenericType__to_bool_vector(std::string ** err_msg, casadi::GenericType* obj);
-std::vector< int >*
-    casadi__GenericType__to_bool_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::vector< bool > ret = obj->to_bool_vector();
-
-        return WrapReturn< std::vector< int >*, std::vector< bool > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "to_dict" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::to_dict"
-// cWrapperName: "casadi__GenericType__to_dict"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
-// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
-// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__GenericType__to_dict(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::map< std::string, casadi::GenericType > ret = obj->to_dict();"
-// params: []
-extern "C"
-std::map< std::string, casadi::GenericType* >*
-    casadi__GenericType__to_dict(std::string ** err_msg, casadi::GenericType* obj);
-std::map< std::string, casadi::GenericType* >*
-    casadi__GenericType__to_dict(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::map< std::string, casadi::GenericType > ret = obj->to_dict();
-
-        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "to_double" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::to_double"
-// cWrapperName: "casadi__GenericType__to_double"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__GenericType__to_double(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        double ret = obj->to_double();"
-// params: []
-extern "C"
-double
-    casadi__GenericType__to_double(std::string ** err_msg, casadi::GenericType* obj);
-double
-    casadi__GenericType__to_double(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        double ret = obj->to_double();
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "to_double_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::to_double_vector"
-// cWrapperName: "casadi__GenericType__to_double_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: StdVec CDouble
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    casadi__GenericType__to_double_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::vector< double > ret = obj->to_double_vector();"
-// params: []
-extern "C"
-std::vector< double >*
-    casadi__GenericType__to_double_vector(std::string ** err_msg, casadi::GenericType* obj);
-std::vector< double >*
-    casadi__GenericType__to_double_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::vector< double > ret = obj->to_double_vector();
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "to_function" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::to_function"
-// cWrapperName: "casadi__GenericType__to_function"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__GenericType__to_function(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        casadi::Function ret = obj->to_function();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__GenericType__to_function(std::string ** err_msg, casadi::GenericType* obj);
-casadi::Function*
-    casadi__GenericType__to_function(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        casadi::Function ret = obj->to_function();
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "to_int" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::to_int"
-// cWrapperName: "casadi__GenericType__to_int"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GenericType__to_int(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        int ret = obj->to_int();"
-// params: []
-extern "C"
-int
-    casadi__GenericType__to_int(std::string ** err_msg, casadi::GenericType* obj);
-int
-    casadi__GenericType__to_int(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        int ret = obj->to_int();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "to_int_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::to_int_vector"
-// cWrapperName: "casadi__GenericType__to_int_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__GenericType__to_int_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::vector< int > ret = obj->to_int_vector();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__GenericType__to_int_vector(std::string ** err_msg, casadi::GenericType* obj);
-std::vector< int >*
-    casadi__GenericType__to_int_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::vector< int > ret = obj->to_int_vector();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "to_int_vector_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::to_int_vector_vector"
-// cWrapperName: "casadi__GenericType__to_int_vector_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: StdVec (StdVec CInt)
-// cWrapperRetType: "std::vector< std::vector< int >* >*"
-// proto: "std::vector< std::vector< int >* >*\n    casadi__GenericType__to_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::vector< std::vector< int > > ret = obj->to_int_vector_vector();"
-// params: []
-extern "C"
-std::vector< std::vector< int >* >*
-    casadi__GenericType__to_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
-std::vector< std::vector< int >* >*
-    casadi__GenericType__to_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::vector< std::vector< int > > ret = obj->to_int_vector_vector();
-
-        return WrapReturn< std::vector< std::vector< int >* >*, std::vector< std::vector< int > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "to_string" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::to_string"
-// cWrapperName: "casadi__GenericType__to_string"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__GenericType__to_string(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::string ret = obj->to_string();"
-// params: []
-extern "C"
-std::string*
-    casadi__GenericType__to_string(std::string ** err_msg, casadi::GenericType* obj);
-std::string*
-    casadi__GenericType__to_string(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::string ret = obj->to_string();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "to_string_vector" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::to_string_vector"
-// cWrapperName: "casadi__GenericType__to_string_vector"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: StdVec StdString
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    casadi__GenericType__to_string_vector(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        std::vector< std::string > ret = obj->to_string_vector();"
-// params: []
-extern "C"
-std::vector< std::string* >*
-    casadi__GenericType__to_string_vector(std::string ** err_msg, casadi::GenericType* obj);
-std::vector< std::string* >*
-    casadi__GenericType__to_string_vector(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        std::vector< std::string > ret = obj->to_string_vector();
-
-        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "to_void_pointer" ===============
-// class: "casadi::GenericType"
-// cppName: "casadi::GenericType::to_void_pointer"
-// cWrapperName: "casadi__GenericType__to_void_pointer"
-// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__GenericType__to_void_pointer(std::string ** err_msg, casadi::GenericType* obj)"
-// call: "        obj->to_void_pointer();"
-// params: []
-extern "C"
-void
-    casadi__GenericType__to_void_pointer(std::string ** err_msg, casadi::GenericType* obj);
-void
-    casadi__GenericType__to_void_pointer(std::string ** err_msg, casadi::GenericType* obj){
-    try {
-
-        obj->to_void_pointer();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "GlobalOptions")===============
-// classType: UserType (Namespace ["casadi"]) (Name "GlobalOptions")
-extern "C"
-void delete_casadi__GlobalOptions(casadi::GlobalOptions* obj);
-void delete_casadi__GlobalOptions(casadi::GlobalOptions* obj){
-    delete obj;
-}
-
-// ================== Static method: "getCasadiPath" ===============
-// class: "casadi::GlobalOptions"
-// cppName: "casadi::GlobalOptions::getCasadiPath"
-// cWrapperName: "casadi__GlobalOptions__getCasadiPath"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__GlobalOptions__getCasadiPath(std::string ** err_msg)"
-// call: "        std::string ret = casadi::GlobalOptions::getCasadiPath();"
-// params: []
-extern "C"
-std::string*
-    casadi__GlobalOptions__getCasadiPath(std::string ** err_msg);
-std::string*
-    casadi__GlobalOptions__getCasadiPath(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::GlobalOptions::getCasadiPath();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "getHierarchicalSparsity" ===============
-// class: "casadi::GlobalOptions"
-// cppName: "casadi::GlobalOptions::getHierarchicalSparsity"
-// cWrapperName: "casadi__GlobalOptions__getHierarchicalSparsity"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GlobalOptions__getHierarchicalSparsity(std::string ** err_msg)"
-// call: "        bool ret = casadi::GlobalOptions::getHierarchicalSparsity();"
-// params: []
-extern "C"
-int
-    casadi__GlobalOptions__getHierarchicalSparsity(std::string ** err_msg);
-int
-    casadi__GlobalOptions__getHierarchicalSparsity(std::string ** err_msg){
-    try {
-
-        bool ret = casadi::GlobalOptions::getHierarchicalSparsity();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "getSimplificationOnTheFly" ===============
-// class: "casadi::GlobalOptions"
-// cppName: "casadi::GlobalOptions::getSimplificationOnTheFly"
-// cWrapperName: "casadi__GlobalOptions__getSimplificationOnTheFly"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__GlobalOptions__getSimplificationOnTheFly(std::string ** err_msg)"
-// call: "        bool ret = casadi::GlobalOptions::getSimplificationOnTheFly();"
-// params: []
-extern "C"
-int
-    casadi__GlobalOptions__getSimplificationOnTheFly(std::string ** err_msg);
-int
-    casadi__GlobalOptions__getSimplificationOnTheFly(std::string ** err_msg){
-    try {
-
-        bool ret = casadi::GlobalOptions::getSimplificationOnTheFly();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "setCasadiPath" ===============
-// class: "casadi::GlobalOptions"
-// cppName: "casadi::GlobalOptions::setCasadiPath"
-// cWrapperName: "casadi__GlobalOptions__setCasadiPath"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__GlobalOptions__setCasadiPath(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::GlobalOptions::setCasadiPath(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__GlobalOptions__setCasadiPath(std::string ** err_msg, std::string* x0);
-void
-    casadi__GlobalOptions__setCasadiPath(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::GlobalOptions::setCasadiPath(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setHierarchicalSparsity" ===============
-// class: "casadi::GlobalOptions"
-// cppName: "casadi::GlobalOptions::setHierarchicalSparsity"
-// cWrapperName: "casadi__GlobalOptions__setHierarchicalSparsity"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__GlobalOptions__setHierarchicalSparsity(std::string ** err_msg, int x0)"
-// call: "        casadi::GlobalOptions::setHierarchicalSparsity(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__GlobalOptions__setHierarchicalSparsity(std::string ** err_msg, int x0);
-void
-    casadi__GlobalOptions__setHierarchicalSparsity(std::string ** err_msg, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        casadi::GlobalOptions::setHierarchicalSparsity(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setSimplificationOnTheFly" ===============
-// class: "casadi::GlobalOptions"
-// cppName: "casadi::GlobalOptions::setSimplificationOnTheFly"
-// cWrapperName: "casadi__GlobalOptions__setSimplificationOnTheFly"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__GlobalOptions__setSimplificationOnTheFly(std::string ** err_msg, int x0)"
-// call: "        casadi::GlobalOptions::setSimplificationOnTheFly(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__GlobalOptions__setSimplificationOnTheFly(std::string ** err_msg, int x0);
-void
-    casadi__GlobalOptions__setSimplificationOnTheFly(std::string ** err_msg, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        casadi::GlobalOptions::setSimplificationOnTheFly(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "IM")===============
-// classType: UserType (Namespace ["casadi"]) (Name "IM")
-extern "C"
-void delete_casadi__IM(casadi::IM* obj);
-void delete_casadi__IM(casadi::IM* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM"
-// cWrapperName: "casadi__IM__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0)"
-// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM"
-// cWrapperName: "casadi__IM__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SXElem* >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0)"
-// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SXElem")))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0){
-    try {
-        std::vector< casadi::SXElem > x0_ = Marshaling<std::vector< casadi::SXElem >,std::vector< casadi::SXElem* >*>::marshal(x0);
-
-        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM"
-// cWrapperName: "casadi__IM__CONSTRUCTOR__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__2(std::string ** err_msg, casadi::DM* x0)"
-// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__2(std::string ** err_msg, casadi::DM* x0);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM"
-// cWrapperName: "casadi__IM__CONSTRUCTOR__3"
-// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< double >* x0)"
-// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
-// params: [(Ref (Const (StdVec CDouble)),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< double >* x0);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< double >* x0){
-    try {
-        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
-
-        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM"
-// cWrapperName: "casadi__IM__CONSTRUCTOR__4"
-// protoArgs: "(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
-// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
-// params: [(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0){
-    try {
-        std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);
-
-        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM"
-// cWrapperName: "casadi__IM__CONSTRUCTOR__5"
-// protoArgs: "(std::string ** err_msg, double x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__5(std::string ** err_msg, double x0)"
-// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
-// params: [(CDouble,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__5(std::string ** err_msg, double x0);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__5(std::string ** err_msg, double x0){
-    try {
-        double x0_ = Marshaling<double,double>::marshal(x0);
-
-        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM"
-// cWrapperName: "casadi__IM__CONSTRUCTOR__6"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::IM* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::IM* x1)"
-// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::IM* x1);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::IM* x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM"
-// cWrapperName: "casadi__IM__CONSTRUCTOR__7"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM"
-// cWrapperName: "casadi__IM__CONSTRUCTOR__8"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__8(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__8(std::string ** err_msg, int x0, int x1);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__8(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM"
-// cWrapperName: "casadi__IM__CONSTRUCTOR__9"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__9(std::string ** err_msg, casadi::IM* x0)"
-// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__9(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__9(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM"
-// cWrapperName: "casadi__IM__CONSTRUCTOR__10"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__10(std::string ** err_msg)"
-// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM();"
-// params: []
-extern "C"
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__10(std::string ** err_msg);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__10(std::string ** err_msg){
-    try {
-
-        casadi::IM* ret = (casadi::IM*)new casadi::IM();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "T" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::T"
-// cWrapperName: "casadi__IM__T"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__T(std::string ** err_msg, casadi::IM* obj)"
-// call: "        casadi::IM ret = obj->T();"
-// params: []
-extern "C"
-casadi::IM*
-    casadi__IM__T(std::string ** err_msg, casadi::IM* obj);
-casadi::IM*
-    casadi__IM__T(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        casadi::IM ret = obj->T();
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "__nonzero__" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::__nonzero__"
-// cWrapperName: "casadi__IM____nonzero__"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM____nonzero__(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->__nonzero__();"
-// params: []
-extern "C"
-int
-    casadi__IM____nonzero__(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM____nonzero__(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->__nonzero__();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "binary" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::binary"
-// cWrapperName: "casadi__IM__binary"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__binary(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2)"
-// call: "        casadi::IM ret = casadi::IM::binary(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__binary(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2);
-casadi::IM*
-    casadi__IM__binary(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::binary(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "clear" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::clear"
-// cWrapperName: "casadi__IM__clear"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__clear(std::string ** err_msg, casadi::IM* obj)"
-// call: "        obj->clear();"
-// params: []
-extern "C"
-void
-    casadi__IM__clear(std::string ** err_msg, casadi::IM* obj);
-void
-    casadi__IM__clear(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        obj->clear();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "colind" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::colind"
-// cWrapperName: "casadi__IM__colind"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__colind(std::string ** err_msg, casadi::IM* obj, int x0)"
-// call: "        int ret = obj->colind(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__IM__colind(std::string ** err_msg, casadi::IM* obj, int x0);
-int
-    casadi__IM__colind(std::string ** err_msg, casadi::IM* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->colind(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "dep" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::dep"
-// cWrapperName: "casadi__IM__dep__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__dep__0(std::string ** err_msg, casadi::IM* obj)"
-// call: "        casadi::IM ret = obj->dep();"
-// params: []
-extern "C"
-casadi::IM*
-    casadi__IM__dep__0(std::string ** err_msg, casadi::IM* obj);
-casadi::IM*
-    casadi__IM__dep__0(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        casadi::IM ret = obj->dep();
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "dep" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::dep"
-// cWrapperName: "casadi__IM__dep__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__dep__1(std::string ** err_msg, casadi::IM* obj, int x0)"
-// call: "        casadi::IM ret = obj->dep(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__dep__1(std::string ** err_msg, casadi::IM* obj, int x0);
-casadi::IM*
-    casadi__IM__dep__1(std::string ** err_msg, casadi::IM* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::IM ret = obj->dep(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "dim" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::dim"
-// cWrapperName: "casadi__IM__dim"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__IM__dim(std::string ** err_msg, casadi::IM* obj)"
-// call: "        std::string ret = obj->dim();"
-// params: []
-extern "C"
-std::string*
-    casadi__IM__dim(std::string ** err_msg, casadi::IM* obj);
-std::string*
-    casadi__IM__dim(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        std::string ret = obj->dim();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "element_hash" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::element_hash"
-// cWrapperName: "casadi__IM__element_hash"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CSize
-// cWrapperRetType: "size_t"
-// proto: "size_t\n    casadi__IM__element_hash(std::string ** err_msg, casadi::IM* obj)"
-// call: "        size_t ret = obj->element_hash();"
-// params: []
-extern "C"
-size_t
-    casadi__IM__element_hash(std::string ** err_msg, casadi::IM* obj);
-size_t
-    casadi__IM__element_hash(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        size_t ret = obj->element_hash();
-
-        return WrapReturn< size_t, size_t >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "enlarge" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::enlarge"
-// cWrapperName: "casadi__IM__enlarge__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__enlarge__0(std::string ** err_msg, casadi::IM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__enlarge__0(std::string ** err_msg, casadi::IM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
-void
-    casadi__IM__enlarge__0(std::string ** err_msg, casadi::IM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-
-        obj->enlarge(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "enlarge" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::enlarge"
-// cWrapperName: "casadi__IM__enlarge__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__enlarge__1(std::string ** err_msg, casadi::IM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
-// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__IM__enlarge__1(std::string ** err_msg, casadi::IM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4);
-void
-    casadi__IM__enlarge__1(std::string ** err_msg, casadi::IM* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::erase"
-// cWrapperName: "casadi__IM__erase__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__erase__0(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0)"
-// call: "        obj->erase(x0_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__erase__0(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0);
-void
-    casadi__IM__erase__0(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        obj->erase(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::erase"
-// cWrapperName: "casadi__IM__erase__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__erase__1(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, int x1)"
-// call: "        obj->erase(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__IM__erase__1(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, int x1);
-void
-    casadi__IM__erase__1(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, int x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        obj->erase(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::erase"
-// cWrapperName: "casadi__IM__erase__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__erase__2(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// call: "        obj->erase(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__erase__2(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, std::vector< int >* x1);
-void
-    casadi__IM__erase__2(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, std::vector< int >* x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        obj->erase(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::erase"
-// cWrapperName: "casadi__IM__erase__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__erase__3(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
-// call: "        obj->erase(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__IM__erase__3(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, std::vector< int >* x1, int x2);
-void
-    casadi__IM__erase__3(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, std::vector< int >* x1, int x2){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->erase(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "eye" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::eye"
-// cWrapperName: "casadi__IM__eye"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__eye(std::string ** err_msg, int x0)"
-// call: "        casadi::IM ret = casadi::IM::eye(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__eye(std::string ** err_msg, int x0);
-casadi::IM*
-    casadi__IM__eye(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::eye(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get"
-// cWrapperName: "casadi__IM__get__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__get__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__get__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::IM* x3);
-void
-    casadi__IM__get__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::IM* x3){
-    try {
-        casadi::IM x0_ = casadi::IM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get"
-// cWrapperName: "casadi__IM__get__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__get__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__get__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::Slice* x3);
-void
-    casadi__IM__get__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::Slice* x3){
-    try {
-        casadi::IM x0_ = casadi::IM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get"
-// cWrapperName: "casadi__IM__get__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__get__2(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__get__2(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::IM* x3);
-void
-    casadi__IM__get__2(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::IM* x3){
-    try {
-        casadi::IM x0_ = casadi::IM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get"
-// cWrapperName: "casadi__IM__get__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__get__3(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__get__3(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
-void
-    casadi__IM__get__3(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
-    try {
-        casadi::IM x0_ = casadi::IM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get"
-// cWrapperName: "casadi__IM__get__4"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Sparsity* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__get__4(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Sparsity* x2)"
-// call: "        obj->get(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__get__4(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Sparsity* x2);
-void
-    casadi__IM__get__4(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Sparsity* x2){
-    try {
-        casadi::IM x0_ = casadi::IM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
-
-        obj->get(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get"
-// cWrapperName: "casadi__IM__get__5"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__get__5(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2)"
-// call: "        obj->get(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__get__5(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2);
-void
-    casadi__IM__get__5(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2){
-    try {
-        casadi::IM x0_ = casadi::IM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->get(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get"
-// cWrapperName: "casadi__IM__get__6"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__get__6(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2)"
-// call: "        obj->get(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__get__6(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2);
-void
-    casadi__IM__get__6(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::IM x0_ = casadi::IM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->get(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "getEqualityCheckingDepth" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::getEqualityCheckingDepth"
-// cWrapperName: "casadi__IM__getEqualityCheckingDepth"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__getEqualityCheckingDepth(std::string ** err_msg)"
-// call: "        int ret = casadi::IM::getEqualityCheckingDepth();"
-// params: []
-extern "C"
-int
-    casadi__IM__getEqualityCheckingDepth(std::string ** err_msg);
-int
-    casadi__IM__getEqualityCheckingDepth(std::string ** err_msg){
-    try {
-
-        int ret = casadi::IM::getEqualityCheckingDepth();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_colind" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get_colind"
-// cWrapperName: "casadi__IM__get_colind"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__IM__get_colind(std::string ** err_msg, casadi::IM* obj)"
-// call: "        std::vector< int > ret = obj->get_colind();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__IM__get_colind(std::string ** err_msg, casadi::IM* obj);
-std::vector< int >*
-    casadi__IM__get_colind(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        std::vector< int > ret = obj->get_colind();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "get_free" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get_free"
-// cWrapperName: "casadi__IM__get_free"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi__IM__get_free(std::string ** err_msg, casadi::Function* x0)"
-// call: "        std::vector< casadi::IM > ret = casadi::IM::get_free(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-std::vector< casadi::IM* >*
-    casadi__IM__get_free(std::string ** err_msg, casadi::Function* x0);
-std::vector< casadi::IM* >*
-    casadi__IM__get_free(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        std::vector< casadi::IM > ret = casadi::IM::get_free(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "get_input" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get_input"
-// cWrapperName: "casadi__IM__get_input"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi__IM__get_input(std::string ** err_msg, casadi::Function* x0)"
-// call: "        std::vector< casadi::IM > ret = casadi::IM::get_input(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-std::vector< casadi::IM* >*
-    casadi__IM__get_input(std::string ** err_msg, casadi::Function* x0);
-std::vector< casadi::IM* >*
-    casadi__IM__get_input(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        std::vector< casadi::IM > ret = casadi::IM::get_input(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_nonzeros" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get_nonzeros"
-// cWrapperName: "casadi__IM__get_nonzeros"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__IM__get_nonzeros(std::string ** err_msg, casadi::IM* obj)"
-// call: "        std::vector< int > ret = obj->get_nonzeros();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__IM__get_nonzeros(std::string ** err_msg, casadi::IM* obj);
-std::vector< int >*
-    casadi__IM__get_nonzeros(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        std::vector< int > ret = obj->get_nonzeros();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_nz" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get_nz"
-// cWrapperName: "casadi__IM__get_nz__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__get_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2)"
-// call: "        obj->get_nz(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__get_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2);
-void
-    casadi__IM__get_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2){
-    try {
-        casadi::IM x0_ = casadi::IM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->get_nz(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get_nz" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get_nz"
-// cWrapperName: "casadi__IM__get_nz__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__get_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2)"
-// call: "        obj->get_nz(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__get_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2);
-void
-    casadi__IM__get_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::IM x0_ = casadi::IM();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->get_nz(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get_row" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get_row"
-// cWrapperName: "casadi__IM__get_row"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__IM__get_row(std::string ** err_msg, casadi::IM* obj)"
-// call: "        std::vector< int > ret = obj->get_row();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__IM__get_row(std::string ** err_msg, casadi::IM* obj);
-std::vector< int >*
-    casadi__IM__get_row(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        std::vector< int > ret = obj->get_row();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_sparsity" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::get_sparsity"
-// cWrapperName: "casadi__IM__get_sparsity"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__IM__get_sparsity(std::string ** err_msg, casadi::IM* obj)"
-// call: "        casadi::Sparsity ret = obj->get_sparsity();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__IM__get_sparsity(std::string ** err_msg, casadi::IM* obj);
-casadi::Sparsity*
-    casadi__IM__get_sparsity(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        casadi::Sparsity ret = obj->get_sparsity();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::grad"
-// cWrapperName: "casadi__IM__grad__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__grad__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::IM ret = casadi::IM::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__grad__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::IM*
-    casadi__IM__grad__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::grad"
-// cWrapperName: "casadi__IM__grad__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__grad__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::IM ret = casadi::IM::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__grad__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::IM*
-    casadi__IM__grad__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::grad"
-// cWrapperName: "casadi__IM__grad__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__grad__2(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::IM ret = casadi::IM::grad(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__grad__2(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::IM*
-    casadi__IM__grad__2(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::grad(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::grad"
-// cWrapperName: "casadi__IM__grad__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__grad__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::IM ret = casadi::IM::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__grad__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::IM*
-    casadi__IM__grad__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::grad"
-// cWrapperName: "casadi__IM__grad__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__grad__4(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::IM ret = casadi::IM::grad(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__grad__4(std::string ** err_msg, casadi::Function* x0);
-casadi::IM*
-    casadi__IM__grad__4(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::grad(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::grad"
-// cWrapperName: "casadi__IM__grad__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__grad__5(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::IM ret = casadi::IM::grad(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__grad__5(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::IM*
-    casadi__IM__grad__5(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::grad(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::grad"
-// cWrapperName: "casadi__IM__grad__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__grad__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::IM ret = casadi::IM::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__grad__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::IM*
-    casadi__IM__grad__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_duplicates" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::has_duplicates"
-// cWrapperName: "casadi__IM__has_duplicates"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__has_duplicates(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->has_duplicates();"
-// params: []
-extern "C"
-int
-    casadi__IM__has_duplicates(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__has_duplicates(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->has_duplicates();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_nz" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::has_nz"
-// cWrapperName: "casadi__IM__has_nz"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__has_nz(std::string ** err_msg, casadi::IM* obj, int x0, int x1)"
-// call: "        bool ret = obj->has_nz(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__IM__has_nz(std::string ** err_msg, casadi::IM* obj, int x0, int x1);
-int
-    casadi__IM__has_nz(std::string ** err_msg, casadi::IM* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        bool ret = obj->has_nz(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_zeros" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::has_zeros"
-// cWrapperName: "casadi__IM__has_zeros"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__has_zeros(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->has_zeros();"
-// params: []
-extern "C"
-int
-    casadi__IM__has_zeros(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__has_zeros(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->has_zeros();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::hess"
-// cWrapperName: "casadi__IM__hess__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__hess__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::IM ret = casadi::IM::hess(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__hess__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::IM*
-    casadi__IM__hess__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::hess(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::hess"
-// cWrapperName: "casadi__IM__hess__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__hess__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::IM ret = casadi::IM::hess(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__hess__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::IM*
-    casadi__IM__hess__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::hess(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::hess"
-// cWrapperName: "casadi__IM__hess__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__hess__2(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::IM ret = casadi::IM::hess(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__hess__2(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::IM*
-    casadi__IM__hess__2(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::hess(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::hess"
-// cWrapperName: "casadi__IM__hess__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__hess__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::IM ret = casadi::IM::hess(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__hess__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::IM*
-    casadi__IM__hess__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::hess(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::hess"
-// cWrapperName: "casadi__IM__hess__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__hess__4(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::IM ret = casadi::IM::hess(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__hess__4(std::string ** err_msg, casadi::Function* x0);
-casadi::IM*
-    casadi__IM__hess__4(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::hess(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::hess"
-// cWrapperName: "casadi__IM__hess__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__hess__5(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::IM ret = casadi::IM::hess(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__hess__5(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::IM*
-    casadi__IM__hess__5(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::hess(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::hess"
-// cWrapperName: "casadi__IM__hess__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__hess__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::IM ret = casadi::IM::hess(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__hess__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::IM*
-    casadi__IM__hess__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::hess(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::inf"
-// cWrapperName: "casadi__IM__inf__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__inf__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::IM ret = casadi::IM::inf(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__inf__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::IM*
-    casadi__IM__inf__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::inf"
-// cWrapperName: "casadi__IM__inf__1"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__inf__1(std::string ** err_msg)"
-// call: "        casadi::IM ret = casadi::IM::inf();"
-// params: []
-extern "C"
-casadi::IM*
-    casadi__IM__inf__1(std::string ** err_msg);
-casadi::IM*
-    casadi__IM__inf__1(std::string ** err_msg){
-    try {
-
-        casadi::IM ret = casadi::IM::inf();
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::inf"
-// cWrapperName: "casadi__IM__inf__2"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__inf__2(std::string ** err_msg, int x0)"
-// call: "        casadi::IM ret = casadi::IM::inf(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__inf__2(std::string ** err_msg, int x0);
-casadi::IM*
-    casadi__IM__inf__2(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::inf"
-// cWrapperName: "casadi__IM__inf__3"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__inf__3(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::IM ret = casadi::IM::inf(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__inf__3(std::string ** err_msg, int x0, int x1);
-casadi::IM*
-    casadi__IM__inf__3(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::inf(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::inf"
-// cWrapperName: "casadi__IM__inf__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::IM ret = casadi::IM::inf(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::IM*
-    casadi__IM__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_column" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_column"
-// cWrapperName: "casadi__IM__is_column"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_column(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_column();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_column(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_column(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_column();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_commutative" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_commutative"
-// cWrapperName: "casadi__IM__is_commutative"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_commutative(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_commutative();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_commutative(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_commutative(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_commutative();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_constant" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_constant"
-// cWrapperName: "casadi__IM__is_constant"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_constant(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_constant();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_constant(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_constant(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_constant();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_dense" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_dense"
-// cWrapperName: "casadi__IM__is_dense"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_dense(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_dense();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_dense(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_dense(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_dense();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_empty" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_empty"
-// cWrapperName: "casadi__IM__is_empty__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_empty__0(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_empty();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_empty__0(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_empty__0(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_empty();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_empty" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_empty"
-// cWrapperName: "casadi__IM__is_empty__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_empty__1(std::string ** err_msg, casadi::IM* obj, int x0)"
-// call: "        bool ret = obj->is_empty(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__IM__is_empty__1(std::string ** err_msg, casadi::IM* obj, int x0);
-int
-    casadi__IM__is_empty__1(std::string ** err_msg, casadi::IM* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        bool ret = obj->is_empty(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_identity" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_identity"
-// cWrapperName: "casadi__IM__is_identity"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_identity(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_identity();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_identity(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_identity(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_identity();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_integer" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_integer"
-// cWrapperName: "casadi__IM__is_integer"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_integer(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_integer();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_integer(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_integer(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_integer();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_leaf" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_leaf"
-// cWrapperName: "casadi__IM__is_leaf"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_leaf(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_leaf();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_leaf(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_leaf(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_leaf();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_minus_one" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_minus_one"
-// cWrapperName: "casadi__IM__is_minus_one"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_minus_one(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_minus_one();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_minus_one(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_minus_one(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_minus_one();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_one" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_one"
-// cWrapperName: "casadi__IM__is_one"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_one(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_one();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_one(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_one(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_one();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_regular" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_regular"
-// cWrapperName: "casadi__IM__is_regular"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_regular(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_regular();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_regular(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_regular(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_regular();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_row" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_row"
-// cWrapperName: "casadi__IM__is_row"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_row(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_row();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_row(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_row(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_row();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_scalar" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_scalar"
-// cWrapperName: "casadi__IM__is_scalar__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_scalar__0(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_scalar();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_scalar__0(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_scalar__0(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_scalar();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_scalar" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_scalar"
-// cWrapperName: "casadi__IM__is_scalar__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_scalar__1(std::string ** err_msg, casadi::IM* obj, int x0)"
-// call: "        bool ret = obj->is_scalar(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__IM__is_scalar__1(std::string ** err_msg, casadi::IM* obj, int x0);
-int
-    casadi__IM__is_scalar__1(std::string ** err_msg, casadi::IM* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        bool ret = obj->is_scalar(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_smooth" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_smooth"
-// cWrapperName: "casadi__IM__is_smooth"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_smooth(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_smooth();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_smooth(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_smooth(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_smooth();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_square" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_square"
-// cWrapperName: "casadi__IM__is_square"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_square(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_square();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_square(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_square(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_square();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_symbolic" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_symbolic"
-// cWrapperName: "casadi__IM__is_symbolic"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_symbolic(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_symbolic();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_symbolic(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_symbolic(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_symbolic();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_tril" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_tril"
-// cWrapperName: "casadi__IM__is_tril"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_tril(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_tril();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_tril(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_tril(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_tril();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_triu" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_triu"
-// cWrapperName: "casadi__IM__is_triu"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_triu(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_triu();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_triu(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_triu(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_triu();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_valid_input" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_valid_input"
-// cWrapperName: "casadi__IM__is_valid_input"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_valid_input(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_valid_input();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_valid_input(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_valid_input(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_valid_input();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_vector" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_vector"
-// cWrapperName: "casadi__IM__is_vector"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_vector(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_vector();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_vector(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_vector(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_vector();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_zero" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::is_zero"
-// cWrapperName: "casadi__IM__is_zero"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__is_zero(std::string ** err_msg, casadi::IM* obj)"
-// call: "        bool ret = obj->is_zero();"
-// params: []
-extern "C"
-int
-    casadi__IM__is_zero(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__is_zero(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        bool ret = obj->is_zero();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::IM*
-    casadi__IM__jac__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__1(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__1(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3);
-casadi::IM*
-    casadi__IM__jac__1(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4);
-casadi::IM*
-    casadi__IM__jac__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__3(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__3(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::IM*
-    casadi__IM__jac__3(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__4(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__4(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3);
-casadi::IM*
-    casadi__IM__jac__4(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__5(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__5(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4);
-casadi::IM*
-    casadi__IM__jac__5(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__6(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__6(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::IM*
-    casadi__IM__jac__6(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::jac(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__7"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__7(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__7(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::IM*
-    casadi__IM__jac__7(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__8"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__8(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__8(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3);
-casadi::IM*
-    casadi__IM__jac__8(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__9"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__9(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__9(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4);
-casadi::IM*
-    casadi__IM__jac__9(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__10"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__10(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__10(std::string ** err_msg, casadi::Function* x0);
-casadi::IM*
-    casadi__IM__jac__10(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::jac(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__11"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__11(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__11(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::IM*
-    casadi__IM__jac__11(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::jac(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__12"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__12(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__12(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::IM*
-    casadi__IM__jac__12(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__13"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__13(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__13(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3);
-casadi::IM*
-    casadi__IM__jac__13(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::jac"
-// cWrapperName: "casadi__IM__jac__14"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__jac__14(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4)"
-// call: "        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__jac__14(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4);
-casadi::IM*
-    casadi__IM__jac__14(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::IM ret = casadi::IM::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "matrix_matrix" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::matrix_matrix"
-// cWrapperName: "casadi__IM__matrix_matrix"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__matrix_matrix(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2)"
-// call: "        casadi::IM ret = casadi::IM::matrix_matrix(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__matrix_matrix(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2);
-casadi::IM*
-    casadi__IM__matrix_matrix(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::matrix_matrix(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "matrix_scalar" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::matrix_scalar"
-// cWrapperName: "casadi__IM__matrix_scalar"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__matrix_scalar(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2)"
-// call: "        casadi::IM ret = casadi::IM::matrix_scalar(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__matrix_scalar(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2);
-casadi::IM*
-    casadi__IM__matrix_scalar(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::matrix_scalar(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "n_dep" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::n_dep"
-// cWrapperName: "casadi__IM__n_dep"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__n_dep(std::string ** err_msg, casadi::IM* obj)"
-// call: "        int ret = obj->n_dep();"
-// params: []
-extern "C"
-int
-    casadi__IM__n_dep(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__n_dep(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        int ret = obj->n_dep();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "name" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::name"
-// cWrapperName: "casadi__IM__name"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__IM__name(std::string ** err_msg, casadi::IM* obj)"
-// call: "        std::string ret = obj->name();"
-// params: []
-extern "C"
-std::string*
-    casadi__IM__name(std::string ** err_msg, casadi::IM* obj);
-std::string*
-    casadi__IM__name(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        std::string ret = obj->name();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::nan"
-// cWrapperName: "casadi__IM__nan__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__nan__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::IM ret = casadi::IM::nan(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__nan__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::IM*
-    casadi__IM__nan__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::nan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::nan"
-// cWrapperName: "casadi__IM__nan__1"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__nan__1(std::string ** err_msg)"
-// call: "        casadi::IM ret = casadi::IM::nan();"
-// params: []
-extern "C"
-casadi::IM*
-    casadi__IM__nan__1(std::string ** err_msg);
-casadi::IM*
-    casadi__IM__nan__1(std::string ** err_msg){
-    try {
-
-        casadi::IM ret = casadi::IM::nan();
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::nan"
-// cWrapperName: "casadi__IM__nan__2"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__nan__2(std::string ** err_msg, int x0)"
-// call: "        casadi::IM ret = casadi::IM::nan(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__nan__2(std::string ** err_msg, int x0);
-casadi::IM*
-    casadi__IM__nan__2(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::nan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::nan"
-// cWrapperName: "casadi__IM__nan__3"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__nan__3(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::IM ret = casadi::IM::nan(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__nan__3(std::string ** err_msg, int x0, int x1);
-casadi::IM*
-    casadi__IM__nan__3(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::nan(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::nan"
-// cWrapperName: "casadi__IM__nan__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::IM ret = casadi::IM::nan(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::IM*
-    casadi__IM__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::nan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::nnz"
-// cWrapperName: "casadi__IM__nnz"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__nnz(std::string ** err_msg, casadi::IM* obj)"
-// call: "        int ret = obj->nnz();"
-// params: []
-extern "C"
-int
-    casadi__IM__nnz(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__nnz(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        int ret = obj->nnz();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_diag" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::nnz_diag"
-// cWrapperName: "casadi__IM__nnz_diag"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__nnz_diag(std::string ** err_msg, casadi::IM* obj)"
-// call: "        int ret = obj->nnz_diag();"
-// params: []
-extern "C"
-int
-    casadi__IM__nnz_diag(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__nnz_diag(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        int ret = obj->nnz_diag();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_lower" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::nnz_lower"
-// cWrapperName: "casadi__IM__nnz_lower"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__nnz_lower(std::string ** err_msg, casadi::IM* obj)"
-// call: "        int ret = obj->nnz_lower();"
-// params: []
-extern "C"
-int
-    casadi__IM__nnz_lower(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__nnz_lower(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        int ret = obj->nnz_lower();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_upper" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::nnz_upper"
-// cWrapperName: "casadi__IM__nnz_upper"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__nnz_upper(std::string ** err_msg, casadi::IM* obj)"
-// call: "        int ret = obj->nnz_upper();"
-// params: []
-extern "C"
-int
-    casadi__IM__nnz_upper(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__nnz_upper(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        int ret = obj->nnz_upper();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::numel"
-// cWrapperName: "casadi__IM__numel__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__numel__0(std::string ** err_msg, casadi::IM* obj, int x0)"
-// call: "        int ret = obj->numel(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__IM__numel__0(std::string ** err_msg, casadi::IM* obj, int x0);
-int
-    casadi__IM__numel__0(std::string ** err_msg, casadi::IM* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->numel(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::numel"
-// cWrapperName: "casadi__IM__numel__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__numel__1(std::string ** err_msg, casadi::IM* obj)"
-// call: "        int ret = obj->numel();"
-// params: []
-extern "C"
-int
-    casadi__IM__numel__1(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__numel__1(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        int ret = obj->numel();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::ones"
-// cWrapperName: "casadi__IM__ones__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__ones__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::IM ret = casadi::IM::ones(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__ones__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::IM*
-    casadi__IM__ones__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::ones(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::ones"
-// cWrapperName: "casadi__IM__ones__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::IM ret = casadi::IM::ones(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::IM*
-    casadi__IM__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::ones(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::ones"
-// cWrapperName: "casadi__IM__ones__2"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__ones__2(std::string ** err_msg)"
-// call: "        casadi::IM ret = casadi::IM::ones();"
-// params: []
-extern "C"
-casadi::IM*
-    casadi__IM__ones__2(std::string ** err_msg);
-casadi::IM*
-    casadi__IM__ones__2(std::string ** err_msg){
-    try {
-
-        casadi::IM ret = casadi::IM::ones();
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::ones"
-// cWrapperName: "casadi__IM__ones__3"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__ones__3(std::string ** err_msg, int x0)"
-// call: "        casadi::IM ret = casadi::IM::ones(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__ones__3(std::string ** err_msg, int x0);
-casadi::IM*
-    casadi__IM__ones__3(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::ones(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::ones"
-// cWrapperName: "casadi__IM__ones__4"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__ones__4(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::IM ret = casadi::IM::ones(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__ones__4(std::string ** err_msg, int x0, int x1);
-casadi::IM*
-    casadi__IM__ones__4(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::ones(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator +" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::operator +"
-// cWrapperName: "casadi__IM__operator__plus"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__operator__plus(std::string ** err_msg, casadi::IM* obj)"
-// call: "        casadi::IM ret = obj->operator +();"
-// params: []
-extern "C"
-casadi::IM*
-    casadi__IM__operator__plus(std::string ** err_msg, casadi::IM* obj);
-casadi::IM*
-    casadi__IM__operator__plus(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        casadi::IM ret = obj->operator +();
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator -" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::operator -"
-// cWrapperName: "casadi__IM__operator__minus"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__operator__minus(std::string ** err_msg, casadi::IM* obj)"
-// call: "        casadi::IM ret = obj->operator -();"
-// params: []
-extern "C"
-casadi::IM*
-    casadi__IM__operator__minus(std::string ** err_msg, casadi::IM* obj);
-casadi::IM*
-    casadi__IM__operator__minus(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        casadi::IM ret = obj->operator -();
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator double" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::operator double"
-// cWrapperName: "casadi__IM__operator_double"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__IM__operator_double(std::string ** err_msg, casadi::IM* obj)"
-// call: "        double ret = obj->operator double();"
-// params: []
-extern "C"
-double
-    casadi__IM__operator_double(std::string ** err_msg, casadi::IM* obj);
-double
-    casadi__IM__operator_double(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        double ret = obj->operator double();
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator int" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::operator int"
-// cWrapperName: "casadi__IM__operator_int"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__operator_int(std::string ** err_msg, casadi::IM* obj)"
-// call: "        int ret = obj->operator int();"
-// params: []
-extern "C"
-int
-    casadi__IM__operator_int(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__operator_int(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        int ret = obj->operator int();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "print_dense" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::print_dense"
-// cWrapperName: "casadi__IM__print_dense"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__print_dense(std::string ** err_msg, casadi::IM* obj)"
-// call: "        obj->print_dense();"
-// params: []
-extern "C"
-void
-    casadi__IM__print_dense(std::string ** err_msg, casadi::IM* obj);
-void
-    casadi__IM__print_dense(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        obj->print_dense();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_scalar" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::print_scalar"
-// cWrapperName: "casadi__IM__print_scalar"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__print_scalar(std::string ** err_msg, casadi::IM* obj)"
-// call: "        obj->print_scalar();"
-// params: []
-extern "C"
-void
-    casadi__IM__print_scalar(std::string ** err_msg, casadi::IM* obj);
-void
-    casadi__IM__print_scalar(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        obj->print_scalar();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_sparse" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::print_sparse"
-// cWrapperName: "casadi__IM__print_sparse"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__print_sparse(std::string ** err_msg, casadi::IM* obj)"
-// call: "        obj->print_sparse();"
-// params: []
-extern "C"
-void
-    casadi__IM__print_sparse(std::string ** err_msg, casadi::IM* obj);
-void
-    casadi__IM__print_sparse(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        obj->print_sparse();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_split" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::print_split"
-// cWrapperName: "casadi__IM__print_split"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__print_split(std::string ** err_msg, casadi::IM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
-// call: "        obj->print_split(x0_, x1_);"
-// params: [(Ref (StdVec StdString),SwigOutput True),(Ref (StdVec StdString),SwigOutput True)]
-extern "C"
-void
-    casadi__IM__print_split(std::string ** err_msg, casadi::IM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1);
-void
-    casadi__IM__print_split(std::string ** err_msg, casadi::IM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1){
-    try {
-        std::vector< std::string > x0_ = std::vector< std::string >();  // Swig output
-        std::vector< std::string > x1_ = std::vector< std::string >();  // Swig output
-
-        obj->print_split(x0_, x1_);
-        *x0 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x0_ );
-        *x1 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x1_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_vector" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::print_vector"
-// cWrapperName: "casadi__IM__print_vector"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__print_vector(std::string ** err_msg, casadi::IM* obj)"
-// call: "        obj->print_vector();"
-// params: []
-extern "C"
-void
-    casadi__IM__print_vector(std::string ** err_msg, casadi::IM* obj);
-void
-    casadi__IM__print_vector(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        obj->print_vector();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "printme" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::printme"
-// cWrapperName: "casadi__IM__printme"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__printme(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0)"
-// call: "        casadi::IM ret = obj->printme(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__printme(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0);
-casadi::IM*
-    casadi__IM__printme(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = obj->printme(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "remove" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::remove"
-// cWrapperName: "casadi__IM__remove"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__remove(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// call: "        obj->remove(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__remove(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, std::vector< int >* x1);
-void
-    casadi__IM__remove(std::string ** err_msg, casadi::IM* obj, std::vector< int >* x0, std::vector< int >* x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        obj->remove(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reserve" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::reserve"
-// cWrapperName: "casadi__IM__reserve__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__reserve__0(std::string ** err_msg, casadi::IM* obj, int x0, int x1)"
-// call: "        obj->reserve(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__IM__reserve__0(std::string ** err_msg, casadi::IM* obj, int x0, int x1);
-void
-    casadi__IM__reserve__0(std::string ** err_msg, casadi::IM* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        obj->reserve(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reserve" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::reserve"
-// cWrapperName: "casadi__IM__reserve__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__reserve__1(std::string ** err_msg, casadi::IM* obj, int x0)"
-// call: "        obj->reserve(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__IM__reserve__1(std::string ** err_msg, casadi::IM* obj, int x0);
-void
-    casadi__IM__reserve__1(std::string ** err_msg, casadi::IM* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        obj->reserve(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "resetInput" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::resetInput"
-// cWrapperName: "casadi__IM__resetInput"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__resetInput(std::string ** err_msg, casadi::IM* obj)"
-// call: "        obj->resetInput();"
-// params: []
-extern "C"
-void
-    casadi__IM__resetInput(std::string ** err_msg, casadi::IM* obj);
-void
-    casadi__IM__resetInput(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        obj->resetInput();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "resize" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::resize"
-// cWrapperName: "casadi__IM__resize"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__resize(std::string ** err_msg, casadi::IM* obj, int x0, int x1)"
-// call: "        obj->resize(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__IM__resize(std::string ** err_msg, casadi::IM* obj, int x0, int x1);
-void
-    casadi__IM__resize(std::string ** err_msg, casadi::IM* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        obj->resize(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "row" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::row"
-// cWrapperName: "casadi__IM__row"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__row(std::string ** err_msg, casadi::IM* obj, int x0)"
-// call: "        int ret = obj->row(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__IM__row(std::string ** err_msg, casadi::IM* obj, int x0);
-int
-    casadi__IM__row(std::string ** err_msg, casadi::IM* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->row(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sanity_check" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::sanity_check"
-// cWrapperName: "casadi__IM__sanity_check__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__sanity_check__0(std::string ** err_msg, casadi::IM* obj)"
-// call: "        obj->sanity_check();"
-// params: []
-extern "C"
-void
-    casadi__IM__sanity_check__0(std::string ** err_msg, casadi::IM* obj);
-void
-    casadi__IM__sanity_check__0(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        obj->sanity_check();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "sanity_check" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::sanity_check"
-// cWrapperName: "casadi__IM__sanity_check__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__sanity_check__1(std::string ** err_msg, casadi::IM* obj, int x0)"
-// call: "        obj->sanity_check(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__IM__sanity_check__1(std::string ** err_msg, casadi::IM* obj, int x0);
-void
-    casadi__IM__sanity_check__1(std::string ** err_msg, casadi::IM* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        obj->sanity_check(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "scalar_matrix" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::scalar_matrix"
-// cWrapperName: "casadi__IM__scalar_matrix"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__scalar_matrix(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2)"
-// call: "        casadi::IM ret = casadi::IM::scalar_matrix(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__scalar_matrix(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2);
-casadi::IM*
-    casadi__IM__scalar_matrix(std::string ** err_msg, int x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::scalar_matrix(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::set"
-// cWrapperName: "casadi__IM__set__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__set__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__set__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::IM* x3);
-void
-    casadi__IM__set__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::IM* x3){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::set"
-// cWrapperName: "casadi__IM__set__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__set__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__set__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::Slice* x3);
-void
-    casadi__IM__set__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::Slice* x3){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::set"
-// cWrapperName: "casadi__IM__set__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__set__2(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__set__2(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::IM* x3);
-void
-    casadi__IM__set__2(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::IM* x3){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::set"
-// cWrapperName: "casadi__IM__set__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__set__3(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__set__3(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
-void
-    casadi__IM__set__3(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::set"
-// cWrapperName: "casadi__IM__set__4"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Sparsity* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__set__4(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Sparsity* x2)"
-// call: "        obj->set(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__set__4(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Sparsity* x2);
-void
-    casadi__IM__set__4(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Sparsity* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
-
-        obj->set(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::set"
-// cWrapperName: "casadi__IM__set__5"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__set__5(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2)"
-// call: "        obj->set(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__set__5(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2);
-void
-    casadi__IM__set__5(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->set(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::set"
-// cWrapperName: "casadi__IM__set__6"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__set__6(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2)"
-// call: "        obj->set(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__set__6(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2);
-void
-    casadi__IM__set__6(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->set(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setEqualityCheckingDepth" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::setEqualityCheckingDepth"
-// cWrapperName: "casadi__IM__setEqualityCheckingDepth__0"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__setEqualityCheckingDepth__0(std::string ** err_msg)"
-// call: "        casadi::IM::setEqualityCheckingDepth();"
-// params: []
-extern "C"
-void
-    casadi__IM__setEqualityCheckingDepth__0(std::string ** err_msg);
-void
-    casadi__IM__setEqualityCheckingDepth__0(std::string ** err_msg){
-    try {
-
-        casadi::IM::setEqualityCheckingDepth();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setEqualityCheckingDepth" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::setEqualityCheckingDepth"
-// cWrapperName: "casadi__IM__setEqualityCheckingDepth__1"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__setEqualityCheckingDepth__1(std::string ** err_msg, int x0)"
-// call: "        casadi::IM::setEqualityCheckingDepth(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__IM__setEqualityCheckingDepth__1(std::string ** err_msg, int x0);
-void
-    casadi__IM__setEqualityCheckingDepth__1(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::IM::setEqualityCheckingDepth(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setPrecision" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::setPrecision"
-// cWrapperName: "casadi__IM__setPrecision"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__setPrecision(std::string ** err_msg, int x0)"
-// call: "        casadi::IM::setPrecision(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__IM__setPrecision(std::string ** err_msg, int x0);
-void
-    casadi__IM__setPrecision(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::IM::setPrecision(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setScientific" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::setScientific"
-// cWrapperName: "casadi__IM__setScientific"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__setScientific(std::string ** err_msg, int x0)"
-// call: "        casadi::IM::setScientific(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__IM__setScientific(std::string ** err_msg, int x0);
-void
-    casadi__IM__setScientific(std::string ** err_msg, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        casadi::IM::setScientific(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setWidth" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::setWidth"
-// cWrapperName: "casadi__IM__setWidth"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__setWidth(std::string ** err_msg, int x0)"
-// call: "        casadi::IM::setWidth(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__IM__setWidth(std::string ** err_msg, int x0);
-void
-    casadi__IM__setWidth(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::IM::setWidth(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_nz" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::set_nz"
-// cWrapperName: "casadi__IM__set_nz__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__set_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2)"
-// call: "        obj->set_nz(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__set_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2);
-void
-    casadi__IM__set_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->set_nz(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_nz" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::set_nz"
-// cWrapperName: "casadi__IM__set_nz__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__IM__set_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2)"
-// call: "        obj->set_nz(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__IM__set_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2);
-void
-    casadi__IM__set_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->set_nz(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::size"
-// cWrapperName: "casadi__IM__size__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__size__0(std::string ** err_msg, casadi::IM* obj, int x0)"
-// call: "        int ret = obj->size(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__IM__size__0(std::string ** err_msg, casadi::IM* obj, int x0);
-int
-    casadi__IM__size__0(std::string ** err_msg, casadi::IM* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->size(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::size"
-// cWrapperName: "casadi__IM__size__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: StdPair CInt CInt
-// cWrapperRetType: "std::pair< int, int >*"
-// proto: "std::pair< int, int >*\n    casadi__IM__size__1(std::string ** err_msg, casadi::IM* obj)"
-// call: "        std::pair< int, int > ret = obj->size();"
-// params: []
-extern "C"
-std::pair< int, int >*
-    casadi__IM__size__1(std::string ** err_msg, casadi::IM* obj);
-std::pair< int, int >*
-    casadi__IM__size__1(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        std::pair< int, int > ret = obj->size();
-
-        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size1" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::size1"
-// cWrapperName: "casadi__IM__size1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__size1(std::string ** err_msg, casadi::IM* obj)"
-// call: "        int ret = obj->size1();"
-// params: []
-extern "C"
-int
-    casadi__IM__size1(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__size1(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        int ret = obj->size1();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size2" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::size2"
-// cWrapperName: "casadi__IM__size2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__IM__size2(std::string ** err_msg, casadi::IM* obj)"
-// call: "        int ret = obj->size2();"
-// params: []
-extern "C"
-int
-    casadi__IM__size2(std::string ** err_msg, casadi::IM* obj);
-int
-    casadi__IM__size2(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        int ret = obj->size2();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::sparsity"
-// cWrapperName: "casadi__IM__sparsity"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__IM__sparsity(std::string ** err_msg, casadi::IM* obj)"
-// call: "        casadi::Sparsity ret = obj->sparsity();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__IM__sparsity(std::string ** err_msg, casadi::IM* obj);
-casadi::Sparsity*
-    casadi__IM__sparsity(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        casadi::Sparsity ret = obj->sparsity();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::sym"
-// cWrapperName: "casadi__IM__sym__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
-// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
-// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi__IM__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
-// call: "        std::vector< std::vector< casadi::IM > > ret = casadi::IM::sym(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< std::vector< casadi::IM* >* >*
-    casadi__IM__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4);
-std::vector< std::vector< casadi::IM* >* >*
-    casadi__IM__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-        int x4_ = Marshaling<int,int>::marshal(x4);
-
-        std::vector< std::vector< casadi::IM > > ret = casadi::IM::sym(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::sym"
-// cWrapperName: "casadi__IM__sym__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
-// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
-// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi__IM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
-// call: "        std::vector< std::vector< casadi::IM > > ret = casadi::IM::sym(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< std::vector< casadi::IM* >* >*
-    casadi__IM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3);
-std::vector< std::vector< casadi::IM* >* >*
-    casadi__IM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        std::vector< std::vector< casadi::IM > > ret = casadi::IM::sym(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::sym"
-// cWrapperName: "casadi__IM__sym__2"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi__IM__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
-// call: "        std::vector< casadi::IM > ret = casadi::IM::sym(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< casadi::IM* >*
-    casadi__IM__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3);
-std::vector< casadi::IM* >*
-    casadi__IM__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        std::vector< casadi::IM > ret = casadi::IM::sym(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::sym"
-// cWrapperName: "casadi__IM__sym__3"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi__IM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
-// call: "        std::vector< casadi::IM > ret = casadi::IM::sym(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< casadi::IM* >*
-    casadi__IM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2);
-std::vector< casadi::IM* >*
-    casadi__IM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< casadi::IM > ret = casadi::IM::sym(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::sym"
-// cWrapperName: "casadi__IM__sym__4"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
-// call: "        casadi::IM ret = casadi::IM::sym(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
-casadi::IM*
-    casadi__IM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::sym(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::sym"
-// cWrapperName: "casadi__IM__sym__5"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
-// call: "        casadi::IM ret = casadi::IM::sym(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1);
-casadi::IM*
-    casadi__IM__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::sym(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::sym"
-// cWrapperName: "casadi__IM__sym__6"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__sym__6(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::IM ret = casadi::IM::sym(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__sym__6(std::string ** err_msg, std::string* x0);
-casadi::IM*
-    casadi__IM__sym__6(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::sym(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::sym"
-// cWrapperName: "casadi__IM__sym__7"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__sym__7(std::string ** err_msg, std::string* x0, int x1)"
-// call: "        casadi::IM ret = casadi::IM::sym(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__sym__7(std::string ** err_msg, std::string* x0, int x1);
-casadi::IM*
-    casadi__IM__sym__7(std::string ** err_msg, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::sym(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::sym"
-// cWrapperName: "casadi__IM__sym__8"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2)"
-// call: "        casadi::IM ret = casadi::IM::sym(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2);
-casadi::IM*
-    casadi__IM__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::sym(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::tang"
-// cWrapperName: "casadi__IM__tang__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__tang__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::IM ret = casadi::IM::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__tang__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::IM*
-    casadi__IM__tang__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::tang"
-// cWrapperName: "casadi__IM__tang__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__tang__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::IM ret = casadi::IM::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__tang__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::IM*
-    casadi__IM__tang__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::tang"
-// cWrapperName: "casadi__IM__tang__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__tang__2(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::IM ret = casadi::IM::tang(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__tang__2(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::IM*
-    casadi__IM__tang__2(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::tang(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::tang"
-// cWrapperName: "casadi__IM__tang__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__tang__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::IM ret = casadi::IM::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__tang__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::IM*
-    casadi__IM__tang__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::tang"
-// cWrapperName: "casadi__IM__tang__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__tang__4(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::IM ret = casadi::IM::tang(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__tang__4(std::string ** err_msg, casadi::Function* x0);
-casadi::IM*
-    casadi__IM__tang__4(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::tang(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::tang"
-// cWrapperName: "casadi__IM__tang__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__tang__5(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::IM ret = casadi::IM::tang(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__tang__5(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::IM*
-    casadi__IM__tang__5(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::tang(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::tang"
-// cWrapperName: "casadi__IM__tang__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__tang__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::IM ret = casadi::IM::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__tang__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::IM*
-    casadi__IM__tang__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "triplet" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::triplet"
-// cWrapperName: "casadi__IM__triplet__0"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IM* x2, std::pair< int, int >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IM* x2, std::pair< int, int >* x3)"
-// call: "        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IM* x2, std::pair< int, int >* x3);
-casadi::IM*
-    casadi__IM__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IM* x2, std::pair< int, int >* x3){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        std::pair< int, int > x3_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x3);
-
-        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "triplet" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::triplet"
-// cWrapperName: "casadi__IM__triplet__1"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IM* x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IM* x2, int x3, int x4)"
-// call: "        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IM* x2, int x3, int x4);
-casadi::IM*
-    casadi__IM__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IM* x2, int x3, int x4){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-        int x4_ = Marshaling<int,int>::marshal(x4);
-
-        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "triplet" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::triplet"
-// cWrapperName: "casadi__IM__triplet__2"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IM* x2)"
-// call: "        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IM* x2);
-casadi::IM*
-    casadi__IM__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::IM* x2){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "type_name" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::type_name"
-// cWrapperName: "casadi__IM__type_name"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__IM__type_name(std::string ** err_msg)"
-// call: "        std::string ret = casadi::IM::type_name();"
-// params: []
-extern "C"
-std::string*
-    casadi__IM__type_name(std::string ** err_msg);
-std::string*
-    casadi__IM__type_name(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::IM::type_name();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "unary" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::unary"
-// cWrapperName: "casadi__IM__unary"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::IM* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__unary(std::string ** err_msg, int x0, casadi::IM* x1)"
-// call: "        casadi::IM ret = casadi::IM::unary(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__unary(std::string ** err_msg, int x0, casadi::IM* x1);
-casadi::IM*
-    casadi__IM__unary(std::string ** err_msg, int x0, casadi::IM* x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::unary(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::zeros"
-// cWrapperName: "casadi__IM__zeros__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__zeros__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::IM ret = casadi::IM::zeros(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__zeros__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::IM*
-    casadi__IM__zeros__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::zeros(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::zeros"
-// cWrapperName: "casadi__IM__zeros__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::IM ret = casadi::IM::zeros(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::IM*
-    casadi__IM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::zeros(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::zeros"
-// cWrapperName: "casadi__IM__zeros__2"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__zeros__2(std::string ** err_msg)"
-// call: "        casadi::IM ret = casadi::IM::zeros();"
-// params: []
-extern "C"
-casadi::IM*
-    casadi__IM__zeros__2(std::string ** err_msg);
-casadi::IM*
-    casadi__IM__zeros__2(std::string ** err_msg){
-    try {
-
-        casadi::IM ret = casadi::IM::zeros();
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::zeros"
-// cWrapperName: "casadi__IM__zeros__3"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__zeros__3(std::string ** err_msg, int x0)"
-// call: "        casadi::IM ret = casadi::IM::zeros(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__zeros__3(std::string ** err_msg, int x0);
-casadi::IM*
-    casadi__IM__zeros__3(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::IM ret = casadi::IM::zeros(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::zeros"
-// cWrapperName: "casadi__IM__zeros__4"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__zeros__4(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::IM ret = casadi::IM::zeros(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::IM*
-    casadi__IM__zeros__4(std::string ** err_msg, int x0, int x1);
-casadi::IM*
-    casadi__IM__zeros__4(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::IM ret = casadi::IM::zeros(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getRepresentation" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::getRepresentation"
-// cWrapperName: "casadi__IM__getRepresentation"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__IM__getRepresentation(std::string ** err_msg, casadi::IM* obj)"
-// call: "        std::string ret = obj->getRepresentation();"
-// params: []
-extern "C"
-std::string*
-    casadi__IM__getRepresentation(std::string ** err_msg, casadi::IM* obj);
-std::string*
-    casadi__IM__getRepresentation(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        std::string ret = obj->getRepresentation();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getDescription" ===============
-// class: "casadi::IM"
-// cppName: "casadi::IM::getDescription"
-// cWrapperName: "casadi__IM__getDescription"
-// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__IM__getDescription(std::string ** err_msg, casadi::IM* obj)"
-// call: "        std::string ret = obj->getDescription();"
-// params: []
-extern "C"
-std::string*
-    casadi__IM__getDescription(std::string ** err_msg, casadi::IM* obj);
-std::string*
-    casadi__IM__getDescription(std::string ** err_msg, casadi::IM* obj){
-    try {
-
-        std::string ret = obj->getDescription();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "Importer")===============
-// classType: UserType (Namespace ["casadi"]) (Name "Importer")
-extern "C"
-void delete_casadi__Importer(casadi::Importer* obj);
-void delete_casadi__Importer(casadi::Importer* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Importer"
-// cppName: "casadi::Importer"
-// cWrapperName: "casadi__Importer__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Importer")
-// cWrapperRetType: "casadi::Importer*"
-// proto: "casadi::Importer*\n    casadi__Importer__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1)"
-// call: "        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Importer*
-    casadi__Importer__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1);
-casadi::Importer*
-    casadi__Importer__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Importer"
-// cppName: "casadi::Importer"
-// cWrapperName: "casadi__Importer__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Importer")
-// cWrapperRetType: "casadi::Importer*"
-// proto: "casadi::Importer*\n    casadi__Importer__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// call: "        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Importer*
-    casadi__Importer__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::Importer*
-    casadi__Importer__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
-
-        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Importer"
-// cppName: "casadi::Importer"
-// cWrapperName: "casadi__Importer__CONSTRUCTOR__2"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Importer")
-// cWrapperRetType: "casadi::Importer*"
-// proto: "casadi::Importer*\n    casadi__Importer__CONSTRUCTOR__2(std::string ** err_msg)"
-// call: "        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer();"
-// params: []
-extern "C"
-casadi::Importer*
-    casadi__Importer__CONSTRUCTOR__2(std::string ** err_msg);
-casadi::Importer*
-    casadi__Importer__CONSTRUCTOR__2(std::string ** err_msg){
-    try {
-
-        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "body" ===============
-// class: "casadi::Importer"
-// cppName: "casadi::Importer::body"
-// cWrapperName: "casadi__Importer__body"
-// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Importer__body(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
-// call: "        std::string ret = obj->body(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Importer__body(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
-std::string*
-    casadi__Importer__body(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = obj->body(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "doc" ===============
-// class: "casadi::Importer"
-// cppName: "casadi::Importer::doc"
-// cWrapperName: "casadi__Importer__doc"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Importer__doc(std::string ** err_msg, std::string* x0)"
-// call: "        std::string ret = casadi::Importer::doc(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Importer__doc(std::string ** err_msg, std::string* x0);
-std::string*
-    casadi__Importer__doc(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = casadi::Importer::doc(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_meta" ===============
-// class: "casadi::Importer"
-// cppName: "casadi::Importer::get_meta"
-// cWrapperName: "casadi__Importer__get_meta__0"
-// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Importer__get_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
-// call: "        std::string ret = obj->get_meta(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Importer__get_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
-std::string*
-    casadi__Importer__get_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = obj->get_meta(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_meta" ===============
-// class: "casadi::Importer"
-// cppName: "casadi::Importer::get_meta"
-// cWrapperName: "casadi__Importer__get_meta__1"
-// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Importer__get_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, int x1)"
-// call: "        std::string ret = obj->get_meta(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Importer__get_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, int x1);
-std::string*
-    casadi__Importer__get_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::string ret = obj->get_meta(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_function" ===============
-// class: "casadi::Importer"
-// cppName: "casadi::Importer::has_function"
-// cWrapperName: "casadi__Importer__has_function"
-// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Importer__has_function(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
-// call: "        bool ret = obj->has_function(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Importer__has_function(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
-int
-    casadi__Importer__has_function(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = obj->has_function(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_meta" ===============
-// class: "casadi::Importer"
-// cppName: "casadi::Importer::has_meta"
-// cWrapperName: "casadi__Importer__has_meta__0"
-// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Importer__has_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
-// call: "        bool ret = obj->has_meta(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Importer__has_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
-int
-    casadi__Importer__has_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = obj->has_meta(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_meta" ===============
-// class: "casadi::Importer"
-// cppName: "casadi::Importer::has_meta"
-// cWrapperName: "casadi__Importer__has_meta__1"
-// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Importer__has_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, int x1)"
-// call: "        bool ret = obj->has_meta(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Importer__has_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, int x1);
-int
-    casadi__Importer__has_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        bool ret = obj->has_meta(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "has_plugin" ===============
-// class: "casadi::Importer"
-// cppName: "casadi::Importer::has_plugin"
-// cWrapperName: "casadi__Importer__has_plugin"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Importer__has_plugin(std::string ** err_msg, std::string* x0)"
-// call: "        bool ret = casadi::Importer::has_plugin(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Importer__has_plugin(std::string ** err_msg, std::string* x0);
-int
-    casadi__Importer__has_plugin(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = casadi::Importer::has_plugin(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "inlined" ===============
-// class: "casadi::Importer"
-// cppName: "casadi::Importer::inlined"
-// cWrapperName: "casadi__Importer__inlined"
-// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Importer__inlined(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
-// call: "        bool ret = obj->inlined(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Importer__inlined(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
-int
-    casadi__Importer__inlined(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = obj->inlined(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "load_plugin" ===============
-// class: "casadi::Importer"
-// cppName: "casadi::Importer::load_plugin"
-// cWrapperName: "casadi__Importer__load_plugin"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Importer__load_plugin(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::Importer::load_plugin(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Importer__load_plugin(std::string ** err_msg, std::string* x0);
-void
-    casadi__Importer__load_plugin(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Importer::load_plugin(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "plugin_name" ===============
-// class: "casadi::Importer"
-// cppName: "casadi::Importer::plugin_name"
-// cWrapperName: "casadi__Importer__plugin_name"
-// protoArgs: "(std::string ** err_msg, casadi::Importer* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Importer__plugin_name(std::string ** err_msg, casadi::Importer* obj)"
-// call: "        std::string ret = obj->plugin_name();"
-// params: []
-extern "C"
-std::string*
-    casadi__Importer__plugin_name(std::string ** err_msg, casadi::Importer* obj);
-std::string*
-    casadi__Importer__plugin_name(std::string ** err_msg, casadi::Importer* obj){
-    try {
-
-        std::string ret = obj->plugin_name();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "Linsol")===============
-// classType: UserType (Namespace ["casadi"]) (Name "Linsol")
-extern "C"
-void delete_casadi__Linsol(casadi::Linsol* obj);
-void delete_casadi__Linsol(casadi::Linsol* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol"
-// cWrapperName: "casadi__Linsol__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Linsol")
-// cWrapperRetType: "casadi::Linsol*"
-// proto: "casadi::Linsol*\n    casadi__Linsol__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1)"
-// call: "        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Linsol*
-    casadi__Linsol__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1);
-casadi::Linsol*
-    casadi__Linsol__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol"
-// cWrapperName: "casadi__Linsol__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Linsol")
-// cWrapperRetType: "casadi::Linsol*"
-// proto: "casadi::Linsol*\n    casadi__Linsol__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// call: "        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Linsol*
-    casadi__Linsol__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::Linsol*
-    casadi__Linsol__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
-
-        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol"
-// cWrapperName: "casadi__Linsol__CONSTRUCTOR__2"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Linsol")
-// cWrapperRetType: "casadi::Linsol*"
-// proto: "casadi::Linsol*\n    casadi__Linsol__CONSTRUCTOR__2(std::string ** err_msg)"
-// call: "        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol();"
-// params: []
-extern "C"
-casadi::Linsol*
-    casadi__Linsol__CONSTRUCTOR__2(std::string ** err_msg);
-casadi::Linsol*
-    casadi__Linsol__CONSTRUCTOR__2(std::string ** err_msg){
-    try {
-
-        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "cholesky" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol::cholesky"
-// cWrapperName: "casadi__Linsol__cholesky__0"
-// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__Linsol__cholesky__0(std::string ** err_msg, casadi::Linsol* obj)"
-// call: "        casadi::DM ret = obj->cholesky();"
-// params: []
-extern "C"
-casadi::DM*
-    casadi__Linsol__cholesky__0(std::string ** err_msg, casadi::Linsol* obj);
-casadi::DM*
-    casadi__Linsol__cholesky__0(std::string ** err_msg, casadi::Linsol* obj){
-    try {
-
-        casadi::DM ret = obj->cholesky();
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "cholesky" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol::cholesky"
-// cWrapperName: "casadi__Linsol__cholesky__1"
-// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__Linsol__cholesky__1(std::string ** err_msg, casadi::Linsol* obj, int x0)"
-// call: "        casadi::DM ret = obj->cholesky(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__Linsol__cholesky__1(std::string ** err_msg, casadi::Linsol* obj, int x0);
-casadi::DM*
-    casadi__Linsol__cholesky__1(std::string ** err_msg, casadi::Linsol* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        casadi::DM ret = obj->cholesky(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "cholesky_sparsity" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol::cholesky_sparsity"
-// cWrapperName: "casadi__Linsol__cholesky_sparsity__0"
-// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Linsol__cholesky_sparsity__0(std::string ** err_msg, casadi::Linsol* obj)"
-// call: "        casadi::Sparsity ret = obj->cholesky_sparsity();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__Linsol__cholesky_sparsity__0(std::string ** err_msg, casadi::Linsol* obj);
-casadi::Sparsity*
-    casadi__Linsol__cholesky_sparsity__0(std::string ** err_msg, casadi::Linsol* obj){
-    try {
-
-        casadi::Sparsity ret = obj->cholesky_sparsity();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "cholesky_sparsity" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol::cholesky_sparsity"
-// cWrapperName: "casadi__Linsol__cholesky_sparsity__1"
-// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Linsol__cholesky_sparsity__1(std::string ** err_msg, casadi::Linsol* obj, int x0)"
-// call: "        casadi::Sparsity ret = obj->cholesky_sparsity(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Linsol__cholesky_sparsity__1(std::string ** err_msg, casadi::Linsol* obj, int x0);
-casadi::Sparsity*
-    casadi__Linsol__cholesky_sparsity__1(std::string ** err_msg, casadi::Linsol* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        casadi::Sparsity ret = obj->cholesky_sparsity(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "doc" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol::doc"
-// cWrapperName: "casadi__Linsol__doc"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Linsol__doc(std::string ** err_msg, std::string* x0)"
-// call: "        std::string ret = casadi::Linsol::doc(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Linsol__doc(std::string ** err_msg, std::string* x0);
-std::string*
-    casadi__Linsol__doc(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = casadi::Linsol::doc(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "has_plugin" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol::has_plugin"
-// cWrapperName: "casadi__Linsol__has_plugin"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Linsol__has_plugin(std::string ** err_msg, std::string* x0)"
-// call: "        bool ret = casadi::Linsol::has_plugin(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Linsol__has_plugin(std::string ** err_msg, std::string* x0);
-int
-    casadi__Linsol__has_plugin(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = casadi::Linsol::has_plugin(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "load_plugin" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol::load_plugin"
-// cWrapperName: "casadi__Linsol__load_plugin"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Linsol__load_plugin(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::Linsol::load_plugin(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Linsol__load_plugin(std::string ** err_msg, std::string* x0);
-void
-    casadi__Linsol__load_plugin(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Linsol::load_plugin(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "neig" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol::neig"
-// cWrapperName: "casadi__Linsol__neig"
-// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Linsol__neig(std::string ** err_msg, casadi::Linsol* obj)"
-// call: "        int ret = obj->neig();"
-// params: []
-extern "C"
-int
-    casadi__Linsol__neig(std::string ** err_msg, casadi::Linsol* obj);
-int
-    casadi__Linsol__neig(std::string ** err_msg, casadi::Linsol* obj){
-    try {
-
-        int ret = obj->neig();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "plugin_name" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol::plugin_name"
-// cWrapperName: "casadi__Linsol__plugin_name"
-// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Linsol__plugin_name(std::string ** err_msg, casadi::Linsol* obj)"
-// call: "        std::string ret = obj->plugin_name();"
-// params: []
-extern "C"
-std::string*
-    casadi__Linsol__plugin_name(std::string ** err_msg, casadi::Linsol* obj);
-std::string*
-    casadi__Linsol__plugin_name(std::string ** err_msg, casadi::Linsol* obj){
-    try {
-
-        std::string ret = obj->plugin_name();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "rank" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol::rank"
-// cWrapperName: "casadi__Linsol__rank"
-// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Linsol__rank(std::string ** err_msg, casadi::Linsol* obj)"
-// call: "        int ret = obj->rank();"
-// params: []
-extern "C"
-int
-    casadi__Linsol__rank(std::string ** err_msg, casadi::Linsol* obj);
-int
-    casadi__Linsol__rank(std::string ** err_msg, casadi::Linsol* obj){
-    try {
-
-        int ret = obj->rank();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "solve" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol::solve"
-// cWrapperName: "casadi__Linsol__solve__0"
-// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__Linsol__solve__0(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1)"
-// call: "        casadi::MX ret = obj->solve(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__Linsol__solve__0(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi__Linsol__solve__0(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = obj->solve(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "solve" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol::solve"
-// cWrapperName: "casadi__Linsol__solve__1"
-// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__Linsol__solve__1(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1, int x2)"
-// call: "        casadi::MX ret = obj->solve(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__Linsol__solve__1(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1, int x2);
-casadi::MX*
-    casadi__Linsol__solve__1(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::MX ret = obj->solve(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "solve" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol::solve"
-// cWrapperName: "casadi__Linsol__solve__2"
-// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__Linsol__solve__2(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1)"
-// call: "        casadi::DM ret = obj->solve(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__Linsol__solve__2(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi__Linsol__solve__2(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = obj->solve(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "solve" ===============
-// class: "casadi::Linsol"
-// cppName: "casadi::Linsol::solve"
-// cWrapperName: "casadi__Linsol__solve__3"
-// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__Linsol__solve__3(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1, int x2)"
-// call: "        casadi::DM ret = obj->solve(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__Linsol__solve__3(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1, int x2);
-casadi::DM*
-    casadi__Linsol__solve__3(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1, int x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::DM ret = obj->solve(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "MX")===============
-// classType: UserType (Namespace ["casadi"]) (Name "MX")
-extern "C"
-void delete_casadi__MX(casadi::MX* obj);
-void delete_casadi__MX(casadi::MX* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX"
-// cWrapperName: "casadi__MX__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0)"
-// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0);
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX"
-// cWrapperName: "casadi__MX__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0)"
-// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
-// params: [(Ref (Const (StdVec CDouble)),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0);
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0){
-    try {
-        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
-
-        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX"
-// cWrapperName: "casadi__MX__CONSTRUCTOR__2"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__2(std::string ** err_msg, casadi::MX* x0)"
-// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__2(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__2(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX"
-// cWrapperName: "casadi__MX__CONSTRUCTOR__3"
-// protoArgs: "(std::string ** err_msg, double x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__3(std::string ** err_msg, double x0)"
-// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
-// params: [(CDouble,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__3(std::string ** err_msg, double x0);
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__3(std::string ** err_msg, double x0){
-    try {
-        double x0_ = Marshaling<double,double>::marshal(x0);
-
-        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX"
-// cWrapperName: "casadi__MX__CONSTRUCTOR__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1)"
-// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1);
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX"
-// cWrapperName: "casadi__MX__CONSTRUCTOR__5"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX"
-// cWrapperName: "casadi__MX__CONSTRUCTOR__6"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__6(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__6(std::string ** err_msg, int x0, int x1);
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__6(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX"
-// cWrapperName: "casadi__MX__CONSTRUCTOR__7"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__7(std::string ** err_msg)"
-// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX();"
-// params: []
-extern "C"
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__7(std::string ** err_msg);
-casadi::MX*
-    casadi__MX__CONSTRUCTOR__7(std::string ** err_msg){
-    try {
-
-        casadi::MX* ret = (casadi::MX*)new casadi::MX();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "T" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::T"
-// cWrapperName: "casadi__MX__T"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__T(std::string ** err_msg, casadi::MX* obj)"
-// call: "        casadi::MX ret = obj->T();"
-// params: []
-extern "C"
-casadi::MX*
-    casadi__MX__T(std::string ** err_msg, casadi::MX* obj);
-casadi::MX*
-    casadi__MX__T(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        casadi::MX ret = obj->T();
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "__nonzero__" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::__nonzero__"
-// cWrapperName: "casadi__MX____nonzero__"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX____nonzero__(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->__nonzero__();"
-// params: []
-extern "C"
-int
-    casadi__MX____nonzero__(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX____nonzero__(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->__nonzero__();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "attachAssert" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::attachAssert"
-// cWrapperName: "casadi__MX__attachAssert__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__attachAssert__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
-// call: "        casadi::MX ret = obj->attachAssert(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__attachAssert__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
-casadi::MX*
-    casadi__MX__attachAssert__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = obj->attachAssert(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "attachAssert" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::attachAssert"
-// cWrapperName: "casadi__MX__attachAssert__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__attachAssert__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1)"
-// call: "        casadi::MX ret = obj->attachAssert(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__attachAssert__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1);
-casadi::MX*
-    casadi__MX__attachAssert__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::MX ret = obj->attachAssert(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "binary" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::binary"
-// cWrapperName: "casadi__MX__binary"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::MX* x1, casadi::MX* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__binary(std::string ** err_msg, int x0, casadi::MX* x1, casadi::MX* x2)"
-// call: "        casadi::MX ret = casadi::MX::binary(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__binary(std::string ** err_msg, int x0, casadi::MX* x1, casadi::MX* x2);
-casadi::MX*
-    casadi__MX__binary(std::string ** err_msg, int x0, casadi::MX* x1, casadi::MX* x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
-
-        casadi::MX ret = casadi::MX::binary(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "colind" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::colind"
-// cWrapperName: "casadi__MX__colind"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__colind(std::string ** err_msg, casadi::MX* obj, int x0)"
-// call: "        int ret = obj->colind(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__MX__colind(std::string ** err_msg, casadi::MX* obj, int x0);
-int
-    casadi__MX__colind(std::string ** err_msg, casadi::MX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->colind(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "dep" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::dep"
-// cWrapperName: "casadi__MX__dep__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__dep__0(std::string ** err_msg, casadi::MX* obj)"
-// call: "        casadi::MX ret = obj->dep();"
-// params: []
-extern "C"
-casadi::MX*
-    casadi__MX__dep__0(std::string ** err_msg, casadi::MX* obj);
-casadi::MX*
-    casadi__MX__dep__0(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        casadi::MX ret = obj->dep();
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "dep" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::dep"
-// cWrapperName: "casadi__MX__dep__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__dep__1(std::string ** err_msg, casadi::MX* obj, int x0)"
-// call: "        casadi::MX ret = obj->dep(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__dep__1(std::string ** err_msg, casadi::MX* obj, int x0);
-casadi::MX*
-    casadi__MX__dep__1(std::string ** err_msg, casadi::MX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::MX ret = obj->dep(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "dim" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::dim"
-// cWrapperName: "casadi__MX__dim"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__MX__dim(std::string ** err_msg, casadi::MX* obj)"
-// call: "        std::string ret = obj->dim();"
-// params: []
-extern "C"
-std::string*
-    casadi__MX__dim(std::string ** err_msg, casadi::MX* obj);
-std::string*
-    casadi__MX__dim(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        std::string ret = obj->dim();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "enlarge" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::enlarge"
-// cWrapperName: "casadi__MX__enlarge__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__enlarge__0(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__enlarge__0(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
-void
-    casadi__MX__enlarge__0(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-
-        obj->enlarge(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "enlarge" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::enlarge"
-// cWrapperName: "casadi__MX__enlarge__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__enlarge__1(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
-// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__MX__enlarge__1(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4);
-void
-    casadi__MX__enlarge__1(std::string ** err_msg, casadi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::erase"
-// cWrapperName: "casadi__MX__erase__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__erase__0(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0)"
-// call: "        obj->erase(x0_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__erase__0(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0);
-void
-    casadi__MX__erase__0(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        obj->erase(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::erase"
-// cWrapperName: "casadi__MX__erase__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__erase__1(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, int x1)"
-// call: "        obj->erase(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__MX__erase__1(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, int x1);
-void
-    casadi__MX__erase__1(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, int x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        obj->erase(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::erase"
-// cWrapperName: "casadi__MX__erase__2"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__erase__2(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// call: "        obj->erase(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__erase__2(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1);
-void
-    casadi__MX__erase__2(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        obj->erase(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::erase"
-// cWrapperName: "casadi__MX__erase__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__erase__3(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
-// call: "        obj->erase(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__MX__erase__3(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2);
-void
-    casadi__MX__erase__3(std::string ** err_msg, casadi::MX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->erase(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "eye" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::eye"
-// cWrapperName: "casadi__MX__eye"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__eye(std::string ** err_msg, int x0)"
-// call: "        casadi::MX ret = casadi::MX::eye(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__eye(std::string ** err_msg, int x0);
-casadi::MX*
-    casadi__MX__eye(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::eye(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get"
-// cWrapperName: "casadi__MX__get__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__get__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__get__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::IM* x3);
-void
-    casadi__MX__get__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::IM* x3){
-    try {
-        casadi::MX x0_ = casadi::MX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get"
-// cWrapperName: "casadi__MX__get__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__get__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__get__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::Slice* x3);
-void
-    casadi__MX__get__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::Slice* x3){
-    try {
-        casadi::MX x0_ = casadi::MX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get"
-// cWrapperName: "casadi__MX__get__2"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__get__2(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__get__2(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::IM* x3);
-void
-    casadi__MX__get__2(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::IM* x3){
-    try {
-        casadi::MX x0_ = casadi::MX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get"
-// cWrapperName: "casadi__MX__get__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__get__3(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__get__3(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
-void
-    casadi__MX__get__3(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
-    try {
-        casadi::MX x0_ = casadi::MX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get"
-// cWrapperName: "casadi__MX__get__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Sparsity* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__get__4(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Sparsity* x2)"
-// call: "        obj->get(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__get__4(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Sparsity* x2);
-void
-    casadi__MX__get__4(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Sparsity* x2){
-    try {
-        casadi::MX x0_ = casadi::MX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
-
-        obj->get(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get"
-// cWrapperName: "casadi__MX__get__5"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__get__5(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2)"
-// call: "        obj->get(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__get__5(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2);
-void
-    casadi__MX__get__5(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2){
-    try {
-        casadi::MX x0_ = casadi::MX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->get(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get"
-// cWrapperName: "casadi__MX__get__6"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__get__6(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2)"
-// call: "        obj->get(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__get__6(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2);
-void
-    casadi__MX__get__6(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::MX x0_ = casadi::MX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->get(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "getEqualityCheckingDepth" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::getEqualityCheckingDepth"
-// cWrapperName: "casadi__MX__getEqualityCheckingDepth"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__getEqualityCheckingDepth(std::string ** err_msg)"
-// call: "        int ret = casadi::MX::getEqualityCheckingDepth();"
-// params: []
-extern "C"
-int
-    casadi__MX__getEqualityCheckingDepth(std::string ** err_msg);
-int
-    casadi__MX__getEqualityCheckingDepth(std::string ** err_msg){
-    try {
-
-        int ret = casadi::MX::getEqualityCheckingDepth();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getFunction" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::getFunction"
-// cWrapperName: "casadi__MX__getFunction__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__MX__getFunction__0(std::string ** err_msg, casadi::MX* obj)"
-// call: "        casadi::Function ret = obj->getFunction();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__MX__getFunction__0(std::string ** err_msg, casadi::MX* obj);
-casadi::Function*
-    casadi__MX__getFunction__0(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        casadi::Function ret = obj->getFunction();
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getFunction" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::getFunction"
-// cWrapperName: "casadi__MX__getFunction__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__MX__getFunction__1(std::string ** err_msg, casadi::MX* obj, int x0)"
-// call: "        casadi::Function ret = obj->getFunction(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__MX__getFunction__1(std::string ** err_msg, casadi::MX* obj, int x0);
-casadi::Function*
-    casadi__MX__getFunction__1(std::string ** err_msg, casadi::MX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Function ret = obj->getFunction(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getOutput" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::getOutput"
-// cWrapperName: "casadi__MX__getOutput__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__getOutput__0(std::string ** err_msg, casadi::MX* obj)"
-// call: "        casadi::MX ret = obj->getOutput();"
-// params: []
-extern "C"
-casadi::MX*
-    casadi__MX__getOutput__0(std::string ** err_msg, casadi::MX* obj);
-casadi::MX*
-    casadi__MX__getOutput__0(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        casadi::MX ret = obj->getOutput();
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getOutput" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::getOutput"
-// cWrapperName: "casadi__MX__getOutput__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__getOutput__1(std::string ** err_msg, casadi::MX* obj, int x0)"
-// call: "        casadi::MX ret = obj->getOutput(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__getOutput__1(std::string ** err_msg, casadi::MX* obj, int x0);
-casadi::MX*
-    casadi__MX__getOutput__1(std::string ** err_msg, casadi::MX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::MX ret = obj->getOutput(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getTemp" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::getTemp"
-// cWrapperName: "casadi__MX__getTemp"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__getTemp(std::string ** err_msg, casadi::MX* obj)"
-// call: "        int ret = obj->getTemp();"
-// params: []
-extern "C"
-int
-    casadi__MX__getTemp(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__getTemp(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        int ret = obj->getTemp();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_colind" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get_colind"
-// cWrapperName: "casadi__MX__get_colind"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__MX__get_colind(std::string ** err_msg, casadi::MX* obj)"
-// call: "        std::vector< int > ret = obj->get_colind();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__MX__get_colind(std::string ** err_msg, casadi::MX* obj);
-std::vector< int >*
-    casadi__MX__get_colind(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        std::vector< int > ret = obj->get_colind();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "get_free" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get_free"
-// cWrapperName: "casadi__MX__get_free"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi__MX__get_free(std::string ** err_msg, casadi::Function* x0)"
-// call: "        std::vector< casadi::MX > ret = casadi::MX::get_free(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-std::vector< casadi::MX* >*
-    casadi__MX__get_free(std::string ** err_msg, casadi::Function* x0);
-std::vector< casadi::MX* >*
-    casadi__MX__get_free(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        std::vector< casadi::MX > ret = casadi::MX::get_free(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "get_input" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get_input"
-// cWrapperName: "casadi__MX__get_input"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi__MX__get_input(std::string ** err_msg, casadi::Function* x0)"
-// call: "        std::vector< casadi::MX > ret = casadi::MX::get_input(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-std::vector< casadi::MX* >*
-    casadi__MX__get_input(std::string ** err_msg, casadi::Function* x0);
-std::vector< casadi::MX* >*
-    casadi__MX__get_input(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        std::vector< casadi::MX > ret = casadi::MX::get_input(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_nz" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get_nz"
-// cWrapperName: "casadi__MX__get_nz__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__get_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2)"
-// call: "        obj->get_nz(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__get_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2);
-void
-    casadi__MX__get_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2){
-    try {
-        casadi::MX x0_ = casadi::MX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->get_nz(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get_nz" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get_nz"
-// cWrapperName: "casadi__MX__get_nz__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__get_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2)"
-// call: "        obj->get_nz(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__get_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2);
-void
-    casadi__MX__get_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::MX x0_ = casadi::MX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->get_nz(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get_output" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get_output"
-// cWrapperName: "casadi__MX__get_output"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__get_output(std::string ** err_msg, casadi::MX* obj)"
-// call: "        int ret = obj->get_output();"
-// params: []
-extern "C"
-int
-    casadi__MX__get_output(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__get_output(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        int ret = obj->get_output();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_row" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get_row"
-// cWrapperName: "casadi__MX__get_row"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__MX__get_row(std::string ** err_msg, casadi::MX* obj)"
-// call: "        std::vector< int > ret = obj->get_row();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__MX__get_row(std::string ** err_msg, casadi::MX* obj);
-std::vector< int >*
-    casadi__MX__get_row(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        std::vector< int > ret = obj->get_row();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_sparsity" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::get_sparsity"
-// cWrapperName: "casadi__MX__get_sparsity"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__MX__get_sparsity(std::string ** err_msg, casadi::MX* obj)"
-// call: "        casadi::Sparsity ret = obj->get_sparsity();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__MX__get_sparsity(std::string ** err_msg, casadi::MX* obj);
-casadi::Sparsity*
-    casadi__MX__get_sparsity(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        casadi::Sparsity ret = obj->get_sparsity();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::grad"
-// cWrapperName: "casadi__MX__grad__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__grad__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::MX ret = casadi::MX::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__grad__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::MX*
-    casadi__MX__grad__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::MX ret = casadi::MX::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::grad"
-// cWrapperName: "casadi__MX__grad__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__grad__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::MX ret = casadi::MX::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__grad__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::MX*
-    casadi__MX__grad__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::MX ret = casadi::MX::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::grad"
-// cWrapperName: "casadi__MX__grad__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__grad__2(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::MX ret = casadi::MX::grad(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__grad__2(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::MX*
-    casadi__MX__grad__2(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::MX ret = casadi::MX::grad(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::grad"
-// cWrapperName: "casadi__MX__grad__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__grad__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::MX ret = casadi::MX::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__grad__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::MX*
-    casadi__MX__grad__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::MX ret = casadi::MX::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::grad"
-// cWrapperName: "casadi__MX__grad__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__grad__4(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::MX ret = casadi::MX::grad(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__grad__4(std::string ** err_msg, casadi::Function* x0);
-casadi::MX*
-    casadi__MX__grad__4(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::grad(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::grad"
-// cWrapperName: "casadi__MX__grad__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__grad__5(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::MX ret = casadi::MX::grad(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__grad__5(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::MX*
-    casadi__MX__grad__5(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = casadi::MX::grad(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::grad"
-// cWrapperName: "casadi__MX__grad__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__grad__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::MX ret = casadi::MX::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__grad__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::MX*
-    casadi__MX__grad__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::MX ret = casadi::MX::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_duplicates" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::has_duplicates"
-// cWrapperName: "casadi__MX__has_duplicates"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__has_duplicates(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->has_duplicates();"
-// params: []
-extern "C"
-int
-    casadi__MX__has_duplicates(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__has_duplicates(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->has_duplicates();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::inf"
-// cWrapperName: "casadi__MX__inf__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__inf__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::MX ret = casadi::MX::inf(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__inf__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::MX*
-    casadi__MX__inf__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::inf"
-// cWrapperName: "casadi__MX__inf__1"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__inf__1(std::string ** err_msg)"
-// call: "        casadi::MX ret = casadi::MX::inf();"
-// params: []
-extern "C"
-casadi::MX*
-    casadi__MX__inf__1(std::string ** err_msg);
-casadi::MX*
-    casadi__MX__inf__1(std::string ** err_msg){
-    try {
-
-        casadi::MX ret = casadi::MX::inf();
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::inf"
-// cWrapperName: "casadi__MX__inf__2"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__inf__2(std::string ** err_msg, int x0)"
-// call: "        casadi::MX ret = casadi::MX::inf(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__inf__2(std::string ** err_msg, int x0);
-casadi::MX*
-    casadi__MX__inf__2(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::inf"
-// cWrapperName: "casadi__MX__inf__3"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__inf__3(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::MX ret = casadi::MX::inf(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__inf__3(std::string ** err_msg, int x0, int x1);
-casadi::MX*
-    casadi__MX__inf__3(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = casadi::MX::inf(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::inf"
-// cWrapperName: "casadi__MX__inf__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::MX ret = casadi::MX::inf(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::MX*
-    casadi__MX__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_binary" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_binary"
-// cWrapperName: "casadi__MX__is_binary"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_binary(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_binary();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_binary(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_binary(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_binary();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_call" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_call"
-// cWrapperName: "casadi__MX__is_call"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_call(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_call();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_call(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_call(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_call();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_column" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_column"
-// cWrapperName: "casadi__MX__is_column"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_column(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_column();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_column(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_column(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_column();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_commutative" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_commutative"
-// cWrapperName: "casadi__MX__is_commutative"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_commutative(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_commutative();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_commutative(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_commutative(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_commutative();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_constant" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_constant"
-// cWrapperName: "casadi__MX__is_constant"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_constant(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_constant();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_constant(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_constant(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_constant();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_dense" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_dense"
-// cWrapperName: "casadi__MX__is_dense"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_dense(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_dense();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_dense(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_dense(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_dense();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_empty" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_empty"
-// cWrapperName: "casadi__MX__is_empty__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_empty__0(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_empty();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_empty__0(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_empty__0(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_empty();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_empty" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_empty"
-// cWrapperName: "casadi__MX__is_empty__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_empty__1(std::string ** err_msg, casadi::MX* obj, int x0)"
-// call: "        bool ret = obj->is_empty(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__MX__is_empty__1(std::string ** err_msg, casadi::MX* obj, int x0);
-int
-    casadi__MX__is_empty__1(std::string ** err_msg, casadi::MX* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        bool ret = obj->is_empty(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_identity" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_identity"
-// cWrapperName: "casadi__MX__is_identity"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_identity(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_identity();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_identity(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_identity(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_identity();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_minus_one" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_minus_one"
-// cWrapperName: "casadi__MX__is_minus_one"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_minus_one(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_minus_one();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_minus_one(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_minus_one(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_minus_one();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_multiplication" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_multiplication"
-// cWrapperName: "casadi__MX__is_multiplication"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_multiplication(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_multiplication();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_multiplication(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_multiplication(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_multiplication();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_norm" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_norm"
-// cWrapperName: "casadi__MX__is_norm"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_norm(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_norm();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_norm(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_norm(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_norm();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_one" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_one"
-// cWrapperName: "casadi__MX__is_one"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_one(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_one();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_one(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_one(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_one();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_op" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_op"
-// cWrapperName: "casadi__MX__is_op"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_op(std::string ** err_msg, casadi::MX* obj, int x0)"
-// call: "        bool ret = obj->is_op(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__MX__is_op(std::string ** err_msg, casadi::MX* obj, int x0);
-int
-    casadi__MX__is_op(std::string ** err_msg, casadi::MX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        bool ret = obj->is_op(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_output" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_output"
-// cWrapperName: "casadi__MX__is_output"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_output(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_output();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_output(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_output(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_output();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_regular" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_regular"
-// cWrapperName: "casadi__MX__is_regular"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_regular(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_regular();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_regular(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_regular(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_regular();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_row" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_row"
-// cWrapperName: "casadi__MX__is_row"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_row(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_row();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_row(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_row(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_row();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_scalar" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_scalar"
-// cWrapperName: "casadi__MX__is_scalar__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_scalar__0(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_scalar();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_scalar__0(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_scalar__0(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_scalar();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_scalar" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_scalar"
-// cWrapperName: "casadi__MX__is_scalar__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_scalar__1(std::string ** err_msg, casadi::MX* obj, int x0)"
-// call: "        bool ret = obj->is_scalar(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__MX__is_scalar__1(std::string ** err_msg, casadi::MX* obj, int x0);
-int
-    casadi__MX__is_scalar__1(std::string ** err_msg, casadi::MX* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        bool ret = obj->is_scalar(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_square" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_square"
-// cWrapperName: "casadi__MX__is_square"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_square(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_square();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_square(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_square(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_square();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_symbolic" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_symbolic"
-// cWrapperName: "casadi__MX__is_symbolic"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_symbolic(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_symbolic();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_symbolic(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_symbolic(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_symbolic();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_transpose" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_transpose"
-// cWrapperName: "casadi__MX__is_transpose"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_transpose(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_transpose();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_transpose(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_transpose(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_transpose();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_tril" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_tril"
-// cWrapperName: "casadi__MX__is_tril"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_tril(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_tril();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_tril(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_tril(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_tril();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_triu" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_triu"
-// cWrapperName: "casadi__MX__is_triu"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_triu(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_triu();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_triu(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_triu(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_triu();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_unary" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_unary"
-// cWrapperName: "casadi__MX__is_unary"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_unary(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_unary();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_unary(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_unary(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_unary();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_valid_input" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_valid_input"
-// cWrapperName: "casadi__MX__is_valid_input"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_valid_input(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_valid_input();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_valid_input(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_valid_input(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_valid_input();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_vector" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_vector"
-// cWrapperName: "casadi__MX__is_vector"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_vector(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_vector();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_vector(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_vector(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_vector();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_zero" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::is_zero"
-// cWrapperName: "casadi__MX__is_zero"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__is_zero(std::string ** err_msg, casadi::MX* obj)"
-// call: "        bool ret = obj->is_zero();"
-// params: []
-extern "C"
-int
-    casadi__MX__is_zero(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__is_zero(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        bool ret = obj->is_zero();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::MX*
-    casadi__MX__jac__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__1(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__1(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3);
-casadi::MX*
-    casadi__MX__jac__1(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4);
-casadi::MX*
-    casadi__MX__jac__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__3(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__3(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::MX*
-    casadi__MX__jac__3(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__4(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__4(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3);
-casadi::MX*
-    casadi__MX__jac__4(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__5(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__5(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4);
-casadi::MX*
-    casadi__MX__jac__5(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__6(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__6(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::MX*
-    casadi__MX__jac__6(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::MX ret = casadi::MX::jac(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__7"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__7(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__7(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::MX*
-    casadi__MX__jac__7(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__8"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__8(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__8(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3);
-casadi::MX*
-    casadi__MX__jac__8(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__9"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__9(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__9(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4);
-casadi::MX*
-    casadi__MX__jac__9(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__10"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__10(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__10(std::string ** err_msg, casadi::Function* x0);
-casadi::MX*
-    casadi__MX__jac__10(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::jac(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__11"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__11(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__11(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::MX*
-    casadi__MX__jac__11(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = casadi::MX::jac(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__12"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__12(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__12(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::MX*
-    casadi__MX__jac__12(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__13"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__13(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__13(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3);
-casadi::MX*
-    casadi__MX__jac__13(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::jac"
-// cWrapperName: "casadi__MX__jac__14"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__jac__14(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4)"
-// call: "        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__jac__14(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4);
-casadi::MX*
-    casadi__MX__jac__14(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::MX ret = casadi::MX::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "join_primitives" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::join_primitives"
-// cWrapperName: "casadi__MX__join_primitives"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__join_primitives(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0)"
-// call: "        casadi::MX ret = obj->join_primitives(x0_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__join_primitives(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0);
-casadi::MX*
-    casadi__MX__join_primitives(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-
-        casadi::MX ret = obj->join_primitives(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "mapping" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::mapping"
-// cWrapperName: "casadi__MX__mapping"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__MX__mapping(std::string ** err_msg, casadi::MX* obj)"
-// call: "        casadi::IM ret = obj->mapping();"
-// params: []
-extern "C"
-casadi::IM*
-    casadi__MX__mapping(std::string ** err_msg, casadi::MX* obj);
-casadi::IM*
-    casadi__MX__mapping(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        casadi::IM ret = obj->mapping();
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "monitor" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::monitor"
-// cWrapperName: "casadi__MX__monitor"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__monitor(std::string ** err_msg, casadi::MX* obj, std::string* x0)"
-// call: "        casadi::MX ret = obj->monitor(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__monitor(std::string ** err_msg, casadi::MX* obj, std::string* x0);
-casadi::MX*
-    casadi__MX__monitor(std::string ** err_msg, casadi::MX* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::MX ret = obj->monitor(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "n_dep" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::n_dep"
-// cWrapperName: "casadi__MX__n_dep"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__n_dep(std::string ** err_msg, casadi::MX* obj)"
-// call: "        int ret = obj->n_dep();"
-// params: []
-extern "C"
-int
-    casadi__MX__n_dep(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__n_dep(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        int ret = obj->n_dep();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "n_out" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::n_out"
-// cWrapperName: "casadi__MX__n_out"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__n_out(std::string ** err_msg, casadi::MX* obj)"
-// call: "        int ret = obj->n_out();"
-// params: []
-extern "C"
-int
-    casadi__MX__n_out(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__n_out(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        int ret = obj->n_out();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "n_primitives" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::n_primitives"
-// cWrapperName: "casadi__MX__n_primitives"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__n_primitives(std::string ** err_msg, casadi::MX* obj)"
-// call: "        int ret = obj->n_primitives();"
-// params: []
-extern "C"
-int
-    casadi__MX__n_primitives(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__n_primitives(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        int ret = obj->n_primitives();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "name" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::name"
-// cWrapperName: "casadi__MX__name"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__MX__name(std::string ** err_msg, casadi::MX* obj)"
-// call: "        std::string ret = obj->name();"
-// params: []
-extern "C"
-std::string*
-    casadi__MX__name(std::string ** err_msg, casadi::MX* obj);
-std::string*
-    casadi__MX__name(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        std::string ret = obj->name();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::nan"
-// cWrapperName: "casadi__MX__nan__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__nan__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::MX ret = casadi::MX::nan(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__nan__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::MX*
-    casadi__MX__nan__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::nan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::nan"
-// cWrapperName: "casadi__MX__nan__1"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__nan__1(std::string ** err_msg)"
-// call: "        casadi::MX ret = casadi::MX::nan();"
-// params: []
-extern "C"
-casadi::MX*
-    casadi__MX__nan__1(std::string ** err_msg);
-casadi::MX*
-    casadi__MX__nan__1(std::string ** err_msg){
-    try {
-
-        casadi::MX ret = casadi::MX::nan();
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::nan"
-// cWrapperName: "casadi__MX__nan__2"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__nan__2(std::string ** err_msg, int x0)"
-// call: "        casadi::MX ret = casadi::MX::nan(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__nan__2(std::string ** err_msg, int x0);
-casadi::MX*
-    casadi__MX__nan__2(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::nan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::nan"
-// cWrapperName: "casadi__MX__nan__3"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__nan__3(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::MX ret = casadi::MX::nan(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__nan__3(std::string ** err_msg, int x0, int x1);
-casadi::MX*
-    casadi__MX__nan__3(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = casadi::MX::nan(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::nan"
-// cWrapperName: "casadi__MX__nan__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::MX ret = casadi::MX::nan(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::MX*
-    casadi__MX__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::nan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::nnz"
-// cWrapperName: "casadi__MX__nnz"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__nnz(std::string ** err_msg, casadi::MX* obj)"
-// call: "        int ret = obj->nnz();"
-// params: []
-extern "C"
-int
-    casadi__MX__nnz(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__nnz(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        int ret = obj->nnz();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_diag" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::nnz_diag"
-// cWrapperName: "casadi__MX__nnz_diag"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__nnz_diag(std::string ** err_msg, casadi::MX* obj)"
-// call: "        int ret = obj->nnz_diag();"
-// params: []
-extern "C"
-int
-    casadi__MX__nnz_diag(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__nnz_diag(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        int ret = obj->nnz_diag();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_lower" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::nnz_lower"
-// cWrapperName: "casadi__MX__nnz_lower"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__nnz_lower(std::string ** err_msg, casadi::MX* obj)"
-// call: "        int ret = obj->nnz_lower();"
-// params: []
-extern "C"
-int
-    casadi__MX__nnz_lower(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__nnz_lower(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        int ret = obj->nnz_lower();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_upper" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::nnz_upper"
-// cWrapperName: "casadi__MX__nnz_upper"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__nnz_upper(std::string ** err_msg, casadi::MX* obj)"
-// call: "        int ret = obj->nnz_upper();"
-// params: []
-extern "C"
-int
-    casadi__MX__nnz_upper(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__nnz_upper(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        int ret = obj->nnz_upper();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numFunctions" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::numFunctions"
-// cWrapperName: "casadi__MX__numFunctions"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__numFunctions(std::string ** err_msg, casadi::MX* obj)"
-// call: "        int ret = obj->numFunctions();"
-// params: []
-extern "C"
-int
-    casadi__MX__numFunctions(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__numFunctions(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        int ret = obj->numFunctions();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::numel"
-// cWrapperName: "casadi__MX__numel__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__numel__0(std::string ** err_msg, casadi::MX* obj, int x0)"
-// call: "        int ret = obj->numel(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__MX__numel__0(std::string ** err_msg, casadi::MX* obj, int x0);
-int
-    casadi__MX__numel__0(std::string ** err_msg, casadi::MX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->numel(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::numel"
-// cWrapperName: "casadi__MX__numel__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__numel__1(std::string ** err_msg, casadi::MX* obj)"
-// call: "        int ret = obj->numel();"
-// params: []
-extern "C"
-int
-    casadi__MX__numel__1(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__numel__1(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        int ret = obj->numel();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::ones"
-// cWrapperName: "casadi__MX__ones__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__ones__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::MX ret = casadi::MX::ones(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__ones__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::MX*
-    casadi__MX__ones__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::ones(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::ones"
-// cWrapperName: "casadi__MX__ones__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::MX ret = casadi::MX::ones(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::MX*
-    casadi__MX__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::ones(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::ones"
-// cWrapperName: "casadi__MX__ones__2"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__ones__2(std::string ** err_msg)"
-// call: "        casadi::MX ret = casadi::MX::ones();"
-// params: []
-extern "C"
-casadi::MX*
-    casadi__MX__ones__2(std::string ** err_msg);
-casadi::MX*
-    casadi__MX__ones__2(std::string ** err_msg){
-    try {
-
-        casadi::MX ret = casadi::MX::ones();
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::ones"
-// cWrapperName: "casadi__MX__ones__3"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__ones__3(std::string ** err_msg, int x0)"
-// call: "        casadi::MX ret = casadi::MX::ones(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__ones__3(std::string ** err_msg, int x0);
-casadi::MX*
-    casadi__MX__ones__3(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::ones(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::ones"
-// cWrapperName: "casadi__MX__ones__4"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__ones__4(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::MX ret = casadi::MX::ones(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__ones__4(std::string ** err_msg, int x0, int x1);
-casadi::MX*
-    casadi__MX__ones__4(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = casadi::MX::ones(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "op" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::op"
-// cWrapperName: "casadi__MX__op"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__op(std::string ** err_msg, casadi::MX* obj)"
-// call: "        int ret = obj->op();"
-// params: []
-extern "C"
-int
-    casadi__MX__op(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__op(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        int ret = obj->op();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator -" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::operator -"
-// cWrapperName: "casadi__MX__operator__minus"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__operator__minus(std::string ** err_msg, casadi::MX* obj)"
-// call: "        casadi::MX ret = obj->operator -();"
-// params: []
-extern "C"
-casadi::MX*
-    casadi__MX__operator__minus(std::string ** err_msg, casadi::MX* obj);
-casadi::MX*
-    casadi__MX__operator__minus(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        casadi::MX ret = obj->operator -();
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator casadi::Matrix<double>" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::operator casadi::Matrix<double>"
-// cWrapperName: "casadi__MX__operator_casadi__Matrix_double_"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__MX__operator_casadi__Matrix_double_(std::string ** err_msg, casadi::MX* obj)"
-// call: "        casadi::DM ret = obj->operator casadi::Matrix<double>();"
-// params: []
-extern "C"
-casadi::DM*
-    casadi__MX__operator_casadi__Matrix_double_(std::string ** err_msg, casadi::MX* obj);
-casadi::DM*
-    casadi__MX__operator_casadi__Matrix_double_(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        casadi::DM ret = obj->operator casadi::Matrix<double>();
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator double" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::operator double"
-// cWrapperName: "casadi__MX__operator_double"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__MX__operator_double(std::string ** err_msg, casadi::MX* obj)"
-// call: "        double ret = obj->operator double();"
-// params: []
-extern "C"
-double
-    casadi__MX__operator_double(std::string ** err_msg, casadi::MX* obj);
-double
-    casadi__MX__operator_double(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        double ret = obj->operator double();
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "primitives" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::primitives"
-// cWrapperName: "casadi__MX__primitives"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi__MX__primitives(std::string ** err_msg, casadi::MX* obj)"
-// call: "        std::vector< casadi::MX > ret = obj->primitives();"
-// params: []
-extern "C"
-std::vector< casadi::MX* >*
-    casadi__MX__primitives(std::string ** err_msg, casadi::MX* obj);
-std::vector< casadi::MX* >*
-    casadi__MX__primitives(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        std::vector< casadi::MX > ret = obj->primitives();
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "printme" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::printme"
-// cWrapperName: "casadi__MX__printme"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__printme(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
-// call: "        casadi::MX ret = obj->printme(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__printme(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
-casadi::MX*
-    casadi__MX__printme(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = obj->printme(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "resetInput" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::resetInput"
-// cWrapperName: "casadi__MX__resetInput"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__resetInput(std::string ** err_msg, casadi::MX* obj)"
-// call: "        obj->resetInput();"
-// params: []
-extern "C"
-void
-    casadi__MX__resetInput(std::string ** err_msg, casadi::MX* obj);
-void
-    casadi__MX__resetInput(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        obj->resetInput();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "row" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::row"
-// cWrapperName: "casadi__MX__row"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__row(std::string ** err_msg, casadi::MX* obj, int x0)"
-// call: "        int ret = obj->row(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__MX__row(std::string ** err_msg, casadi::MX* obj, int x0);
-int
-    casadi__MX__row(std::string ** err_msg, casadi::MX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->row(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::set"
-// cWrapperName: "casadi__MX__set__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__set__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__set__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::IM* x3);
-void
-    casadi__MX__set__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::IM* x3){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::set"
-// cWrapperName: "casadi__MX__set__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__set__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__set__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::Slice* x3);
-void
-    casadi__MX__set__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::Slice* x3){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::set"
-// cWrapperName: "casadi__MX__set__2"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__set__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__set__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IM* x3);
-void
-    casadi__MX__set__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IM* x3){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::set"
-// cWrapperName: "casadi__MX__set__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__set__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__set__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
-void
-    casadi__MX__set__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::set"
-// cWrapperName: "casadi__MX__set__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__set__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2)"
-// call: "        obj->set(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__set__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2);
-void
-    casadi__MX__set__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
-
-        obj->set(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::set"
-// cWrapperName: "casadi__MX__set__5"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__set__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2)"
-// call: "        obj->set(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__set__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2);
-void
-    casadi__MX__set__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->set(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::set"
-// cWrapperName: "casadi__MX__set__6"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__set__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
-// call: "        obj->set(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__set__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2);
-void
-    casadi__MX__set__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->set(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setEqualityCheckingDepth" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::setEqualityCheckingDepth"
-// cWrapperName: "casadi__MX__setEqualityCheckingDepth__0"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__setEqualityCheckingDepth__0(std::string ** err_msg)"
-// call: "        casadi::MX::setEqualityCheckingDepth();"
-// params: []
-extern "C"
-void
-    casadi__MX__setEqualityCheckingDepth__0(std::string ** err_msg);
-void
-    casadi__MX__setEqualityCheckingDepth__0(std::string ** err_msg){
-    try {
-
-        casadi::MX::setEqualityCheckingDepth();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setEqualityCheckingDepth" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::setEqualityCheckingDepth"
-// cWrapperName: "casadi__MX__setEqualityCheckingDepth__1"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__setEqualityCheckingDepth__1(std::string ** err_msg, int x0)"
-// call: "        casadi::MX::setEqualityCheckingDepth(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__MX__setEqualityCheckingDepth__1(std::string ** err_msg, int x0);
-void
-    casadi__MX__setEqualityCheckingDepth__1(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::MX::setEqualityCheckingDepth(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "setTemp" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::setTemp"
-// cWrapperName: "casadi__MX__setTemp"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__setTemp(std::string ** err_msg, casadi::MX* obj, int x0)"
-// call: "        obj->setTemp(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__MX__setTemp(std::string ** err_msg, casadi::MX* obj, int x0);
-void
-    casadi__MX__setTemp(std::string ** err_msg, casadi::MX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        obj->setTemp(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_nz" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::set_nz"
-// cWrapperName: "casadi__MX__set_nz__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__set_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2)"
-// call: "        obj->set_nz(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__set_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2);
-void
-    casadi__MX__set_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->set_nz(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_nz" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::set_nz"
-// cWrapperName: "casadi__MX__set_nz__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__MX__set_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
-// call: "        obj->set_nz(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__MX__set_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2);
-void
-    casadi__MX__set_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->set_nz(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::size"
-// cWrapperName: "casadi__MX__size__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__size__0(std::string ** err_msg, casadi::MX* obj, int x0)"
-// call: "        int ret = obj->size(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__MX__size__0(std::string ** err_msg, casadi::MX* obj, int x0);
-int
-    casadi__MX__size__0(std::string ** err_msg, casadi::MX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->size(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::size"
-// cWrapperName: "casadi__MX__size__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: StdPair CInt CInt
-// cWrapperRetType: "std::pair< int, int >*"
-// proto: "std::pair< int, int >*\n    casadi__MX__size__1(std::string ** err_msg, casadi::MX* obj)"
-// call: "        std::pair< int, int > ret = obj->size();"
-// params: []
-extern "C"
-std::pair< int, int >*
-    casadi__MX__size__1(std::string ** err_msg, casadi::MX* obj);
-std::pair< int, int >*
-    casadi__MX__size__1(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        std::pair< int, int > ret = obj->size();
-
-        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size1" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::size1"
-// cWrapperName: "casadi__MX__size1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__size1(std::string ** err_msg, casadi::MX* obj)"
-// call: "        int ret = obj->size1();"
-// params: []
-extern "C"
-int
-    casadi__MX__size1(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__size1(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        int ret = obj->size1();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size2" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::size2"
-// cWrapperName: "casadi__MX__size2"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__MX__size2(std::string ** err_msg, casadi::MX* obj)"
-// call: "        int ret = obj->size2();"
-// params: []
-extern "C"
-int
-    casadi__MX__size2(std::string ** err_msg, casadi::MX* obj);
-int
-    casadi__MX__size2(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        int ret = obj->size2();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::sparsity"
-// cWrapperName: "casadi__MX__sparsity"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
-// args: "()"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__MX__sparsity(std::string ** err_msg, casadi::MX* obj)"
-// call: "        casadi::Sparsity ret = obj->sparsity();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__MX__sparsity(std::string ** err_msg, casadi::MX* obj);
-casadi::Sparsity*
-    casadi__MX__sparsity(std::string ** err_msg, casadi::MX* obj){
-    try {
-
-        casadi::Sparsity ret = obj->sparsity();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "split_primitives" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::split_primitives"
-// cWrapperName: "casadi__MX__split_primitives"
-// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
-// args: "(x0_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi__MX__split_primitives(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
-// call: "        std::vector< casadi::MX > ret = obj->split_primitives(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-std::vector< casadi::MX* >*
-    casadi__MX__split_primitives(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
-std::vector< casadi::MX* >*
-    casadi__MX__split_primitives(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        std::vector< casadi::MX > ret = obj->split_primitives(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::sym"
-// cWrapperName: "casadi__MX__sym__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
-// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
-// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi__MX__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
-// call: "        std::vector< std::vector< casadi::MX > > ret = casadi::MX::sym(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< std::vector< casadi::MX* >* >*
-    casadi__MX__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4);
-std::vector< std::vector< casadi::MX* >* >*
-    casadi__MX__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-        int x4_ = Marshaling<int,int>::marshal(x4);
-
-        std::vector< std::vector< casadi::MX > > ret = casadi::MX::sym(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::sym"
-// cWrapperName: "casadi__MX__sym__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
-// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
-// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi__MX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
-// call: "        std::vector< std::vector< casadi::MX > > ret = casadi::MX::sym(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< std::vector< casadi::MX* >* >*
-    casadi__MX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3);
-std::vector< std::vector< casadi::MX* >* >*
-    casadi__MX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        std::vector< std::vector< casadi::MX > > ret = casadi::MX::sym(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::sym"
-// cWrapperName: "casadi__MX__sym__2"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi__MX__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
-// call: "        std::vector< casadi::MX > ret = casadi::MX::sym(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< casadi::MX* >*
-    casadi__MX__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3);
-std::vector< casadi::MX* >*
-    casadi__MX__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        std::vector< casadi::MX > ret = casadi::MX::sym(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::sym"
-// cWrapperName: "casadi__MX__sym__3"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi__MX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
-// call: "        std::vector< casadi::MX > ret = casadi::MX::sym(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< casadi::MX* >*
-    casadi__MX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2);
-std::vector< casadi::MX* >*
-    casadi__MX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< casadi::MX > ret = casadi::MX::sym(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::sym"
-// cWrapperName: "casadi__MX__sym__4"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
-// call: "        casadi::MX ret = casadi::MX::sym(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
-casadi::MX*
-    casadi__MX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::MX ret = casadi::MX::sym(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::sym"
-// cWrapperName: "casadi__MX__sym__5"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
-// call: "        casadi::MX ret = casadi::MX::sym(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1);
-casadi::MX*
-    casadi__MX__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);
-
-        casadi::MX ret = casadi::MX::sym(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::sym"
-// cWrapperName: "casadi__MX__sym__6"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__sym__6(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::MX ret = casadi::MX::sym(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__sym__6(std::string ** err_msg, std::string* x0);
-casadi::MX*
-    casadi__MX__sym__6(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::sym(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::sym"
-// cWrapperName: "casadi__MX__sym__7"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__sym__7(std::string ** err_msg, std::string* x0, int x1)"
-// call: "        casadi::MX ret = casadi::MX::sym(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__sym__7(std::string ** err_msg, std::string* x0, int x1);
-casadi::MX*
-    casadi__MX__sym__7(std::string ** err_msg, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = casadi::MX::sym(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::sym"
-// cWrapperName: "casadi__MX__sym__8"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2)"
-// call: "        casadi::MX ret = casadi::MX::sym(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2);
-casadi::MX*
-    casadi__MX__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::MX ret = casadi::MX::sym(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::tang"
-// cWrapperName: "casadi__MX__tang__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__tang__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::MX ret = casadi::MX::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__tang__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::MX*
-    casadi__MX__tang__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::MX ret = casadi::MX::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::tang"
-// cWrapperName: "casadi__MX__tang__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__tang__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::MX ret = casadi::MX::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__tang__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::MX*
-    casadi__MX__tang__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::MX ret = casadi::MX::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::tang"
-// cWrapperName: "casadi__MX__tang__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__tang__2(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::MX ret = casadi::MX::tang(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__tang__2(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::MX*
-    casadi__MX__tang__2(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::MX ret = casadi::MX::tang(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::tang"
-// cWrapperName: "casadi__MX__tang__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__tang__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::MX ret = casadi::MX::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__tang__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::MX*
-    casadi__MX__tang__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::MX ret = casadi::MX::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::tang"
-// cWrapperName: "casadi__MX__tang__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__tang__4(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::MX ret = casadi::MX::tang(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__tang__4(std::string ** err_msg, casadi::Function* x0);
-casadi::MX*
-    casadi__MX__tang__4(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::tang(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::tang"
-// cWrapperName: "casadi__MX__tang__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__tang__5(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::MX ret = casadi::MX::tang(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__tang__5(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::MX*
-    casadi__MX__tang__5(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = casadi::MX::tang(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::tang"
-// cWrapperName: "casadi__MX__tang__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__tang__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::MX ret = casadi::MX::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__tang__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::MX*
-    casadi__MX__tang__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::MX ret = casadi::MX::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "type_name" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::type_name"
-// cWrapperName: "casadi__MX__type_name"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__MX__type_name(std::string ** err_msg)"
-// call: "        std::string ret = casadi::MX::type_name();"
-// params: []
-extern "C"
-std::string*
-    casadi__MX__type_name(std::string ** err_msg);
-std::string*
-    casadi__MX__type_name(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::MX::type_name();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "unary" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::unary"
-// cWrapperName: "casadi__MX__unary"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::MX* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__unary(std::string ** err_msg, int x0, casadi::MX* x1)"
-// call: "        casadi::MX ret = casadi::MX::unary(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__unary(std::string ** err_msg, int x0, casadi::MX* x1);
-casadi::MX*
-    casadi__MX__unary(std::string ** err_msg, int x0, casadi::MX* x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = casadi::MX::unary(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::zeros"
-// cWrapperName: "casadi__MX__zeros__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__zeros__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::MX ret = casadi::MX::zeros(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__zeros__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::MX*
-    casadi__MX__zeros__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::zeros(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::zeros"
-// cWrapperName: "casadi__MX__zeros__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::MX ret = casadi::MX::zeros(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::MX*
-    casadi__MX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::zeros(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::zeros"
-// cWrapperName: "casadi__MX__zeros__2"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__zeros__2(std::string ** err_msg)"
-// call: "        casadi::MX ret = casadi::MX::zeros();"
-// params: []
-extern "C"
-casadi::MX*
-    casadi__MX__zeros__2(std::string ** err_msg);
-casadi::MX*
-    casadi__MX__zeros__2(std::string ** err_msg){
-    try {
-
-        casadi::MX ret = casadi::MX::zeros();
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::zeros"
-// cWrapperName: "casadi__MX__zeros__3"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__zeros__3(std::string ** err_msg, int x0)"
-// call: "        casadi::MX ret = casadi::MX::zeros(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__zeros__3(std::string ** err_msg, int x0);
-casadi::MX*
-    casadi__MX__zeros__3(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::MX ret = casadi::MX::zeros(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::MX"
-// cppName: "casadi::MX::zeros"
-// cWrapperName: "casadi__MX__zeros__4"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__MX__zeros__4(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::MX ret = casadi::MX::zeros(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::MX*
-    casadi__MX__zeros__4(std::string ** err_msg, int x0, int x1);
-casadi::MX*
-    casadi__MX__zeros__4(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = casadi::MX::zeros(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "MatrixCommon")===============
-// classType: UserType (Namespace ["casadi"]) (Name "MatrixCommon")
-extern "C"
-void delete_casadi__MatrixCommon(casadi::MatrixCommon* obj);
-void delete_casadi__MatrixCommon(casadi::MatrixCommon* obj){
-    delete obj;
-}
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "NlpBuilder")===============
-// classType: UserType (Namespace ["casadi"]) (Name "NlpBuilder")
-extern "C"
-void delete_casadi__NlpBuilder(casadi::NlpBuilder* obj);
-void delete_casadi__NlpBuilder(casadi::NlpBuilder* obj){
-    delete obj;
-}
-
-// ================== Normal method: "import_nl" ===============
-// class: "casadi::NlpBuilder"
-// cppName: "casadi::NlpBuilder::import_nl"
-// cWrapperName: "casadi__NlpBuilder__import_nl__0"
-// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__NlpBuilder__import_nl__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0)"
-// call: "        obj->import_nl(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__NlpBuilder__import_nl__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0);
-void
-    casadi__NlpBuilder__import_nl__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        obj->import_nl(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "import_nl" ===============
-// class: "casadi::NlpBuilder"
-// cppName: "casadi::NlpBuilder::import_nl"
-// cWrapperName: "casadi__NlpBuilder__import_nl__1"
-// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__NlpBuilder__import_nl__1(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// call: "        obj->import_nl(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-void
-    casadi__NlpBuilder__import_nl__1(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
-void
-    casadi__NlpBuilder__import_nl__1(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
-
-        obj->import_nl(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "getRepresentation" ===============
-// class: "casadi::NlpBuilder"
-// cppName: "casadi::NlpBuilder::getRepresentation"
-// cWrapperName: "casadi__NlpBuilder__getRepresentation"
-// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__NlpBuilder__getRepresentation(std::string ** err_msg, casadi::NlpBuilder* obj)"
-// call: "        std::string ret = obj->getRepresentation();"
-// params: []
-extern "C"
-std::string*
-    casadi__NlpBuilder__getRepresentation(std::string ** err_msg, casadi::NlpBuilder* obj);
-std::string*
-    casadi__NlpBuilder__getRepresentation(std::string ** err_msg, casadi::NlpBuilder* obj){
-    try {
-
-        std::string ret = obj->getRepresentation();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getDescription" ===============
-// class: "casadi::NlpBuilder"
-// cppName: "casadi::NlpBuilder::getDescription"
-// cWrapperName: "casadi__NlpBuilder__getDescription"
-// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__NlpBuilder__getDescription(std::string ** err_msg, casadi::NlpBuilder* obj)"
-// call: "        std::string ret = obj->getDescription();"
-// params: []
-extern "C"
-std::string*
-    casadi__NlpBuilder__getDescription(std::string ** err_msg, casadi::NlpBuilder* obj);
-std::string*
-    casadi__NlpBuilder__getDescription(std::string ** err_msg, casadi::NlpBuilder* obj){
-    try {
-
-        std::string ret = obj->getDescription();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "SX")===============
-// classType: UserType (Namespace ["casadi"]) (Name "SX")
-extern "C"
-void delete_casadi__SX(casadi::SX* obj);
-void delete_casadi__SX(casadi::SX* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX"
-// cWrapperName: "casadi__SX__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0)"
-// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX"
-// cWrapperName: "casadi__SX__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0)"
-// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
-// params: [(Ref (Const (StdVec CDouble)),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0){
-    try {
-        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
-
-        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX"
-// cWrapperName: "casadi__SX__CONSTRUCTOR__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0)"
-// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX"
-// cWrapperName: "casadi__SX__CONSTRUCTOR__3"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__3(std::string ** err_msg, std::vector< int >* x0)"
-// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__3(std::string ** err_msg, std::vector< int >* x0);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__3(std::string ** err_msg, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX"
-// cWrapperName: "casadi__SX__CONSTRUCTOR__4"
-// protoArgs: "(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
-// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
-// params: [(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0){
-    try {
-        std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);
-
-        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX"
-// cWrapperName: "casadi__SX__CONSTRUCTOR__5"
-// protoArgs: "(std::string ** err_msg, double x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__5(std::string ** err_msg, double x0)"
-// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
-// params: [(CDouble,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__5(std::string ** err_msg, double x0);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__5(std::string ** err_msg, double x0){
-    try {
-        double x0_ = Marshaling<double,double>::marshal(x0);
-
-        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX"
-// cWrapperName: "casadi__SX__CONSTRUCTOR__6"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1)"
-// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX"
-// cWrapperName: "casadi__SX__CONSTRUCTOR__7"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX"
-// cWrapperName: "casadi__SX__CONSTRUCTOR__8"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__8(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__8(std::string ** err_msg, int x0, int x1);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__8(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX"
-// cWrapperName: "casadi__SX__CONSTRUCTOR__9"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__9(std::string ** err_msg, casadi::SX* x0)"
-// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__9(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__9(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX"
-// cWrapperName: "casadi__SX__CONSTRUCTOR__10"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__10(std::string ** err_msg)"
-// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX();"
-// params: []
-extern "C"
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__10(std::string ** err_msg);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__10(std::string ** err_msg){
-    try {
-
-        casadi::SX* ret = (casadi::SX*)new casadi::SX();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "T" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::T"
-// cWrapperName: "casadi__SX__T"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__T(std::string ** err_msg, casadi::SX* obj)"
-// call: "        casadi::SX ret = obj->T();"
-// params: []
-extern "C"
-casadi::SX*
-    casadi__SX__T(std::string ** err_msg, casadi::SX* obj);
-casadi::SX*
-    casadi__SX__T(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        casadi::SX ret = obj->T();
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "__nonzero__" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::__nonzero__"
-// cWrapperName: "casadi__SX____nonzero__"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX____nonzero__(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->__nonzero__();"
-// params: []
-extern "C"
-int
-    casadi__SX____nonzero__(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX____nonzero__(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->__nonzero__();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "binary" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::binary"
-// cWrapperName: "casadi__SX__binary"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__binary(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
-// call: "        casadi::SX ret = casadi::SX::binary(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__binary(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2);
-casadi::SX*
-    casadi__SX__binary(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::binary(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "clear" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::clear"
-// cWrapperName: "casadi__SX__clear"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__clear(std::string ** err_msg, casadi::SX* obj)"
-// call: "        obj->clear();"
-// params: []
-extern "C"
-void
-    casadi__SX__clear(std::string ** err_msg, casadi::SX* obj);
-void
-    casadi__SX__clear(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        obj->clear();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "colind" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::colind"
-// cWrapperName: "casadi__SX__colind"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__colind(std::string ** err_msg, casadi::SX* obj, int x0)"
-// call: "        int ret = obj->colind(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__SX__colind(std::string ** err_msg, casadi::SX* obj, int x0);
-int
-    casadi__SX__colind(std::string ** err_msg, casadi::SX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->colind(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "dep" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::dep"
-// cWrapperName: "casadi__SX__dep__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__dep__0(std::string ** err_msg, casadi::SX* obj)"
-// call: "        casadi::SX ret = obj->dep();"
-// params: []
-extern "C"
-casadi::SX*
-    casadi__SX__dep__0(std::string ** err_msg, casadi::SX* obj);
-casadi::SX*
-    casadi__SX__dep__0(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        casadi::SX ret = obj->dep();
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "dep" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::dep"
-// cWrapperName: "casadi__SX__dep__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__dep__1(std::string ** err_msg, casadi::SX* obj, int x0)"
-// call: "        casadi::SX ret = obj->dep(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__dep__1(std::string ** err_msg, casadi::SX* obj, int x0);
-casadi::SX*
-    casadi__SX__dep__1(std::string ** err_msg, casadi::SX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::SX ret = obj->dep(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "dim" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::dim"
-// cWrapperName: "casadi__SX__dim"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__SX__dim(std::string ** err_msg, casadi::SX* obj)"
-// call: "        std::string ret = obj->dim();"
-// params: []
-extern "C"
-std::string*
-    casadi__SX__dim(std::string ** err_msg, casadi::SX* obj);
-std::string*
-    casadi__SX__dim(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        std::string ret = obj->dim();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "element_hash" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::element_hash"
-// cWrapperName: "casadi__SX__element_hash"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CSize
-// cWrapperRetType: "size_t"
-// proto: "size_t\n    casadi__SX__element_hash(std::string ** err_msg, casadi::SX* obj)"
-// call: "        size_t ret = obj->element_hash();"
-// params: []
-extern "C"
-size_t
-    casadi__SX__element_hash(std::string ** err_msg, casadi::SX* obj);
-size_t
-    casadi__SX__element_hash(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        size_t ret = obj->element_hash();
-
-        return WrapReturn< size_t, size_t >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "enlarge" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::enlarge"
-// cWrapperName: "casadi__SX__enlarge__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__enlarge__0(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__enlarge__0(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
-void
-    casadi__SX__enlarge__0(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-
-        obj->enlarge(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "enlarge" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::enlarge"
-// cWrapperName: "casadi__SX__enlarge__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__enlarge__1(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
-// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__SX__enlarge__1(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4);
-void
-    casadi__SX__enlarge__1(std::string ** err_msg, casadi::SX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::erase"
-// cWrapperName: "casadi__SX__erase__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__erase__0(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0)"
-// call: "        obj->erase(x0_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__erase__0(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0);
-void
-    casadi__SX__erase__0(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        obj->erase(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::erase"
-// cWrapperName: "casadi__SX__erase__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__erase__1(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, int x1)"
-// call: "        obj->erase(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__SX__erase__1(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, int x1);
-void
-    casadi__SX__erase__1(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, int x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        obj->erase(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::erase"
-// cWrapperName: "casadi__SX__erase__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__erase__2(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// call: "        obj->erase(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__erase__2(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1);
-void
-    casadi__SX__erase__2(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        obj->erase(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::erase"
-// cWrapperName: "casadi__SX__erase__3"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__erase__3(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
-// call: "        obj->erase(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__SX__erase__3(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2);
-void
-    casadi__SX__erase__3(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1, int x2){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->erase(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "eye" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::eye"
-// cWrapperName: "casadi__SX__eye"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__eye(std::string ** err_msg, int x0)"
-// call: "        casadi::SX ret = casadi::SX::eye(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__eye(std::string ** err_msg, int x0);
-casadi::SX*
-    casadi__SX__eye(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::eye(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get"
-// cWrapperName: "casadi__SX__get__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__get__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__get__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::IM* x3);
-void
-    casadi__SX__get__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::IM* x3){
-    try {
-        casadi::SX x0_ = casadi::SX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get"
-// cWrapperName: "casadi__SX__get__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__get__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__get__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::Slice* x3);
-void
-    casadi__SX__get__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::Slice* x3){
-    try {
-        casadi::SX x0_ = casadi::SX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get"
-// cWrapperName: "casadi__SX__get__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__get__2(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__get__2(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::IM* x3);
-void
-    casadi__SX__get__2(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::IM* x3){
-    try {
-        casadi::SX x0_ = casadi::SX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get"
-// cWrapperName: "casadi__SX__get__3"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__get__3(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// call: "        obj->get(x0_, x1_, x2_, x3_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__get__3(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
-void
-    casadi__SX__get__3(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
-    try {
-        casadi::SX x0_ = casadi::SX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->get(x0_, x1_, x2_, x3_);
-        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get"
-// cWrapperName: "casadi__SX__get__4"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Sparsity* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__get__4(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Sparsity* x2)"
-// call: "        obj->get(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__get__4(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Sparsity* x2);
-void
-    casadi__SX__get__4(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Sparsity* x2){
-    try {
-        casadi::SX x0_ = casadi::SX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
-
-        obj->get(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get"
-// cWrapperName: "casadi__SX__get__5"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__get__5(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2)"
-// call: "        obj->get(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__get__5(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2);
-void
-    casadi__SX__get__5(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2){
-    try {
-        casadi::SX x0_ = casadi::SX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->get(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get"
-// cWrapperName: "casadi__SX__get__6"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__get__6(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2)"
-// call: "        obj->get(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__get__6(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2);
-void
-    casadi__SX__get__6(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::SX x0_ = casadi::SX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->get(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "getEqualityCheckingDepth" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::getEqualityCheckingDepth"
-// cWrapperName: "casadi__SX__getEqualityCheckingDepth"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__getEqualityCheckingDepth(std::string ** err_msg)"
-// call: "        int ret = casadi::SX::getEqualityCheckingDepth();"
-// params: []
-extern "C"
-int
-    casadi__SX__getEqualityCheckingDepth(std::string ** err_msg);
-int
-    casadi__SX__getEqualityCheckingDepth(std::string ** err_msg){
-    try {
-
-        int ret = casadi::SX::getEqualityCheckingDepth();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_colind" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get_colind"
-// cWrapperName: "casadi__SX__get_colind"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__SX__get_colind(std::string ** err_msg, casadi::SX* obj)"
-// call: "        std::vector< int > ret = obj->get_colind();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__SX__get_colind(std::string ** err_msg, casadi::SX* obj);
-std::vector< int >*
-    casadi__SX__get_colind(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        std::vector< int > ret = obj->get_colind();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "get_free" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get_free"
-// cWrapperName: "casadi__SX__get_free"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi__SX__get_free(std::string ** err_msg, casadi::Function* x0)"
-// call: "        std::vector< casadi::SX > ret = casadi::SX::get_free(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-std::vector< casadi::SX* >*
-    casadi__SX__get_free(std::string ** err_msg, casadi::Function* x0);
-std::vector< casadi::SX* >*
-    casadi__SX__get_free(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        std::vector< casadi::SX > ret = casadi::SX::get_free(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "get_input" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get_input"
-// cWrapperName: "casadi__SX__get_input"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi__SX__get_input(std::string ** err_msg, casadi::Function* x0)"
-// call: "        std::vector< casadi::SX > ret = casadi::SX::get_input(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-std::vector< casadi::SX* >*
-    casadi__SX__get_input(std::string ** err_msg, casadi::Function* x0);
-std::vector< casadi::SX* >*
-    casadi__SX__get_input(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        std::vector< casadi::SX > ret = casadi::SX::get_input(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_nonzeros" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get_nonzeros"
-// cWrapperName: "casadi__SX__get_nonzeros"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SXElem"))
-// cWrapperRetType: "std::vector< casadi::SXElem* >*"
-// proto: "std::vector< casadi::SXElem* >*\n    casadi__SX__get_nonzeros(std::string ** err_msg, casadi::SX* obj)"
-// call: "        std::vector< casadi::SXElem > ret = obj->get_nonzeros();"
-// params: []
-extern "C"
-std::vector< casadi::SXElem* >*
-    casadi__SX__get_nonzeros(std::string ** err_msg, casadi::SX* obj);
-std::vector< casadi::SXElem* >*
-    casadi__SX__get_nonzeros(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        std::vector< casadi::SXElem > ret = obj->get_nonzeros();
-
-        return WrapReturn< std::vector< casadi::SXElem* >*, std::vector< casadi::SXElem > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_nz" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get_nz"
-// cWrapperName: "casadi__SX__get_nz__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__get_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2)"
-// call: "        obj->get_nz(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__get_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2);
-void
-    casadi__SX__get_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2){
-    try {
-        casadi::SX x0_ = casadi::SX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->get_nz(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get_nz" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get_nz"
-// cWrapperName: "casadi__SX__get_nz__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__get_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2)"
-// call: "        obj->get_nz(x0_, x1_, x2_);"
-// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__get_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2);
-void
-    casadi__SX__get_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::SX x0_ = casadi::SX();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->get_nz(x0_, x1_, x2_);
-        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get_row" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get_row"
-// cWrapperName: "casadi__SX__get_row"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__SX__get_row(std::string ** err_msg, casadi::SX* obj)"
-// call: "        std::vector< int > ret = obj->get_row();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__SX__get_row(std::string ** err_msg, casadi::SX* obj);
-std::vector< int >*
-    casadi__SX__get_row(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        std::vector< int > ret = obj->get_row();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_sparsity" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::get_sparsity"
-// cWrapperName: "casadi__SX__get_sparsity"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__SX__get_sparsity(std::string ** err_msg, casadi::SX* obj)"
-// call: "        casadi::Sparsity ret = obj->get_sparsity();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__SX__get_sparsity(std::string ** err_msg, casadi::SX* obj);
-casadi::Sparsity*
-    casadi__SX__get_sparsity(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        casadi::Sparsity ret = obj->get_sparsity();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::grad"
-// cWrapperName: "casadi__SX__grad__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__grad__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::SX ret = casadi::SX::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__grad__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::SX*
-    casadi__SX__grad__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::grad"
-// cWrapperName: "casadi__SX__grad__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__grad__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::SX ret = casadi::SX::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__grad__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::SX*
-    casadi__SX__grad__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::grad"
-// cWrapperName: "casadi__SX__grad__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__grad__2(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::SX ret = casadi::SX::grad(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__grad__2(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::SX*
-    casadi__SX__grad__2(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::grad(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::grad"
-// cWrapperName: "casadi__SX__grad__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__grad__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::SX ret = casadi::SX::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__grad__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::SX*
-    casadi__SX__grad__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::grad"
-// cWrapperName: "casadi__SX__grad__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__grad__4(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::SX ret = casadi::SX::grad(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__grad__4(std::string ** err_msg, casadi::Function* x0);
-casadi::SX*
-    casadi__SX__grad__4(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::grad(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::grad"
-// cWrapperName: "casadi__SX__grad__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__grad__5(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::SX ret = casadi::SX::grad(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__grad__5(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::SX*
-    casadi__SX__grad__5(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::grad(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "grad" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::grad"
-// cWrapperName: "casadi__SX__grad__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__grad__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::SX ret = casadi::SX::grad(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__grad__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::SX*
-    casadi__SX__grad__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::grad(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_duplicates" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::has_duplicates"
-// cWrapperName: "casadi__SX__has_duplicates"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__has_duplicates(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->has_duplicates();"
-// params: []
-extern "C"
-int
-    casadi__SX__has_duplicates(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__has_duplicates(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->has_duplicates();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_nz" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::has_nz"
-// cWrapperName: "casadi__SX__has_nz"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__has_nz(std::string ** err_msg, casadi::SX* obj, int x0, int x1)"
-// call: "        bool ret = obj->has_nz(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__SX__has_nz(std::string ** err_msg, casadi::SX* obj, int x0, int x1);
-int
-    casadi__SX__has_nz(std::string ** err_msg, casadi::SX* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        bool ret = obj->has_nz(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_zeros" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::has_zeros"
-// cWrapperName: "casadi__SX__has_zeros"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__has_zeros(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->has_zeros();"
-// params: []
-extern "C"
-int
-    casadi__SX__has_zeros(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__has_zeros(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->has_zeros();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::hess"
-// cWrapperName: "casadi__SX__hess__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__hess__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::SX ret = casadi::SX::hess(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__hess__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::SX*
-    casadi__SX__hess__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::hess(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::hess"
-// cWrapperName: "casadi__SX__hess__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__hess__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::SX ret = casadi::SX::hess(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__hess__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::SX*
-    casadi__SX__hess__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::hess(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::hess"
-// cWrapperName: "casadi__SX__hess__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__hess__2(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::SX ret = casadi::SX::hess(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__hess__2(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::SX*
-    casadi__SX__hess__2(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::hess(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::hess"
-// cWrapperName: "casadi__SX__hess__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__hess__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::SX ret = casadi::SX::hess(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__hess__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::SX*
-    casadi__SX__hess__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::hess(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::hess"
-// cWrapperName: "casadi__SX__hess__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__hess__4(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::SX ret = casadi::SX::hess(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__hess__4(std::string ** err_msg, casadi::Function* x0);
-casadi::SX*
-    casadi__SX__hess__4(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::hess(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::hess"
-// cWrapperName: "casadi__SX__hess__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__hess__5(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::SX ret = casadi::SX::hess(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__hess__5(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::SX*
-    casadi__SX__hess__5(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::hess(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "hess" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::hess"
-// cWrapperName: "casadi__SX__hess__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__hess__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::SX ret = casadi::SX::hess(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__hess__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::SX*
-    casadi__SX__hess__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::hess(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::inf"
-// cWrapperName: "casadi__SX__inf__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__inf__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::SX ret = casadi::SX::inf(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__inf__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::SX*
-    casadi__SX__inf__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::inf"
-// cWrapperName: "casadi__SX__inf__1"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__inf__1(std::string ** err_msg)"
-// call: "        casadi::SX ret = casadi::SX::inf();"
-// params: []
-extern "C"
-casadi::SX*
-    casadi__SX__inf__1(std::string ** err_msg);
-casadi::SX*
-    casadi__SX__inf__1(std::string ** err_msg){
-    try {
-
-        casadi::SX ret = casadi::SX::inf();
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::inf"
-// cWrapperName: "casadi__SX__inf__2"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__inf__2(std::string ** err_msg, int x0)"
-// call: "        casadi::SX ret = casadi::SX::inf(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__inf__2(std::string ** err_msg, int x0);
-casadi::SX*
-    casadi__SX__inf__2(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::inf"
-// cWrapperName: "casadi__SX__inf__3"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__inf__3(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::SX ret = casadi::SX::inf(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__inf__3(std::string ** err_msg, int x0, int x1);
-casadi::SX*
-    casadi__SX__inf__3(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::inf(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::inf"
-// cWrapperName: "casadi__SX__inf__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::SX ret = casadi::SX::inf(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::SX*
-    casadi__SX__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_column" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_column"
-// cWrapperName: "casadi__SX__is_column"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_column(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_column();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_column(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_column(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_column();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_commutative" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_commutative"
-// cWrapperName: "casadi__SX__is_commutative"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_commutative(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_commutative();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_commutative(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_commutative(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_commutative();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_constant" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_constant"
-// cWrapperName: "casadi__SX__is_constant"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_constant(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_constant();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_constant(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_constant(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_constant();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_dense" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_dense"
-// cWrapperName: "casadi__SX__is_dense"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_dense(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_dense();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_dense(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_dense(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_dense();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_empty" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_empty"
-// cWrapperName: "casadi__SX__is_empty__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_empty__0(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_empty();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_empty__0(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_empty__0(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_empty();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_empty" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_empty"
-// cWrapperName: "casadi__SX__is_empty__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_empty__1(std::string ** err_msg, casadi::SX* obj, int x0)"
-// call: "        bool ret = obj->is_empty(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__SX__is_empty__1(std::string ** err_msg, casadi::SX* obj, int x0);
-int
-    casadi__SX__is_empty__1(std::string ** err_msg, casadi::SX* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        bool ret = obj->is_empty(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_identity" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_identity"
-// cWrapperName: "casadi__SX__is_identity"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_identity(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_identity();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_identity(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_identity(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_identity();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_integer" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_integer"
-// cWrapperName: "casadi__SX__is_integer"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_integer(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_integer();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_integer(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_integer(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_integer();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_leaf" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_leaf"
-// cWrapperName: "casadi__SX__is_leaf"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_leaf(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_leaf();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_leaf(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_leaf(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_leaf();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_minus_one" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_minus_one"
-// cWrapperName: "casadi__SX__is_minus_one"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_minus_one(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_minus_one();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_minus_one(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_minus_one(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_minus_one();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_one" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_one"
-// cWrapperName: "casadi__SX__is_one"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_one(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_one();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_one(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_one(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_one();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_regular" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_regular"
-// cWrapperName: "casadi__SX__is_regular"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_regular(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_regular();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_regular(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_regular(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_regular();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_row" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_row"
-// cWrapperName: "casadi__SX__is_row"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_row(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_row();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_row(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_row(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_row();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_scalar" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_scalar"
-// cWrapperName: "casadi__SX__is_scalar__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_scalar__0(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_scalar();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_scalar__0(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_scalar__0(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_scalar();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_scalar" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_scalar"
-// cWrapperName: "casadi__SX__is_scalar__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_scalar__1(std::string ** err_msg, casadi::SX* obj, int x0)"
-// call: "        bool ret = obj->is_scalar(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__SX__is_scalar__1(std::string ** err_msg, casadi::SX* obj, int x0);
-int
-    casadi__SX__is_scalar__1(std::string ** err_msg, casadi::SX* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        bool ret = obj->is_scalar(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_smooth" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_smooth"
-// cWrapperName: "casadi__SX__is_smooth"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_smooth(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_smooth();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_smooth(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_smooth(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_smooth();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_square" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_square"
-// cWrapperName: "casadi__SX__is_square"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_square(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_square();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_square(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_square(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_square();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_symbolic" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_symbolic"
-// cWrapperName: "casadi__SX__is_symbolic"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_symbolic(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_symbolic();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_symbolic(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_symbolic(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_symbolic();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_tril" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_tril"
-// cWrapperName: "casadi__SX__is_tril"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_tril(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_tril();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_tril(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_tril(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_tril();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_triu" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_triu"
-// cWrapperName: "casadi__SX__is_triu"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_triu(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_triu();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_triu(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_triu(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_triu();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_valid_input" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_valid_input"
-// cWrapperName: "casadi__SX__is_valid_input"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_valid_input(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_valid_input();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_valid_input(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_valid_input(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_valid_input();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_vector" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_vector"
-// cWrapperName: "casadi__SX__is_vector"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_vector(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_vector();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_vector(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_vector(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_vector();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_zero" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::is_zero"
-// cWrapperName: "casadi__SX__is_zero"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__is_zero(std::string ** err_msg, casadi::SX* obj)"
-// call: "        bool ret = obj->is_zero();"
-// params: []
-extern "C"
-int
-    casadi__SX__is_zero(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__is_zero(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        bool ret = obj->is_zero();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::SX*
-    casadi__SX__jac__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__1(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__1(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3);
-casadi::SX*
-    casadi__SX__jac__1(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4);
-casadi::SX*
-    casadi__SX__jac__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__3(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__3(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::SX*
-    casadi__SX__jac__3(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__4(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__4(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3);
-casadi::SX*
-    casadi__SX__jac__4(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__5(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__5(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4);
-casadi::SX*
-    casadi__SX__jac__5(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__6(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__6(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::SX*
-    casadi__SX__jac__6(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::jac(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__7"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__7(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__7(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::SX*
-    casadi__SX__jac__7(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__8"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__8(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__8(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3);
-casadi::SX*
-    casadi__SX__jac__8(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__9"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__9(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__9(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4);
-casadi::SX*
-    casadi__SX__jac__9(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__10"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__10(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__10(std::string ** err_msg, casadi::Function* x0);
-casadi::SX*
-    casadi__SX__jac__10(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::jac(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__11"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__11(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__11(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::SX*
-    casadi__SX__jac__11(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::jac(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__12"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__12(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__12(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::SX*
-    casadi__SX__jac__12(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__13"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__13(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__13(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3);
-casadi::SX*
-    casadi__SX__jac__13(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "jac" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::jac"
-// cWrapperName: "casadi__SX__jac__14"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__jac__14(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4)"
-// call: "        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__jac__14(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4);
-casadi::SX*
-    casadi__SX__jac__14(std::string ** err_msg, casadi::Function* x0, int x1, int x2, int x3, int x4){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        casadi::SX ret = casadi::SX::jac(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "matrix_matrix" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::matrix_matrix"
-// cWrapperName: "casadi__SX__matrix_matrix"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__matrix_matrix(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
-// call: "        casadi::SX ret = casadi::SX::matrix_matrix(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__matrix_matrix(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2);
-casadi::SX*
-    casadi__SX__matrix_matrix(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::matrix_matrix(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "matrix_scalar" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::matrix_scalar"
-// cWrapperName: "casadi__SX__matrix_scalar"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__matrix_scalar(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
-// call: "        casadi::SX ret = casadi::SX::matrix_scalar(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__matrix_scalar(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2);
-casadi::SX*
-    casadi__SX__matrix_scalar(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::matrix_scalar(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "n_dep" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::n_dep"
-// cWrapperName: "casadi__SX__n_dep"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__n_dep(std::string ** err_msg, casadi::SX* obj)"
-// call: "        int ret = obj->n_dep();"
-// params: []
-extern "C"
-int
-    casadi__SX__n_dep(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__n_dep(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        int ret = obj->n_dep();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "name" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::name"
-// cWrapperName: "casadi__SX__name"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__SX__name(std::string ** err_msg, casadi::SX* obj)"
-// call: "        std::string ret = obj->name();"
-// params: []
-extern "C"
-std::string*
-    casadi__SX__name(std::string ** err_msg, casadi::SX* obj);
-std::string*
-    casadi__SX__name(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        std::string ret = obj->name();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::nan"
-// cWrapperName: "casadi__SX__nan__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__nan__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::SX ret = casadi::SX::nan(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__nan__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::SX*
-    casadi__SX__nan__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::nan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::nan"
-// cWrapperName: "casadi__SX__nan__1"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__nan__1(std::string ** err_msg)"
-// call: "        casadi::SX ret = casadi::SX::nan();"
-// params: []
-extern "C"
-casadi::SX*
-    casadi__SX__nan__1(std::string ** err_msg);
-casadi::SX*
-    casadi__SX__nan__1(std::string ** err_msg){
-    try {
-
-        casadi::SX ret = casadi::SX::nan();
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::nan"
-// cWrapperName: "casadi__SX__nan__2"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__nan__2(std::string ** err_msg, int x0)"
-// call: "        casadi::SX ret = casadi::SX::nan(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__nan__2(std::string ** err_msg, int x0);
-casadi::SX*
-    casadi__SX__nan__2(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::nan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::nan"
-// cWrapperName: "casadi__SX__nan__3"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__nan__3(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::SX ret = casadi::SX::nan(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__nan__3(std::string ** err_msg, int x0, int x1);
-casadi::SX*
-    casadi__SX__nan__3(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::nan(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::nan"
-// cWrapperName: "casadi__SX__nan__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::SX ret = casadi::SX::nan(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::SX*
-    casadi__SX__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::nan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::nnz"
-// cWrapperName: "casadi__SX__nnz"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__nnz(std::string ** err_msg, casadi::SX* obj)"
-// call: "        int ret = obj->nnz();"
-// params: []
-extern "C"
-int
-    casadi__SX__nnz(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__nnz(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        int ret = obj->nnz();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_diag" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::nnz_diag"
-// cWrapperName: "casadi__SX__nnz_diag"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__nnz_diag(std::string ** err_msg, casadi::SX* obj)"
-// call: "        int ret = obj->nnz_diag();"
-// params: []
-extern "C"
-int
-    casadi__SX__nnz_diag(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__nnz_diag(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        int ret = obj->nnz_diag();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_lower" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::nnz_lower"
-// cWrapperName: "casadi__SX__nnz_lower"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__nnz_lower(std::string ** err_msg, casadi::SX* obj)"
-// call: "        int ret = obj->nnz_lower();"
-// params: []
-extern "C"
-int
-    casadi__SX__nnz_lower(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__nnz_lower(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        int ret = obj->nnz_lower();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_upper" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::nnz_upper"
-// cWrapperName: "casadi__SX__nnz_upper"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__nnz_upper(std::string ** err_msg, casadi::SX* obj)"
-// call: "        int ret = obj->nnz_upper();"
-// params: []
-extern "C"
-int
-    casadi__SX__nnz_upper(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__nnz_upper(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        int ret = obj->nnz_upper();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::numel"
-// cWrapperName: "casadi__SX__numel__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__numel__0(std::string ** err_msg, casadi::SX* obj, int x0)"
-// call: "        int ret = obj->numel(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__SX__numel__0(std::string ** err_msg, casadi::SX* obj, int x0);
-int
-    casadi__SX__numel__0(std::string ** err_msg, casadi::SX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->numel(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::numel"
-// cWrapperName: "casadi__SX__numel__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__numel__1(std::string ** err_msg, casadi::SX* obj)"
-// call: "        int ret = obj->numel();"
-// params: []
-extern "C"
-int
-    casadi__SX__numel__1(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__numel__1(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        int ret = obj->numel();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::ones"
-// cWrapperName: "casadi__SX__ones__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__ones__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::SX ret = casadi::SX::ones(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__ones__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::SX*
-    casadi__SX__ones__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::ones(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::ones"
-// cWrapperName: "casadi__SX__ones__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::SX ret = casadi::SX::ones(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::SX*
-    casadi__SX__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::ones(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::ones"
-// cWrapperName: "casadi__SX__ones__2"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__ones__2(std::string ** err_msg)"
-// call: "        casadi::SX ret = casadi::SX::ones();"
-// params: []
-extern "C"
-casadi::SX*
-    casadi__SX__ones__2(std::string ** err_msg);
-casadi::SX*
-    casadi__SX__ones__2(std::string ** err_msg){
-    try {
-
-        casadi::SX ret = casadi::SX::ones();
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::ones"
-// cWrapperName: "casadi__SX__ones__3"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__ones__3(std::string ** err_msg, int x0)"
-// call: "        casadi::SX ret = casadi::SX::ones(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__ones__3(std::string ** err_msg, int x0);
-casadi::SX*
-    casadi__SX__ones__3(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::ones(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::ones"
-// cWrapperName: "casadi__SX__ones__4"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__ones__4(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::SX ret = casadi::SX::ones(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__ones__4(std::string ** err_msg, int x0, int x1);
-casadi::SX*
-    casadi__SX__ones__4(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::ones(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator +" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::operator +"
-// cWrapperName: "casadi__SX__operator__plus"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__operator__plus(std::string ** err_msg, casadi::SX* obj)"
-// call: "        casadi::SX ret = obj->operator +();"
-// params: []
-extern "C"
-casadi::SX*
-    casadi__SX__operator__plus(std::string ** err_msg, casadi::SX* obj);
-casadi::SX*
-    casadi__SX__operator__plus(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        casadi::SX ret = obj->operator +();
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator -" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::operator -"
-// cWrapperName: "casadi__SX__operator__minus"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__operator__minus(std::string ** err_msg, casadi::SX* obj)"
-// call: "        casadi::SX ret = obj->operator -();"
-// params: []
-extern "C"
-casadi::SX*
-    casadi__SX__operator__minus(std::string ** err_msg, casadi::SX* obj);
-casadi::SX*
-    casadi__SX__operator__minus(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        casadi::SX ret = obj->operator -();
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator double" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::operator double"
-// cWrapperName: "casadi__SX__operator_double"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CDouble
-// cWrapperRetType: "double"
-// proto: "double\n    casadi__SX__operator_double(std::string ** err_msg, casadi::SX* obj)"
-// call: "        double ret = obj->operator double();"
-// params: []
-extern "C"
-double
-    casadi__SX__operator_double(std::string ** err_msg, casadi::SX* obj);
-double
-    casadi__SX__operator_double(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        double ret = obj->operator double();
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator int" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::operator int"
-// cWrapperName: "casadi__SX__operator_int"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__operator_int(std::string ** err_msg, casadi::SX* obj)"
-// call: "        int ret = obj->operator int();"
-// params: []
-extern "C"
-int
-    casadi__SX__operator_int(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__operator_int(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        int ret = obj->operator int();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "print_dense" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::print_dense"
-// cWrapperName: "casadi__SX__print_dense"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__print_dense(std::string ** err_msg, casadi::SX* obj)"
-// call: "        obj->print_dense();"
-// params: []
-extern "C"
-void
-    casadi__SX__print_dense(std::string ** err_msg, casadi::SX* obj);
-void
-    casadi__SX__print_dense(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        obj->print_dense();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_scalar" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::print_scalar"
-// cWrapperName: "casadi__SX__print_scalar"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__print_scalar(std::string ** err_msg, casadi::SX* obj)"
-// call: "        obj->print_scalar();"
-// params: []
-extern "C"
-void
-    casadi__SX__print_scalar(std::string ** err_msg, casadi::SX* obj);
-void
-    casadi__SX__print_scalar(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        obj->print_scalar();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_sparse" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::print_sparse"
-// cWrapperName: "casadi__SX__print_sparse"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__print_sparse(std::string ** err_msg, casadi::SX* obj)"
-// call: "        obj->print_sparse();"
-// params: []
-extern "C"
-void
-    casadi__SX__print_sparse(std::string ** err_msg, casadi::SX* obj);
-void
-    casadi__SX__print_sparse(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        obj->print_sparse();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_split" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::print_split"
-// cWrapperName: "casadi__SX__print_split"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__print_split(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
-// call: "        obj->print_split(x0_, x1_);"
-// params: [(Ref (StdVec StdString),SwigOutput True),(Ref (StdVec StdString),SwigOutput True)]
-extern "C"
-void
-    casadi__SX__print_split(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1);
-void
-    casadi__SX__print_split(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1){
-    try {
-        std::vector< std::string > x0_ = std::vector< std::string >();  // Swig output
-        std::vector< std::string > x1_ = std::vector< std::string >();  // Swig output
-
-        obj->print_split(x0_, x1_);
-        *x0 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x0_ );
-        *x1 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x1_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "print_vector" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::print_vector"
-// cWrapperName: "casadi__SX__print_vector"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__print_vector(std::string ** err_msg, casadi::SX* obj)"
-// call: "        obj->print_vector();"
-// params: []
-extern "C"
-void
-    casadi__SX__print_vector(std::string ** err_msg, casadi::SX* obj);
-void
-    casadi__SX__print_vector(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        obj->print_vector();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "printme" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::printme"
-// cWrapperName: "casadi__SX__printme"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__printme(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0)"
-// call: "        casadi::SX ret = obj->printme(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__printme(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0);
-casadi::SX*
-    casadi__SX__printme(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = obj->printme(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "remove" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::remove"
-// cWrapperName: "casadi__SX__remove"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__remove(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// call: "        obj->remove(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__remove(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1);
-void
-    casadi__SX__remove(std::string ** err_msg, casadi::SX* obj, std::vector< int >* x0, std::vector< int >* x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        obj->remove(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reserve" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::reserve"
-// cWrapperName: "casadi__SX__reserve__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__reserve__0(std::string ** err_msg, casadi::SX* obj, int x0, int x1)"
-// call: "        obj->reserve(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__SX__reserve__0(std::string ** err_msg, casadi::SX* obj, int x0, int x1);
-void
-    casadi__SX__reserve__0(std::string ** err_msg, casadi::SX* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        obj->reserve(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "reserve" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::reserve"
-// cWrapperName: "casadi__SX__reserve__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__reserve__1(std::string ** err_msg, casadi::SX* obj, int x0)"
-// call: "        obj->reserve(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__SX__reserve__1(std::string ** err_msg, casadi::SX* obj, int x0);
-void
-    casadi__SX__reserve__1(std::string ** err_msg, casadi::SX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        obj->reserve(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "resetInput" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::resetInput"
-// cWrapperName: "casadi__SX__resetInput"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__resetInput(std::string ** err_msg, casadi::SX* obj)"
-// call: "        obj->resetInput();"
-// params: []
-extern "C"
-void
-    casadi__SX__resetInput(std::string ** err_msg, casadi::SX* obj);
-void
-    casadi__SX__resetInput(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        obj->resetInput();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "resize" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::resize"
-// cWrapperName: "casadi__SX__resize"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__resize(std::string ** err_msg, casadi::SX* obj, int x0, int x1)"
-// call: "        obj->resize(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__SX__resize(std::string ** err_msg, casadi::SX* obj, int x0, int x1);
-void
-    casadi__SX__resize(std::string ** err_msg, casadi::SX* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        obj->resize(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "row" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::row"
-// cWrapperName: "casadi__SX__row"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__row(std::string ** err_msg, casadi::SX* obj, int x0)"
-// call: "        int ret = obj->row(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__SX__row(std::string ** err_msg, casadi::SX* obj, int x0);
-int
-    casadi__SX__row(std::string ** err_msg, casadi::SX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->row(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sanity_check" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::sanity_check"
-// cWrapperName: "casadi__SX__sanity_check__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__sanity_check__0(std::string ** err_msg, casadi::SX* obj)"
-// call: "        obj->sanity_check();"
-// params: []
-extern "C"
-void
-    casadi__SX__sanity_check__0(std::string ** err_msg, casadi::SX* obj);
-void
-    casadi__SX__sanity_check__0(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        obj->sanity_check();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "sanity_check" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::sanity_check"
-// cWrapperName: "casadi__SX__sanity_check__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__sanity_check__1(std::string ** err_msg, casadi::SX* obj, int x0)"
-// call: "        obj->sanity_check(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__SX__sanity_check__1(std::string ** err_msg, casadi::SX* obj, int x0);
-void
-    casadi__SX__sanity_check__1(std::string ** err_msg, casadi::SX* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        obj->sanity_check(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "scalar_matrix" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::scalar_matrix"
-// cWrapperName: "casadi__SX__scalar_matrix"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__scalar_matrix(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2)"
-// call: "        casadi::SX ret = casadi::SX::scalar_matrix(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__scalar_matrix(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2);
-casadi::SX*
-    casadi__SX__scalar_matrix(std::string ** err_msg, int x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::scalar_matrix(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::set"
-// cWrapperName: "casadi__SX__set__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__set__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__set__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::IM* x3);
-void
-    casadi__SX__set__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::IM* x3){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::set"
-// cWrapperName: "casadi__SX__set__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__set__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__set__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::Slice* x3);
-void
-    casadi__SX__set__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::Slice* x3){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::set"
-// cWrapperName: "casadi__SX__set__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__set__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__set__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IM* x3);
-void
-    casadi__SX__set__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IM* x3){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::set"
-// cWrapperName: "casadi__SX__set__3"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__set__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
-// call: "        obj->set(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__set__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
-void
-    casadi__SX__set__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
-
-        obj->set(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::set"
-// cWrapperName: "casadi__SX__set__4"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__set__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2)"
-// call: "        obj->set(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__set__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2);
-void
-    casadi__SX__set__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
-
-        obj->set(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::set"
-// cWrapperName: "casadi__SX__set__5"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__set__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2)"
-// call: "        obj->set(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__set__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2);
-void
-    casadi__SX__set__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->set(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::set"
-// cWrapperName: "casadi__SX__set__6"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__set__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
-// call: "        obj->set(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__set__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2);
-void
-    casadi__SX__set__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->set(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setEqualityCheckingDepth" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::setEqualityCheckingDepth"
-// cWrapperName: "casadi__SX__setEqualityCheckingDepth__0"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__setEqualityCheckingDepth__0(std::string ** err_msg)"
-// call: "        casadi::SX::setEqualityCheckingDepth();"
-// params: []
-extern "C"
-void
-    casadi__SX__setEqualityCheckingDepth__0(std::string ** err_msg);
-void
-    casadi__SX__setEqualityCheckingDepth__0(std::string ** err_msg){
-    try {
-
-        casadi::SX::setEqualityCheckingDepth();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setEqualityCheckingDepth" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::setEqualityCheckingDepth"
-// cWrapperName: "casadi__SX__setEqualityCheckingDepth__1"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__setEqualityCheckingDepth__1(std::string ** err_msg, int x0)"
-// call: "        casadi::SX::setEqualityCheckingDepth(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__SX__setEqualityCheckingDepth__1(std::string ** err_msg, int x0);
-void
-    casadi__SX__setEqualityCheckingDepth__1(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::SX::setEqualityCheckingDepth(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setPrecision" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::setPrecision"
-// cWrapperName: "casadi__SX__setPrecision"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__setPrecision(std::string ** err_msg, int x0)"
-// call: "        casadi::SX::setPrecision(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__SX__setPrecision(std::string ** err_msg, int x0);
-void
-    casadi__SX__setPrecision(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::SX::setPrecision(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setScientific" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::setScientific"
-// cWrapperName: "casadi__SX__setScientific"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__setScientific(std::string ** err_msg, int x0)"
-// call: "        casadi::SX::setScientific(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__SX__setScientific(std::string ** err_msg, int x0);
-void
-    casadi__SX__setScientific(std::string ** err_msg, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        casadi::SX::setScientific(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "setWidth" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::setWidth"
-// cWrapperName: "casadi__SX__setWidth"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__setWidth(std::string ** err_msg, int x0)"
-// call: "        casadi::SX::setWidth(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__SX__setWidth(std::string ** err_msg, int x0);
-void
-    casadi__SX__setWidth(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::SX::setWidth(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_nz" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::set_nz"
-// cWrapperName: "casadi__SX__set_nz__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__set_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2)"
-// call: "        obj->set_nz(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__set_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2);
-void
-    casadi__SX__set_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        obj->set_nz(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "set_nz" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::set_nz"
-// cWrapperName: "casadi__SX__set_nz__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SX__set_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
-// call: "        obj->set_nz(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-void
-    casadi__SX__set_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2);
-void
-    casadi__SX__set_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
-
-        obj->set_nz(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::size"
-// cWrapperName: "casadi__SX__size__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__size__0(std::string ** err_msg, casadi::SX* obj, int x0)"
-// call: "        int ret = obj->size(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__SX__size__0(std::string ** err_msg, casadi::SX* obj, int x0);
-int
-    casadi__SX__size__0(std::string ** err_msg, casadi::SX* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->size(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::size"
-// cWrapperName: "casadi__SX__size__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: StdPair CInt CInt
-// cWrapperRetType: "std::pair< int, int >*"
-// proto: "std::pair< int, int >*\n    casadi__SX__size__1(std::string ** err_msg, casadi::SX* obj)"
-// call: "        std::pair< int, int > ret = obj->size();"
-// params: []
-extern "C"
-std::pair< int, int >*
-    casadi__SX__size__1(std::string ** err_msg, casadi::SX* obj);
-std::pair< int, int >*
-    casadi__SX__size__1(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        std::pair< int, int > ret = obj->size();
-
-        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size1" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::size1"
-// cWrapperName: "casadi__SX__size1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__size1(std::string ** err_msg, casadi::SX* obj)"
-// call: "        int ret = obj->size1();"
-// params: []
-extern "C"
-int
-    casadi__SX__size1(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__size1(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        int ret = obj->size1();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size2" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::size2"
-// cWrapperName: "casadi__SX__size2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SX__size2(std::string ** err_msg, casadi::SX* obj)"
-// call: "        int ret = obj->size2();"
-// params: []
-extern "C"
-int
-    casadi__SX__size2(std::string ** err_msg, casadi::SX* obj);
-int
-    casadi__SX__size2(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        int ret = obj->size2();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sparsity" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::sparsity"
-// cWrapperName: "casadi__SX__sparsity"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__SX__sparsity(std::string ** err_msg, casadi::SX* obj)"
-// call: "        casadi::Sparsity ret = obj->sparsity();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__SX__sparsity(std::string ** err_msg, casadi::SX* obj);
-casadi::Sparsity*
-    casadi__SX__sparsity(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        casadi::Sparsity ret = obj->sparsity();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::sym"
-// cWrapperName: "casadi__SX__sym__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
-// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
-// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi__SX__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4)"
-// call: "        std::vector< std::vector< casadi::SX > > ret = casadi::SX::sym(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< std::vector< casadi::SX* >* >*
-    casadi__SX__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4);
-std::vector< std::vector< casadi::SX* >* >*
-    casadi__SX__sym__0(std::string ** err_msg, std::string* x0, int x1, int x2, int x3, int x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-        int x4_ = Marshaling<int,int>::marshal(x4);
-
-        std::vector< std::vector< casadi::SX > > ret = casadi::SX::sym(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::sym"
-// cWrapperName: "casadi__SX__sym__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
-// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
-// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi__SX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3)"
-// call: "        std::vector< std::vector< casadi::SX > > ret = casadi::SX::sym(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< std::vector< casadi::SX* >* >*
-    casadi__SX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3);
-std::vector< std::vector< casadi::SX* >* >*
-    casadi__SX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2, int x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        std::vector< std::vector< casadi::SX > > ret = casadi::SX::sym(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::sym"
-// cWrapperName: "casadi__SX__sym__2"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi__SX__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3)"
-// call: "        std::vector< casadi::SX > ret = casadi::SX::sym(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< casadi::SX* >*
-    casadi__SX__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3);
-std::vector< casadi::SX* >*
-    casadi__SX__sym__2(std::string ** err_msg, std::string* x0, int x1, int x2, int x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        std::vector< casadi::SX > ret = casadi::SX::sym(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::sym"
-// cWrapperName: "casadi__SX__sym__3"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi__SX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2)"
-// call: "        std::vector< casadi::SX > ret = casadi::SX::sym(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< casadi::SX* >*
-    casadi__SX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2);
-std::vector< casadi::SX* >*
-    casadi__SX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< casadi::SX > ret = casadi::SX::sym(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::sym"
-// cWrapperName: "casadi__SX__sym__4"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
-// call: "        casadi::SX ret = casadi::SX::sym(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
-casadi::SX*
-    casadi__SX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::sym(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::sym"
-// cWrapperName: "casadi__SX__sym__5"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1)"
-// call: "        casadi::SX ret = casadi::SX::sym(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1);
-casadi::SX*
-    casadi__SX__sym__5(std::string ** err_msg, std::string* x0, std::pair< int, int >* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::sym(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::sym"
-// cWrapperName: "casadi__SX__sym__6"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__sym__6(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::SX ret = casadi::SX::sym(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__sym__6(std::string ** err_msg, std::string* x0);
-casadi::SX*
-    casadi__SX__sym__6(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::sym(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::sym"
-// cWrapperName: "casadi__SX__sym__7"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__sym__7(std::string ** err_msg, std::string* x0, int x1)"
-// call: "        casadi::SX ret = casadi::SX::sym(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__sym__7(std::string ** err_msg, std::string* x0, int x1);
-casadi::SX*
-    casadi__SX__sym__7(std::string ** err_msg, std::string* x0, int x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::sym(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "sym" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::sym"
-// cWrapperName: "casadi__SX__sym__8"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2)"
-// call: "        casadi::SX ret = casadi::SX::sym(x0_, x1_, x2_);"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2);
-casadi::SX*
-    casadi__SX__sym__8(std::string ** err_msg, std::string* x0, int x1, int x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::sym(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::tang"
-// cWrapperName: "casadi__SX__tang__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__tang__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2)"
-// call: "        casadi::SX ret = casadi::SX::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__tang__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2);
-casadi::SX*
-    casadi__SX__tang__0(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::tang"
-// cWrapperName: "casadi__SX__tang__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__tang__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2)"
-// call: "        casadi::SX ret = casadi::SX::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__tang__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2);
-casadi::SX*
-    casadi__SX__tang__1(std::string ** err_msg, casadi::Function* x0, int x1, std::string* x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::tang"
-// cWrapperName: "casadi__SX__tang__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__tang__2(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// call: "        casadi::SX ret = casadi::SX::tang(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__tang__2(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::SX*
-    casadi__SX__tang__2(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::tang(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::tang"
-// cWrapperName: "casadi__SX__tang__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__tang__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2)"
-// call: "        casadi::SX ret = casadi::SX::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__tang__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2);
-casadi::SX*
-    casadi__SX__tang__3(std::string ** err_msg, casadi::Function* x0, std::string* x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::tang"
-// cWrapperName: "casadi__SX__tang__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__tang__4(std::string ** err_msg, casadi::Function* x0)"
-// call: "        casadi::SX ret = casadi::SX::tang(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__tang__4(std::string ** err_msg, casadi::Function* x0);
-casadi::SX*
-    casadi__SX__tang__4(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::tang(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::tang"
-// cWrapperName: "casadi__SX__tang__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__tang__5(std::string ** err_msg, casadi::Function* x0, int x1)"
-// call: "        casadi::SX ret = casadi::SX::tang(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__tang__5(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::SX*
-    casadi__SX__tang__5(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::tang(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "tang" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::tang"
-// cWrapperName: "casadi__SX__tang__6"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__tang__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// call: "        casadi::SX ret = casadi::SX::tang(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__tang__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::SX*
-    casadi__SX__tang__6(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::tang(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "triplet" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::triplet"
-// cWrapperName: "casadi__SX__triplet__0"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, std::pair< int, int >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, std::pair< int, int >* x3)"
-// call: "        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, std::pair< int, int >* x3);
-casadi::SX*
-    casadi__SX__triplet__0(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, std::pair< int, int >* x3){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-        std::pair< int, int > x3_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x3);
-
-        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "triplet" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::triplet"
-// cWrapperName: "casadi__SX__triplet__1"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, int x3, int x4)"
-// call: "        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, int x3, int x4);
-casadi::SX*
-    casadi__SX__triplet__1(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2, int x3, int x4){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-        int x4_ = Marshaling<int,int>::marshal(x4);
-
-        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "triplet" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::triplet"
-// cWrapperName: "casadi__SX__triplet__2"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2)"
-// call: "        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2);
-casadi::SX*
-    casadi__SX__triplet__2(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, casadi::SX* x2){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "type_name" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::type_name"
-// cWrapperName: "casadi__SX__type_name"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__SX__type_name(std::string ** err_msg)"
-// call: "        std::string ret = casadi::SX::type_name();"
-// params: []
-extern "C"
-std::string*
-    casadi__SX__type_name(std::string ** err_msg);
-std::string*
-    casadi__SX__type_name(std::string ** err_msg){
-    try {
-
-        std::string ret = casadi::SX::type_name();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "unary" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::unary"
-// cWrapperName: "casadi__SX__unary"
-// protoArgs: "(std::string ** err_msg, int x0, casadi::SX* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__unary(std::string ** err_msg, int x0, casadi::SX* x1)"
-// call: "        casadi::SX ret = casadi::SX::unary(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__unary(std::string ** err_msg, int x0, casadi::SX* x1);
-casadi::SX*
-    casadi__SX__unary(std::string ** err_msg, int x0, casadi::SX* x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::unary(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::zeros"
-// cWrapperName: "casadi__SX__zeros__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__zeros__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::SX ret = casadi::SX::zeros(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__zeros__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::SX*
-    casadi__SX__zeros__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::zeros(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::zeros"
-// cWrapperName: "casadi__SX__zeros__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
-// call: "        casadi::SX ret = casadi::SX::zeros(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::SX*
-    casadi__SX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::zeros(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::zeros"
-// cWrapperName: "casadi__SX__zeros__2"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__zeros__2(std::string ** err_msg)"
-// call: "        casadi::SX ret = casadi::SX::zeros();"
-// params: []
-extern "C"
-casadi::SX*
-    casadi__SX__zeros__2(std::string ** err_msg);
-casadi::SX*
-    casadi__SX__zeros__2(std::string ** err_msg){
-    try {
-
-        casadi::SX ret = casadi::SX::zeros();
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::zeros"
-// cWrapperName: "casadi__SX__zeros__3"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__zeros__3(std::string ** err_msg, int x0)"
-// call: "        casadi::SX ret = casadi::SX::zeros(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__zeros__3(std::string ** err_msg, int x0);
-casadi::SX*
-    casadi__SX__zeros__3(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::SX ret = casadi::SX::zeros(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::zeros"
-// cWrapperName: "casadi__SX__zeros__4"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__zeros__4(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::SX ret = casadi::SX::zeros(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::SX*
-    casadi__SX__zeros__4(std::string ** err_msg, int x0, int x1);
-casadi::SX*
-    casadi__SX__zeros__4(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::SX ret = casadi::SX::zeros(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getRepresentation" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::getRepresentation"
-// cWrapperName: "casadi__SX__getRepresentation"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__SX__getRepresentation(std::string ** err_msg, casadi::SX* obj)"
-// call: "        std::string ret = obj->getRepresentation();"
-// params: []
-extern "C"
-std::string*
-    casadi__SX__getRepresentation(std::string ** err_msg, casadi::SX* obj);
-std::string*
-    casadi__SX__getRepresentation(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        std::string ret = obj->getRepresentation();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getDescription" ===============
-// class: "casadi::SX"
-// cppName: "casadi::SX::getDescription"
-// cWrapperName: "casadi__SX__getDescription"
-// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__SX__getDescription(std::string ** err_msg, casadi::SX* obj)"
-// call: "        std::string ret = obj->getDescription();"
-// params: []
-extern "C"
-std::string*
-    casadi__SX__getDescription(std::string ** err_msg, casadi::SX* obj);
-std::string*
-    casadi__SX__getDescription(std::string ** err_msg, casadi::SX* obj){
-    try {
-
-        std::string ret = obj->getDescription();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "SXElem")===============
-// classType: UserType (Namespace ["casadi"]) (Name "SXElem")
-extern "C"
-void delete_casadi__SXElem(casadi::SXElem* obj);
-void delete_casadi__SXElem(casadi::SXElem* obj){
-    delete obj;
-}
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "SharedObject")===============
-// classType: UserType (Namespace ["casadi"]) (Name "SharedObject")
-extern "C"
-void delete_casadi__SharedObject(casadi::SharedObject* obj);
-void delete_casadi__SharedObject(casadi::SharedObject* obj){
-    delete obj;
-}
-
-// ================== Normal method: "__hash__" ===============
-// class: "casadi::SharedObject"
-// cppName: "casadi::SharedObject::__hash__"
-// cWrapperName: "casadi__SharedObject____hash__"
-// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
-// args: "()"
-// rettype: CSize
-// cWrapperRetType: "size_t"
-// proto: "size_t\n    casadi__SharedObject____hash__(std::string ** err_msg, casadi::SharedObject* obj)"
-// call: "        size_t ret = obj->__hash__();"
-// params: []
-extern "C"
-size_t
-    casadi__SharedObject____hash__(std::string ** err_msg, casadi::SharedObject* obj);
-size_t
-    casadi__SharedObject____hash__(std::string ** err_msg, casadi::SharedObject* obj){
-    try {
-
-        size_t ret = obj->__hash__();
-
-        return WrapReturn< size_t, size_t >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_null" ===============
-// class: "casadi::SharedObject"
-// cppName: "casadi::SharedObject::is_null"
-// cWrapperName: "casadi__SharedObject__is_null"
-// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__SharedObject__is_null(std::string ** err_msg, casadi::SharedObject* obj)"
-// call: "        bool ret = obj->is_null();"
-// params: []
-extern "C"
-int
-    casadi__SharedObject__is_null(std::string ** err_msg, casadi::SharedObject* obj);
-int
-    casadi__SharedObject__is_null(std::string ** err_msg, casadi::SharedObject* obj){
-    try {
-
-        bool ret = obj->is_null();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "printPtr" ===============
-// class: "casadi::SharedObject"
-// cppName: "casadi::SharedObject::printPtr"
-// cWrapperName: "casadi__SharedObject__printPtr"
-// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__SharedObject__printPtr(std::string ** err_msg, casadi::SharedObject* obj)"
-// call: "        obj->printPtr();"
-// params: []
-extern "C"
-void
-    casadi__SharedObject__printPtr(std::string ** err_msg, casadi::SharedObject* obj);
-void
-    casadi__SharedObject__printPtr(std::string ** err_msg, casadi::SharedObject* obj){
-    try {
-
-        obj->printPtr();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "getRepresentation" ===============
-// class: "casadi::SharedObject"
-// cppName: "casadi::SharedObject::getRepresentation"
-// cWrapperName: "casadi__SharedObject__getRepresentation"
-// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__SharedObject__getRepresentation(std::string ** err_msg, casadi::SharedObject* obj)"
-// call: "        std::string ret = obj->getRepresentation();"
-// params: []
-extern "C"
-std::string*
-    casadi__SharedObject__getRepresentation(std::string ** err_msg, casadi::SharedObject* obj);
-std::string*
-    casadi__SharedObject__getRepresentation(std::string ** err_msg, casadi::SharedObject* obj){
-    try {
-
-        std::string ret = obj->getRepresentation();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getDescription" ===============
-// class: "casadi::SharedObject"
-// cppName: "casadi::SharedObject::getDescription"
-// cWrapperName: "casadi__SharedObject__getDescription"
-// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__SharedObject__getDescription(std::string ** err_msg, casadi::SharedObject* obj)"
-// call: "        std::string ret = obj->getDescription();"
-// params: []
-extern "C"
-std::string*
-    casadi__SharedObject__getDescription(std::string ** err_msg, casadi::SharedObject* obj);
-std::string*
-    casadi__SharedObject__getDescription(std::string ** err_msg, casadi::SharedObject* obj){
-    try {
-
-        std::string ret = obj->getDescription();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "Slice")===============
-// classType: UserType (Namespace ["casadi"]) (Name "Slice")
-extern "C"
-void delete_casadi__Slice(casadi::Slice* obj);
-void delete_casadi__Slice(casadi::Slice* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Slice"
-// cppName: "casadi::Slice"
-// cWrapperName: "casadi__Slice__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
-// cWrapperRetType: "casadi::Slice*"
-// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__0(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Slice*
-    casadi__Slice__CONSTRUCTOR__0(std::string ** err_msg, int x0, int x1);
-casadi::Slice*
-    casadi__Slice__CONSTRUCTOR__0(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Slice"
-// cppName: "casadi::Slice"
-// cWrapperName: "casadi__Slice__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg, int x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
-// cWrapperRetType: "casadi::Slice*"
-// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__1(std::string ** err_msg, int x0, int x1, int x2)"
-// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Slice*
-    casadi__Slice__CONSTRUCTOR__1(std::string ** err_msg, int x0, int x1, int x2);
-casadi::Slice*
-    casadi__Slice__CONSTRUCTOR__1(std::string ** err_msg, int x0, int x1, int x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Slice"
-// cppName: "casadi::Slice"
-// cWrapperName: "casadi__Slice__CONSTRUCTOR__2"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
-// cWrapperRetType: "casadi::Slice*"
-// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__2(std::string ** err_msg, int x0)"
-// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Slice*
-    casadi__Slice__CONSTRUCTOR__2(std::string ** err_msg, int x0);
-casadi::Slice*
-    casadi__Slice__CONSTRUCTOR__2(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Slice"
-// cppName: "casadi::Slice"
-// cWrapperName: "casadi__Slice__CONSTRUCTOR__3"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
-// cWrapperRetType: "casadi::Slice*"
-// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__3(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Slice*
-    casadi__Slice__CONSTRUCTOR__3(std::string ** err_msg, int x0, int x1);
-casadi::Slice*
-    casadi__Slice__CONSTRUCTOR__3(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Slice"
-// cppName: "casadi::Slice"
-// cWrapperName: "casadi__Slice__CONSTRUCTOR__4"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
-// cWrapperRetType: "casadi::Slice*"
-// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__4(std::string ** err_msg)"
-// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice();"
-// params: []
-extern "C"
-casadi::Slice*
-    casadi__Slice__CONSTRUCTOR__4(std::string ** err_msg);
-casadi::Slice*
-    casadi__Slice__CONSTRUCTOR__4(std::string ** err_msg){
-    try {
-
-        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "all" ===============
-// class: "casadi::Slice"
-// cppName: "casadi::Slice::all"
-// cWrapperName: "casadi__Slice__all__0"
-// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Slice__all__0(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, int x1)"
-// call: "        std::vector< int > ret = obj->all(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-std::vector< int >*
-    casadi__Slice__all__0(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, int x1);
-std::vector< int >*
-    casadi__Slice__all__0(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, int x1){
-    try {
-        casadi::Slice& x0_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< int > ret = obj->all(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "all" ===============
-// class: "casadi::Slice"
-// cppName: "casadi::Slice::all"
-// cWrapperName: "casadi__Slice__all__1"
-// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, int x0)"
-// args: "(x0_)"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Slice__all__1(std::string ** err_msg, casadi::Slice* obj, int x0)"
-// call: "        std::vector< int > ret = obj->all(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-std::vector< int >*
-    casadi__Slice__all__1(std::string ** err_msg, casadi::Slice* obj, int x0);
-std::vector< int >*
-    casadi__Slice__all__1(std::string ** err_msg, casadi::Slice* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::vector< int > ret = obj->all(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "all" ===============
-// class: "casadi::Slice"
-// cppName: "casadi::Slice::all"
-// cWrapperName: "casadi__Slice__all__2"
-// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Slice__all__2(std::string ** err_msg, casadi::Slice* obj, int x0, int x1)"
-// call: "        std::vector< int > ret = obj->all(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-std::vector< int >*
-    casadi__Slice__all__2(std::string ** err_msg, casadi::Slice* obj, int x0, int x1);
-std::vector< int >*
-    casadi__Slice__all__2(std::string ** err_msg, casadi::Slice* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        std::vector< int > ret = obj->all(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_scalar" ===============
-// class: "casadi::Slice"
-// cppName: "casadi::Slice::is_scalar"
-// cWrapperName: "casadi__Slice__is_scalar"
-// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, int x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Slice__is_scalar(std::string ** err_msg, casadi::Slice* obj, int x0)"
-// call: "        bool ret = obj->is_scalar(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Slice__is_scalar(std::string ** err_msg, casadi::Slice* obj, int x0);
-int
-    casadi__Slice__is_scalar(std::string ** err_msg, casadi::Slice* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        bool ret = obj->is_scalar(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator !=" ===============
-// class: "casadi::Slice"
-// cppName: "casadi::Slice::operator !="
-// cWrapperName: "casadi__Slice__operator__nequals"
-// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Slice__operator__nequals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
-// call: "        bool ret = obj->operator !=(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-int
-    casadi__Slice__operator__nequals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0);
-int
-    casadi__Slice__operator__nequals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0){
-    try {
-        casadi::Slice& x0_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x0);
-
-        bool ret = obj->operator !=(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator ==" ===============
-// class: "casadi::Slice"
-// cppName: "casadi::Slice::operator =="
-// cWrapperName: "casadi__Slice__operator__equals"
-// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Slice__operator__equals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
-// call: "        bool ret = obj->operator ==(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
-extern "C"
-int
-    casadi__Slice__operator__equals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0);
-int
-    casadi__Slice__operator__equals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0){
-    try {
-        casadi::Slice& x0_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x0);
-
-        bool ret = obj->operator ==(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "scalar" ===============
-// class: "casadi::Slice"
-// cppName: "casadi::Slice::scalar"
-// cWrapperName: "casadi__Slice__scalar"
-// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Slice__scalar(std::string ** err_msg, casadi::Slice* obj, int x0)"
-// call: "        int ret = obj->scalar(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Slice__scalar(std::string ** err_msg, casadi::Slice* obj, int x0);
-int
-    casadi__Slice__scalar(std::string ** err_msg, casadi::Slice* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->scalar(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getRepresentation" ===============
-// class: "casadi::Slice"
-// cppName: "casadi::Slice::getRepresentation"
-// cWrapperName: "casadi__Slice__getRepresentation"
-// protoArgs: "(std::string ** err_msg, casadi::Slice* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Slice__getRepresentation(std::string ** err_msg, casadi::Slice* obj)"
-// call: "        std::string ret = obj->getRepresentation();"
-// params: []
-extern "C"
-std::string*
-    casadi__Slice__getRepresentation(std::string ** err_msg, casadi::Slice* obj);
-std::string*
-    casadi__Slice__getRepresentation(std::string ** err_msg, casadi::Slice* obj){
-    try {
-
-        std::string ret = obj->getRepresentation();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getDescription" ===============
-// class: "casadi::Slice"
-// cppName: "casadi::Slice::getDescription"
-// cWrapperName: "casadi__Slice__getDescription"
-// protoArgs: "(std::string ** err_msg, casadi::Slice* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Slice__getDescription(std::string ** err_msg, casadi::Slice* obj)"
-// call: "        std::string ret = obj->getDescription();"
-// params: []
-extern "C"
-std::string*
-    casadi__Slice__getDescription(std::string ** err_msg, casadi::Slice* obj);
-std::string*
-    casadi__Slice__getDescription(std::string ** err_msg, casadi::Slice* obj){
-    try {
-
-        std::string ret = obj->getDescription();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "Sparsity")===============
-// classType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-extern "C"
-void delete_casadi__Sparsity(casadi::Sparsity* obj);
-void delete_casadi__Sparsity(casadi::Sparsity* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity"
-// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity"
-// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__1(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_, x2_, x3_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__1(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__1(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-
-        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity"
-// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__2"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__2(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__2(std::string ** err_msg, int x0, int x1);
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__2(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity"
-// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__3"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__3(std::string ** err_msg)"
-// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__3(std::string ** err_msg);
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__3(std::string ** err_msg){
-    try {
-
-        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity"
-// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__4"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__4(std::string ** err_msg, int x0)"
-// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__4(std::string ** err_msg, int x0);
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__4(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "T" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::T"
-// cWrapperName: "casadi__Sparsity__T"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__T(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        casadi::Sparsity ret = obj->T();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__T(std::string ** err_msg, casadi::Sparsity* obj);
-casadi::Sparsity*
-    casadi__Sparsity__T(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        casadi::Sparsity ret = obj->T();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "add_nz" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::add_nz"
-// cWrapperName: "casadi__Sparsity__add_nz"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__add_nz(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
-// call: "        int ret = obj->add_nz(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__add_nz(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1);
-int
-    casadi__Sparsity__add_nz(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        int ret = obj->add_nz(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "append" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::append"
-// cWrapperName: "casadi__Sparsity__append"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__append(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// call: "        obj->append(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-void
-    casadi__Sparsity__append(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
-void
-    casadi__Sparsity__append(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        obj->append(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "appendColumns" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::appendColumns"
-// cWrapperName: "casadi__Sparsity__appendColumns"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__appendColumns(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// call: "        obj->appendColumns(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-void
-    casadi__Sparsity__appendColumns(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
-void
-    casadi__Sparsity__appendColumns(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        obj->appendColumns(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "band" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::band"
-// cWrapperName: "casadi__Sparsity__band"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__band(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::band(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__band(std::string ** err_msg, int x0, int x1);
-casadi::Sparsity*
-    casadi__Sparsity__band(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Sparsity ret = casadi::Sparsity::band(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "banded" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::banded"
-// cWrapperName: "casadi__Sparsity__banded"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__banded(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::banded(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__banded(std::string ** err_msg, int x0, int x1);
-casadi::Sparsity*
-    casadi__Sparsity__banded(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Sparsity ret = casadi::Sparsity::banded(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "btf" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::btf"
-// cWrapperName: "casadi__Sparsity__btf__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1, std::vector< int >** x2, std::vector< int >** x3, std::vector< int >** x4, std::vector< int >** x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__btf__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1, std::vector< int >** x2, std::vector< int >** x3, std::vector< int >** x4, std::vector< int >** x5)"
-// call: "        int ret = obj->btf(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(Ref (StdVec CInt),SwigOutput True),(Ref (StdVec CInt),SwigOutput True),(Ref (StdVec CInt),SwigOutput True),(Ref (StdVec CInt),SwigOutput True),(Ref (StdVec CInt),SwigOutput True),(Ref (StdVec CInt),SwigOutput True)]
-extern "C"
-int
-    casadi__Sparsity__btf__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1, std::vector< int >** x2, std::vector< int >** x3, std::vector< int >** x4, std::vector< int >** x5);
-int
-    casadi__Sparsity__btf__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1, std::vector< int >** x2, std::vector< int >** x3, std::vector< int >** x4, std::vector< int >** x5){
-    try {
-        std::vector< int > x0_ = std::vector< int >();  // Swig output
-        std::vector< int > x1_ = std::vector< int >();  // Swig output
-        std::vector< int > x2_ = std::vector< int >();  // Swig output
-        std::vector< int > x3_ = std::vector< int >();  // Swig output
-        std::vector< int > x4_ = std::vector< int >();  // Swig output
-        std::vector< int > x5_ = std::vector< int >();  // Swig output
-
-        int ret = obj->btf(x0_, x1_, x2_, x3_, x4_, x5_);
-        *x0 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x0_ );
-        *x1 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x1_ );
-        *x2 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x2_ );
-        *x3 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x3_ );
-        *x4 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x4_ );
-        *x5 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x5_ );
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "btf" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::btf"
-// cWrapperName: "casadi__Sparsity__btf__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1, std::vector< int >** x2, std::vector< int >** x3, std::vector< int >** x4, std::vector< int >** x5, int x6)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__btf__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1, std::vector< int >** x2, std::vector< int >** x3, std::vector< int >** x4, std::vector< int >** x5, int x6)"
-// call: "        int ret = obj->btf(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
-// params: [(Ref (StdVec CInt),SwigOutput True),(Ref (StdVec CInt),SwigOutput True),(Ref (StdVec CInt),SwigOutput True),(Ref (StdVec CInt),SwigOutput True),(Ref (StdVec CInt),SwigOutput True),(Ref (StdVec CInt),SwigOutput True),(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__btf__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1, std::vector< int >** x2, std::vector< int >** x3, std::vector< int >** x4, std::vector< int >** x5, int x6);
-int
-    casadi__Sparsity__btf__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1, std::vector< int >** x2, std::vector< int >** x3, std::vector< int >** x4, std::vector< int >** x5, int x6){
-    try {
-        std::vector< int > x0_ = std::vector< int >();  // Swig output
-        std::vector< int > x1_ = std::vector< int >();  // Swig output
-        std::vector< int > x2_ = std::vector< int >();  // Swig output
-        std::vector< int > x3_ = std::vector< int >();  // Swig output
-        std::vector< int > x4_ = std::vector< int >();  // Swig output
-        std::vector< int > x5_ = std::vector< int >();  // Swig output
-        int x6_ = Marshaling<int,int>::marshal(x6);
-
-        int ret = obj->btf(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
-        *x0 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x0_ );
-        *x1 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x1_ );
-        *x2 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x2_ );
-        *x3 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x3_ );
-        *x4 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x4_ );
-        *x5 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x5_ );
-        // x6 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "bw_lower" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::bw_lower"
-// cWrapperName: "casadi__Sparsity__bw_lower"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__bw_lower(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        int ret = obj->bw_lower();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__bw_lower(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__bw_lower(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        int ret = obj->bw_lower();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "bw_upper" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::bw_upper"
-// cWrapperName: "casadi__Sparsity__bw_upper"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__bw_upper(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        int ret = obj->bw_upper();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__bw_upper(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__bw_upper(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        int ret = obj->bw_upper();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "colind" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::colind"
-// cWrapperName: "casadi__Sparsity__colind"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__colind(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// call: "        int ret = obj->colind(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__colind(std::string ** err_msg, casadi::Sparsity* obj, int x0);
-int
-    casadi__Sparsity__colind(std::string ** err_msg, casadi::Sparsity* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->colind(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "combine" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::combine"
-// cWrapperName: "casadi__Sparsity__combine"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__combine(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2)"
-// call: "        casadi::Sparsity ret = obj->combine(x0_, x1_, x2_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__combine(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2);
-casadi::Sparsity*
-    casadi__Sparsity__combine(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::Sparsity ret = obj->combine(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "compress" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::compress"
-// cWrapperName: "casadi__Sparsity__compress"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__compress(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        std::vector< int > ret = obj->compress();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__compress(std::string ** err_msg, casadi::Sparsity* obj);
-std::vector< int >*
-    casadi__Sparsity__compress(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        std::vector< int > ret = obj->compress();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "compressed" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::compressed"
-// cWrapperName: "casadi__Sparsity__compressed"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__compressed(std::string ** err_msg, std::vector< int >* x0)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::compressed(x0_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__compressed(std::string ** err_msg, std::vector< int >* x0);
-casadi::Sparsity*
-    casadi__Sparsity__compressed(std::string ** err_msg, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        casadi::Sparsity ret = casadi::Sparsity::compressed(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "dense" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::dense"
-// cWrapperName: "casadi__Sparsity__dense__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__dense__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::dense(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__dense__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::Sparsity*
-    casadi__Sparsity__dense__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::Sparsity ret = casadi::Sparsity::dense(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "dense" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::dense"
-// cWrapperName: "casadi__Sparsity__dense__1"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__dense__1(std::string ** err_msg, int x0)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::dense(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__dense__1(std::string ** err_msg, int x0);
-casadi::Sparsity*
-    casadi__Sparsity__dense__1(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Sparsity ret = casadi::Sparsity::dense(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "dense" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::dense"
-// cWrapperName: "casadi__Sparsity__dense__2"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__dense__2(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::dense(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__dense__2(std::string ** err_msg, int x0, int x1);
-casadi::Sparsity*
-    casadi__Sparsity__dense__2(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Sparsity ret = casadi::Sparsity::dense(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "dfs" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::dfs"
-// cWrapperName: "casadi__Sparsity__dfs"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__dfs(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5)"
-// call: "        int ret = obj->dfs(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (StdVec CInt),SwigOutput False),(Ref (StdVec CInt),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (StdVec CBool),SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__dfs(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5);
-int
-    casadi__Sparsity__dfs(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, std::vector< int >* x5){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
-        std::vector< bool > x5_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x5);
-
-        int ret = obj->dfs(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "diag" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::diag"
-// cWrapperName: "casadi__Sparsity__diag__0"
-// protoArgs: "(std::string ** err_msg, std::pair< int, int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__diag__0(std::string ** err_msg, std::pair< int, int >* x0)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::diag(x0_);"
-// params: [(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__diag__0(std::string ** err_msg, std::pair< int, int >* x0);
-casadi::Sparsity*
-    casadi__Sparsity__diag__0(std::string ** err_msg, std::pair< int, int >* x0){
-    try {
-        std::pair< int, int > x0_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x0);
-
-        casadi::Sparsity ret = casadi::Sparsity::diag(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "diag" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::diag"
-// cWrapperName: "casadi__Sparsity__diag__1"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__diag__1(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::diag(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__diag__1(std::string ** err_msg, int x0, int x1);
-casadi::Sparsity*
-    casadi__Sparsity__diag__1(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Sparsity ret = casadi::Sparsity::diag(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "diag" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::diag"
-// cWrapperName: "casadi__Sparsity__diag__2"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__diag__2(std::string ** err_msg, int x0)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::diag(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__diag__2(std::string ** err_msg, int x0);
-casadi::Sparsity*
-    casadi__Sparsity__diag__2(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Sparsity ret = casadi::Sparsity::diag(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "dim" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::dim"
-// cWrapperName: "casadi__Sparsity__dim"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Sparsity__dim(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        std::string ret = obj->dim();"
-// params: []
-extern "C"
-std::string*
-    casadi__Sparsity__dim(std::string ** err_msg, casadi::Sparsity* obj);
-std::string*
-    casadi__Sparsity__dim(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        std::string ret = obj->dim();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "enlarge" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::enlarge"
-// cWrapperName: "casadi__Sparsity__enlarge__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__enlarge__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__Sparsity__enlarge__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
-void
-    casadi__Sparsity__enlarge__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-
-        obj->enlarge(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "enlarge" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::enlarge"
-// cWrapperName: "casadi__Sparsity__enlarge__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__enlarge__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4)"
-// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Sparsity__enlarge__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4);
-void
-    casadi__Sparsity__enlarge__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, int x4){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-        bool x4_ = Marshaling<bool,int>::marshal(x4);
-
-        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "enlargeColumns" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::enlargeColumns"
-// cWrapperName: "casadi__Sparsity__enlargeColumns__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__enlargeColumns__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1)"
-// call: "        obj->enlargeColumns(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__Sparsity__enlargeColumns__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1);
-void
-    casadi__Sparsity__enlargeColumns__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        obj->enlargeColumns(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "enlargeColumns" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::enlargeColumns"
-// cWrapperName: "casadi__Sparsity__enlargeColumns__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__enlargeColumns__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2)"
-// call: "        obj->enlargeColumns(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Sparsity__enlargeColumns__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2);
-void
-    casadi__Sparsity__enlargeColumns__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->enlargeColumns(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "enlargeRows" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::enlargeRows"
-// cWrapperName: "casadi__Sparsity__enlargeRows__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__enlargeRows__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1)"
-// call: "        obj->enlargeRows(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-void
-    casadi__Sparsity__enlargeRows__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1);
-void
-    casadi__Sparsity__enlargeRows__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        obj->enlargeRows(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "enlargeRows" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::enlargeRows"
-// cWrapperName: "casadi__Sparsity__enlargeRows__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__enlargeRows__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2)"
-// call: "        obj->enlargeRows(x0_, x1_, x2_);"
-// params: [(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Sparsity__enlargeRows__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2);
-void
-    casadi__Sparsity__enlargeRows__1(std::string ** err_msg, casadi::Sparsity* obj, int x0, std::vector< int >* x1, int x2){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        obj->enlargeRows(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::erase"
-// cWrapperName: "casadi__Sparsity__erase__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
-// args: "(x0_)"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__erase__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
-// call: "        std::vector< int > ret = obj->erase(x0_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__erase__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0);
-std::vector< int >*
-    casadi__Sparsity__erase__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        std::vector< int > ret = obj->erase(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::erase"
-// cWrapperName: "casadi__Sparsity__erase__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__erase__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1)"
-// call: "        std::vector< int > ret = obj->erase(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__erase__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1);
-std::vector< int >*
-    casadi__Sparsity__erase__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        std::vector< int > ret = obj->erase(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::erase"
-// cWrapperName: "casadi__Sparsity__erase__2"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__erase__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// call: "        std::vector< int > ret = obj->erase(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__erase__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1);
-std::vector< int >*
-    casadi__Sparsity__erase__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< int > ret = obj->erase(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::erase"
-// cWrapperName: "casadi__Sparsity__erase__3"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__erase__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, int x2)"
-// call: "        std::vector< int > ret = obj->erase(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__erase__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, int x2);
-std::vector< int >*
-    casadi__Sparsity__erase__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, int x2){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        std::vector< int > ret = obj->erase(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "etree" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::etree"
-// cWrapperName: "casadi__Sparsity__etree__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__etree__0(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        std::vector< int > ret = obj->etree();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__etree__0(std::string ** err_msg, casadi::Sparsity* obj);
-std::vector< int >*
-    casadi__Sparsity__etree__0(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        std::vector< int > ret = obj->etree();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "etree" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::etree"
-// cWrapperName: "casadi__Sparsity__etree__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__etree__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// call: "        std::vector< int > ret = obj->etree(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__etree__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
-std::vector< int >*
-    casadi__Sparsity__etree__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        std::vector< int > ret = obj->etree(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "find" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::find"
-// cWrapperName: "casadi__Sparsity__find__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__find__0(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        std::vector< int > ret = obj->find();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__find__0(std::string ** err_msg, casadi::Sparsity* obj);
-std::vector< int >*
-    casadi__Sparsity__find__0(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        std::vector< int > ret = obj->find();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "find" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::find"
-// cWrapperName: "casadi__Sparsity__find__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__find__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// call: "        std::vector< int > ret = obj->find(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__find__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
-std::vector< int >*
-    casadi__Sparsity__find__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        std::vector< int > ret = obj->find(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_ccs" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::get_ccs"
-// cWrapperName: "casadi__Sparsity__get_ccs"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__get_ccs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1)"
-// call: "        obj->get_ccs(x0_, x1_);"
-// params: [(Ref (StdVec CInt),SwigOutput True),(Ref (StdVec CInt),SwigOutput True)]
-extern "C"
-void
-    casadi__Sparsity__get_ccs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1);
-void
-    casadi__Sparsity__get_ccs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1){
-    try {
-        std::vector< int > x0_ = std::vector< int >();  // Swig output
-        std::vector< int > x1_ = std::vector< int >();  // Swig output
-
-        obj->get_ccs(x0_, x1_);
-        *x0 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x0_ );
-        *x1 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x1_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get_col" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::get_col"
-// cWrapperName: "casadi__Sparsity__get_col"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__get_col(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        std::vector< int > ret = obj->get_col();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__get_col(std::string ** err_msg, casadi::Sparsity* obj);
-std::vector< int >*
-    casadi__Sparsity__get_col(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        std::vector< int > ret = obj->get_col();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_colind" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::get_colind"
-// cWrapperName: "casadi__Sparsity__get_colind"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__get_colind(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        std::vector< int > ret = obj->get_colind();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__get_colind(std::string ** err_msg, casadi::Sparsity* obj);
-std::vector< int >*
-    casadi__Sparsity__get_colind(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        std::vector< int > ret = obj->get_colind();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_crs" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::get_crs"
-// cWrapperName: "casadi__Sparsity__get_crs"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__get_crs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1)"
-// call: "        obj->get_crs(x0_, x1_);"
-// params: [(Ref (StdVec CInt),SwigOutput True),(Ref (StdVec CInt),SwigOutput True)]
-extern "C"
-void
-    casadi__Sparsity__get_crs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1);
-void
-    casadi__Sparsity__get_crs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1){
-    try {
-        std::vector< int > x0_ = std::vector< int >();  // Swig output
-        std::vector< int > x1_ = std::vector< int >();  // Swig output
-
-        obj->get_crs(x0_, x1_);
-        *x0 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x0_ );
-        *x1 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x1_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get_diag" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::get_diag"
-// cWrapperName: "casadi__Sparsity__get_diag"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__get_diag(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0)"
-// call: "        casadi::Sparsity ret = obj->get_diag(x0_);"
-// params: [(Ref (StdVec CInt),SwigOutput True)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__get_diag(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0);
-casadi::Sparsity*
-    casadi__Sparsity__get_diag(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0){
-    try {
-        std::vector< int > x0_ = std::vector< int >();  // Swig output
-
-        casadi::Sparsity ret = obj->get_diag(x0_);
-        *x0 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x0_ );
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_lower" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::get_lower"
-// cWrapperName: "casadi__Sparsity__get_lower"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__get_lower(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        std::vector< int > ret = obj->get_lower();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__get_lower(std::string ** err_msg, casadi::Sparsity* obj);
-std::vector< int >*
-    casadi__Sparsity__get_lower(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        std::vector< int > ret = obj->get_lower();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_nz" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::get_nz"
-// cWrapperName: "casadi__Sparsity__get_nz__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__get_nz__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
-// call: "        obj->get_nz(x0_);"
-// params: [(Ref (StdVec CInt),SwigOutput False)]
-extern "C"
-void
-    casadi__Sparsity__get_nz__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0);
-void
-    casadi__Sparsity__get_nz__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        obj->get_nz(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get_nz" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::get_nz"
-// cWrapperName: "casadi__Sparsity__get_nz__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// args: "(x0_, x1_)"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__get_nz__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
-// call: "        std::vector< int > ret = obj->get_nz(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__get_nz__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1);
-std::vector< int >*
-    casadi__Sparsity__get_nz__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< int > ret = obj->get_nz(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_nz" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::get_nz"
-// cWrapperName: "casadi__Sparsity__get_nz__2"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__get_nz__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
-// call: "        int ret = obj->get_nz(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__get_nz__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1);
-int
-    casadi__Sparsity__get_nz__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        int ret = obj->get_nz(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_row" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::get_row"
-// cWrapperName: "casadi__Sparsity__get_row"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__get_row(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        std::vector< int > ret = obj->get_row();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__get_row(std::string ** err_msg, casadi::Sparsity* obj);
-std::vector< int >*
-    casadi__Sparsity__get_row(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        std::vector< int > ret = obj->get_row();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "get_triplet" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::get_triplet"
-// cWrapperName: "casadi__Sparsity__get_triplet"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__get_triplet(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1)"
-// call: "        obj->get_triplet(x0_, x1_);"
-// params: [(Ref (StdVec CInt),SwigOutput True),(Ref (StdVec CInt),SwigOutput True)]
-extern "C"
-void
-    casadi__Sparsity__get_triplet(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1);
-void
-    casadi__Sparsity__get_triplet(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1){
-    try {
-        std::vector< int > x0_ = std::vector< int >();  // Swig output
-        std::vector< int > x1_ = std::vector< int >();  // Swig output
-
-        obj->get_triplet(x0_, x1_);
-        *x0 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x0_ );
-        *x1 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x1_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "get_upper" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::get_upper"
-// cWrapperName: "casadi__Sparsity__get_upper"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__get_upper(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        std::vector< int > ret = obj->get_upper();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__get_upper(std::string ** err_msg, casadi::Sparsity* obj);
-std::vector< int >*
-    casadi__Sparsity__get_upper(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        std::vector< int > ret = obj->get_upper();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has_nz" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::has_nz"
-// cWrapperName: "casadi__Sparsity__has_nz"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__has_nz(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
-// call: "        bool ret = obj->has_nz(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__has_nz(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1);
-int
-    casadi__Sparsity__has_nz(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        bool ret = obj->has_nz(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "hash" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::hash"
-// cWrapperName: "casadi__Sparsity__hash"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CSize
-// cWrapperRetType: "size_t"
-// proto: "size_t\n    casadi__Sparsity__hash(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        size_t ret = obj->hash();"
-// params: []
-extern "C"
-size_t
-    casadi__Sparsity__hash(std::string ** err_msg, casadi::Sparsity* obj);
-size_t
-    casadi__Sparsity__hash(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        size_t ret = obj->hash();
-
-        return WrapReturn< size_t, size_t >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "intersect" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::intersect"
-// cWrapperName: "casadi__Sparsity__intersect"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__intersect(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// call: "        casadi::Sparsity ret = obj->intersect(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__intersect(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
-casadi::Sparsity*
-    casadi__Sparsity__intersect(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::Sparsity ret = obj->intersect(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "isReshape" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::isReshape"
-// cWrapperName: "casadi__Sparsity__isReshape"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__isReshape(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// call: "        bool ret = obj->isReshape(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__isReshape(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
-int
-    casadi__Sparsity__isReshape(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        bool ret = obj->isReshape(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_column" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_column"
-// cWrapperName: "casadi__Sparsity__is_column"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_column(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        bool ret = obj->is_column();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__is_column(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__is_column(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        bool ret = obj->is_column();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_dense" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_dense"
-// cWrapperName: "casadi__Sparsity__is_dense"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_dense(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        bool ret = obj->is_dense();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__is_dense(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__is_dense(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        bool ret = obj->is_dense();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_diag" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_diag"
-// cWrapperName: "casadi__Sparsity__is_diag"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_diag(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        bool ret = obj->is_diag();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__is_diag(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__is_diag(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        bool ret = obj->is_diag();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_empty" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_empty"
-// cWrapperName: "casadi__Sparsity__is_empty__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_empty__0(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        bool ret = obj->is_empty();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__is_empty__0(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__is_empty__0(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        bool ret = obj->is_empty();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_empty" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_empty"
-// cWrapperName: "casadi__Sparsity__is_empty__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_empty__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// call: "        bool ret = obj->is_empty(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__is_empty__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
-int
-    casadi__Sparsity__is_empty__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        bool ret = obj->is_empty(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_equal" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_equal"
-// cWrapperName: "casadi__Sparsity__is_equal__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_equal__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// call: "        bool ret = obj->is_equal(x0_, x1_, x2_, x3_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__is_equal__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
-int
-    casadi__Sparsity__is_equal__0(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-
-        bool ret = obj->is_equal(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_equal" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_equal"
-// cWrapperName: "casadi__Sparsity__is_equal__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_equal__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// call: "        bool ret = obj->is_equal(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__is_equal__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
-int
-    casadi__Sparsity__is_equal__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        bool ret = obj->is_equal(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_row" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_row"
-// cWrapperName: "casadi__Sparsity__is_row"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_row(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        bool ret = obj->is_row();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__is_row(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__is_row(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        bool ret = obj->is_row();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_scalar" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_scalar"
-// cWrapperName: "casadi__Sparsity__is_scalar__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_scalar__0(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        bool ret = obj->is_scalar();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__is_scalar__0(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__is_scalar__0(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        bool ret = obj->is_scalar();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_scalar" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_scalar"
-// cWrapperName: "casadi__Sparsity__is_scalar__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_scalar__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// call: "        bool ret = obj->is_scalar(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__is_scalar__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
-int
-    casadi__Sparsity__is_scalar__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        bool ret = obj->is_scalar(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_singular" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_singular"
-// cWrapperName: "casadi__Sparsity__is_singular"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_singular(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        bool ret = obj->is_singular();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__is_singular(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__is_singular(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        bool ret = obj->is_singular();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_square" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_square"
-// cWrapperName: "casadi__Sparsity__is_square"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_square(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        bool ret = obj->is_square();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__is_square(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__is_square(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        bool ret = obj->is_square();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_symmetric" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_symmetric"
-// cWrapperName: "casadi__Sparsity__is_symmetric"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_symmetric(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        bool ret = obj->is_symmetric();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__is_symmetric(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__is_symmetric(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        bool ret = obj->is_symmetric();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_transpose" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_transpose"
-// cWrapperName: "casadi__Sparsity__is_transpose"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_transpose(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// call: "        bool ret = obj->is_transpose(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__is_transpose(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
-int
-    casadi__Sparsity__is_transpose(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        bool ret = obj->is_transpose(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_tril" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_tril"
-// cWrapperName: "casadi__Sparsity__is_tril"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_tril(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        bool ret = obj->is_tril();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__is_tril(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__is_tril(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        bool ret = obj->is_tril();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_triu" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_triu"
-// cWrapperName: "casadi__Sparsity__is_triu"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_triu(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        bool ret = obj->is_triu();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__is_triu(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__is_triu(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        bool ret = obj->is_triu();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "is_vector" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::is_vector"
-// cWrapperName: "casadi__Sparsity__is_vector"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__is_vector(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        bool ret = obj->is_vector();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__is_vector(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__is_vector(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        bool ret = obj->is_vector();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "largest_first" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::largest_first"
-// cWrapperName: "casadi__Sparsity__largest_first"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: StdVec CInt
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi__Sparsity__largest_first(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        std::vector< int > ret = obj->largest_first();"
-// params: []
-extern "C"
-std::vector< int >*
-    casadi__Sparsity__largest_first(std::string ** err_msg, casadi::Sparsity* obj);
-std::vector< int >*
-    casadi__Sparsity__largest_first(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        std::vector< int > ret = obj->largest_first();
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "lower" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::lower"
-// cWrapperName: "casadi__Sparsity__lower"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__lower(std::string ** err_msg, int x0)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::lower(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__lower(std::string ** err_msg, int x0);
-casadi::Sparsity*
-    casadi__Sparsity__lower(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Sparsity ret = casadi::Sparsity::lower(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "makeDense" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::makeDense"
-// cWrapperName: "casadi__Sparsity__makeDense"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__makeDense(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0)"
-// call: "        casadi::Sparsity ret = obj->makeDense(x0_);"
-// params: [(Ref (StdVec CInt),SwigOutput True)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__makeDense(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0);
-casadi::Sparsity*
-    casadi__Sparsity__makeDense(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0){
-    try {
-        std::vector< int > x0_ = std::vector< int >();  // Swig output
-
-        casadi::Sparsity ret = obj->makeDense(x0_);
-        *x0 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x0_ );
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::nnz"
-// cWrapperName: "casadi__Sparsity__nnz"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__nnz(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        int ret = obj->nnz();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__nnz(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__nnz(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        int ret = obj->nnz();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_diag" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::nnz_diag"
-// cWrapperName: "casadi__Sparsity__nnz_diag"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__nnz_diag(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        int ret = obj->nnz_diag();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__nnz_diag(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__nnz_diag(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        int ret = obj->nnz_diag();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_lower" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::nnz_lower"
-// cWrapperName: "casadi__Sparsity__nnz_lower__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__nnz_lower__0(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        int ret = obj->nnz_lower();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__nnz_lower__0(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__nnz_lower__0(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        int ret = obj->nnz_lower();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_lower" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::nnz_lower"
-// cWrapperName: "casadi__Sparsity__nnz_lower__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__nnz_lower__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// call: "        int ret = obj->nnz_lower(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__nnz_lower__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
-int
-    casadi__Sparsity__nnz_lower__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        int ret = obj->nnz_lower(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_upper" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::nnz_upper"
-// cWrapperName: "casadi__Sparsity__nnz_upper__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__nnz_upper__0(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        int ret = obj->nnz_upper();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__nnz_upper__0(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__nnz_upper__0(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        int ret = obj->nnz_upper();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "nnz_upper" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::nnz_upper"
-// cWrapperName: "casadi__Sparsity__nnz_upper__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__nnz_upper__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// call: "        int ret = obj->nnz_upper(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__nnz_upper__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
-int
-    casadi__Sparsity__nnz_upper__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        int ret = obj->nnz_upper(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "numel" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::numel"
-// cWrapperName: "casadi__Sparsity__numel"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__numel(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        int ret = obj->numel();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__numel(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__numel(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        int ret = obj->numel();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator !=" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::operator !="
-// cWrapperName: "casadi__Sparsity__operator__nequals"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__operator__nequals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// call: "        bool ret = obj->operator !=(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__operator__nequals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
-int
-    casadi__Sparsity__operator__nequals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        bool ret = obj->operator !=(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator *" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::operator *"
-// cWrapperName: "casadi__Sparsity__operator__mul"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__operator__mul(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// call: "        casadi::Sparsity ret = obj->operator *(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__operator__mul(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
-casadi::Sparsity*
-    casadi__Sparsity__operator__mul(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::Sparsity ret = obj->operator *(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator +" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::operator +"
-// cWrapperName: "casadi__Sparsity__operator__plus"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__operator__plus(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// call: "        casadi::Sparsity ret = obj->operator +(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__operator__plus(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
-casadi::Sparsity*
-    casadi__Sparsity__operator__plus(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::Sparsity ret = obj->operator +(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "operator ==" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::operator =="
-// cWrapperName: "casadi__Sparsity__operator__equals"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__operator__equals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// call: "        bool ret = obj->operator ==(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__operator__equals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
-int
-    casadi__Sparsity__operator__equals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        bool ret = obj->operator ==(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "pattern_inverse" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::pattern_inverse"
-// cWrapperName: "casadi__Sparsity__pattern_inverse"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__pattern_inverse(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        casadi::Sparsity ret = obj->pattern_inverse();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__pattern_inverse(std::string ** err_msg, casadi::Sparsity* obj);
-casadi::Sparsity*
-    casadi__Sparsity__pattern_inverse(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        casadi::Sparsity ret = obj->pattern_inverse();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "pmult" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::pmult"
-// cWrapperName: "casadi__Sparsity__pmult__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
-// call: "        casadi::Sparsity ret = obj->pmult(x0_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__pmult__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0);
-casadi::Sparsity*
-    casadi__Sparsity__pmult__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        casadi::Sparsity ret = obj->pmult(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "pmult" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::pmult"
-// cWrapperName: "casadi__Sparsity__pmult__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1)"
-// call: "        casadi::Sparsity ret = obj->pmult(x0_, x1_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__pmult__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1);
-casadi::Sparsity*
-    casadi__Sparsity__pmult__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::Sparsity ret = obj->pmult(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "pmult" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::pmult"
-// cWrapperName: "casadi__Sparsity__pmult__2"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2)"
-// call: "        casadi::Sparsity ret = obj->pmult(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__pmult__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2);
-casadi::Sparsity*
-    casadi__Sparsity__pmult__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::Sparsity ret = obj->pmult(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "pmult" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::pmult"
-// cWrapperName: "casadi__Sparsity__pmult__3"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2, int x3)"
-// call: "        casadi::Sparsity ret = obj->pmult(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__pmult__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2, int x3);
-casadi::Sparsity*
-    casadi__Sparsity__pmult__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, int x1, int x2, int x3){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::Sparsity ret = obj->pmult(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "print_compact" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::print_compact"
-// cWrapperName: "casadi__Sparsity__print_compact"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__print_compact(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        obj->print_compact();"
-// params: []
-extern "C"
-void
-    casadi__Sparsity__print_compact(std::string ** err_msg, casadi::Sparsity* obj);
-void
-    casadi__Sparsity__print_compact(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        obj->print_compact();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "removeDuplicates" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::removeDuplicates"
-// cWrapperName: "casadi__Sparsity__removeDuplicates"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__removeDuplicates(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0)"
-// call: "        obj->removeDuplicates(x0_);"
-// params: [(Ref (StdVec CInt),SwigOutput False)]
-extern "C"
-void
-    casadi__Sparsity__removeDuplicates(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0);
-void
-    casadi__Sparsity__removeDuplicates(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        obj->removeDuplicates(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "resize" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::resize"
-// cWrapperName: "casadi__Sparsity__resize"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__resize(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
-// call: "        obj->resize(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__Sparsity__resize(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1);
-void
-    casadi__Sparsity__resize(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        obj->resize(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "row" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::row"
-// cWrapperName: "casadi__Sparsity__row"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__row(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// call: "        int ret = obj->row(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__row(std::string ** err_msg, casadi::Sparsity* obj, int x0);
-int
-    casadi__Sparsity__row(std::string ** err_msg, casadi::Sparsity* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->row(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "rowcol" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::rowcol"
-// cWrapperName: "casadi__Sparsity__rowcol"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, int x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__rowcol(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, int x2, int x3)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::rowcol(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__rowcol(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, int x2, int x3);
-casadi::Sparsity*
-    casadi__Sparsity__rowcol(std::string ** err_msg, std::vector< int >* x0, std::vector< int >* x1, int x2, int x3){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        casadi::Sparsity ret = casadi::Sparsity::rowcol(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "rowsSequential" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::rowsSequential"
-// cWrapperName: "casadi__Sparsity__rowsSequential__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__rowsSequential__0(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        bool ret = obj->rowsSequential();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__rowsSequential__0(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__rowsSequential__0(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        bool ret = obj->rowsSequential();
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "rowsSequential" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::rowsSequential"
-// cWrapperName: "casadi__Sparsity__rowsSequential__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__rowsSequential__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// call: "        bool ret = obj->rowsSequential(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__rowsSequential__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
-int
-    casadi__Sparsity__rowsSequential__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        bool ret = obj->rowsSequential(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sanity_check" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::sanity_check"
-// cWrapperName: "casadi__Sparsity__sanity_check__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__sanity_check__0(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        obj->sanity_check();"
-// params: []
-extern "C"
-void
-    casadi__Sparsity__sanity_check__0(std::string ** err_msg, casadi::Sparsity* obj);
-void
-    casadi__Sparsity__sanity_check__0(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        obj->sanity_check();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "sanity_check" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::sanity_check"
-// cWrapperName: "casadi__Sparsity__sanity_check__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__sanity_check__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// call: "        obj->sanity_check(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-void
-    casadi__Sparsity__sanity_check__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
-void
-    casadi__Sparsity__sanity_check__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        obj->sanity_check(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Static method: "scalar" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::scalar"
-// cWrapperName: "casadi__Sparsity__scalar__0"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__scalar__0(std::string ** err_msg)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::scalar();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__scalar__0(std::string ** err_msg);
-casadi::Sparsity*
-    casadi__Sparsity__scalar__0(std::string ** err_msg){
-    try {
-
-        casadi::Sparsity ret = casadi::Sparsity::scalar();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "scalar" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::scalar"
-// cWrapperName: "casadi__Sparsity__scalar__1"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__scalar__1(std::string ** err_msg, int x0)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::scalar(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__scalar__1(std::string ** err_msg, int x0);
-casadi::Sparsity*
-    casadi__Sparsity__scalar__1(std::string ** err_msg, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        casadi::Sparsity ret = casadi::Sparsity::scalar(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "scc" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::scc"
-// cWrapperName: "casadi__Sparsity__scc"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1)"
-// args: "(x0_, x1_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__scc(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1)"
-// call: "        int ret = obj->scc(x0_, x1_);"
-// params: [(Ref (StdVec CInt),SwigOutput True),(Ref (StdVec CInt),SwigOutput True)]
-extern "C"
-int
-    casadi__Sparsity__scc(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1);
-int
-    casadi__Sparsity__scc(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, std::vector< int >** x1){
-    try {
-        std::vector< int > x0_ = std::vector< int >();  // Swig output
-        std::vector< int > x1_ = std::vector< int >();  // Swig output
-
-        int ret = obj->scc(x0_, x1_);
-        *x0 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x0_ );
-        *x1 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x1_ );
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::size"
-// cWrapperName: "casadi__Sparsity__size__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__size__0(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// call: "        int ret = obj->size(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-int
-    casadi__Sparsity__size__0(std::string ** err_msg, casadi::Sparsity* obj, int x0);
-int
-    casadi__Sparsity__size__0(std::string ** err_msg, casadi::Sparsity* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        int ret = obj->size(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::size"
-// cWrapperName: "casadi__Sparsity__size__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: StdPair CInt CInt
-// cWrapperRetType: "std::pair< int, int >*"
-// proto: "std::pair< int, int >*\n    casadi__Sparsity__size__1(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        std::pair< int, int > ret = obj->size();"
-// params: []
-extern "C"
-std::pair< int, int >*
-    casadi__Sparsity__size__1(std::string ** err_msg, casadi::Sparsity* obj);
-std::pair< int, int >*
-    casadi__Sparsity__size__1(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        std::pair< int, int > ret = obj->size();
-
-        return WrapReturn< std::pair< int, int >*, std::pair< int, int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size1" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::size1"
-// cWrapperName: "casadi__Sparsity__size1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__size1(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        int ret = obj->size1();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__size1(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__size1(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        int ret = obj->size1();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "size2" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::size2"
-// cWrapperName: "casadi__Sparsity__size2"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CInt
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Sparsity__size2(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        int ret = obj->size2();"
-// params: []
-extern "C"
-int
-    casadi__Sparsity__size2(std::string ** err_msg, casadi::Sparsity* obj);
-int
-    casadi__Sparsity__size2(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        int ret = obj->size2();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "spy" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::spy"
-// cWrapperName: "casadi__Sparsity__spy"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__spy(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        obj->spy();"
-// params: []
-extern "C"
-void
-    casadi__Sparsity__spy(std::string ** err_msg, casadi::Sparsity* obj);
-void
-    casadi__Sparsity__spy(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        obj->spy();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "spy_matlab" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::spy_matlab"
-// cWrapperName: "casadi__Sparsity__spy_matlab"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Sparsity__spy_matlab(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
-// call: "        obj->spy_matlab(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Sparsity__spy_matlab(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0);
-void
-    casadi__Sparsity__spy_matlab(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        obj->spy_matlab(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "star_coloring" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::star_coloring"
-// cWrapperName: "casadi__Sparsity__star_coloring__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring__0(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        casadi::Sparsity ret = obj->star_coloring();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__star_coloring__0(std::string ** err_msg, casadi::Sparsity* obj);
-casadi::Sparsity*
-    casadi__Sparsity__star_coloring__0(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        casadi::Sparsity ret = obj->star_coloring();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "star_coloring" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::star_coloring"
-// cWrapperName: "casadi__Sparsity__star_coloring__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// call: "        casadi::Sparsity ret = obj->star_coloring(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__star_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
-casadi::Sparsity*
-    casadi__Sparsity__star_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Sparsity ret = obj->star_coloring(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "star_coloring" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::star_coloring"
-// cWrapperName: "casadi__Sparsity__star_coloring__2"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
-// call: "        casadi::Sparsity ret = obj->star_coloring(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__star_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1);
-casadi::Sparsity*
-    casadi__Sparsity__star_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Sparsity ret = obj->star_coloring(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "star_coloring2" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::star_coloring2"
-// cWrapperName: "casadi__Sparsity__star_coloring2__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring2__0(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        casadi::Sparsity ret = obj->star_coloring2();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__star_coloring2__0(std::string ** err_msg, casadi::Sparsity* obj);
-casadi::Sparsity*
-    casadi__Sparsity__star_coloring2__0(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        casadi::Sparsity ret = obj->star_coloring2();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "star_coloring2" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::star_coloring2"
-// cWrapperName: "casadi__Sparsity__star_coloring2__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring2__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
-// call: "        casadi::Sparsity ret = obj->star_coloring2(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__star_coloring2__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
-casadi::Sparsity*
-    casadi__Sparsity__star_coloring2__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Sparsity ret = obj->star_coloring2(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "star_coloring2" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::star_coloring2"
-// cWrapperName: "casadi__Sparsity__star_coloring2__2"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring2__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1)"
-// call: "        casadi::Sparsity ret = obj->star_coloring2(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__star_coloring2__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1);
-casadi::Sparsity*
-    casadi__Sparsity__star_coloring2__2(std::string ** err_msg, casadi::Sparsity* obj, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Sparsity ret = obj->star_coloring2(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sub" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::sub"
-// cWrapperName: "casadi__Sparsity__sub__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >** x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >** x2)"
-// call: "        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (StdVec CInt),SwigOutput True)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__sub__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >** x2);
-casadi::Sparsity*
-    casadi__Sparsity__sub__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >** x2){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        std::vector< int > x2_ = std::vector< int >();  // Swig output
-
-        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        *x2 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x2_ );
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sub" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::sub"
-// cWrapperName: "casadi__Sparsity__sub__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >** x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >** x2, int x3)"
-// call: "        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (StdVec CInt),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__sub__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >** x2, int x3);
-casadi::Sparsity*
-    casadi__Sparsity__sub__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, casadi::Sparsity* x1, std::vector< int >** x2, int x3){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        std::vector< int > x2_ = std::vector< int >();  // Swig output
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        *x2 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x2_ );
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sub" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::sub"
-// cWrapperName: "casadi__Sparsity__sub__2"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >** x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >** x2)"
-// call: "        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (StdVec CInt),SwigOutput True)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__sub__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >** x2);
-casadi::Sparsity*
-    casadi__Sparsity__sub__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >** x2){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        std::vector< int > x2_ = std::vector< int >();  // Swig output
-
-        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        *x2 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x2_ );
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "sub" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::sub"
-// cWrapperName: "casadi__Sparsity__sub__3"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >** x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >** x2, int x3)"
-// call: "        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (StdVec CInt),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__sub__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >** x2, int x3);
-casadi::Sparsity*
-    casadi__Sparsity__sub__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >* x0, std::vector< int >* x1, std::vector< int >** x2, int x3){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        std::vector< int > x2_ = std::vector< int >();  // Swig output
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        *x2 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x2_ );
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "transpose" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::transpose"
-// cWrapperName: "casadi__Sparsity__transpose__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__transpose__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0)"
-// call: "        casadi::Sparsity ret = obj->transpose(x0_);"
-// params: [(Ref (StdVec CInt),SwigOutput True)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__transpose__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0);
-casadi::Sparsity*
-    casadi__Sparsity__transpose__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0){
-    try {
-        std::vector< int > x0_ = std::vector< int >();  // Swig output
-
-        casadi::Sparsity ret = obj->transpose(x0_);
-        *x0 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x0_ );
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "transpose" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::transpose"
-// cWrapperName: "casadi__Sparsity__transpose__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__transpose__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, int x1)"
-// call: "        casadi::Sparsity ret = obj->transpose(x0_, x1_);"
-// params: [(Ref (StdVec CInt),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__transpose__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, int x1);
-casadi::Sparsity*
-    casadi__Sparsity__transpose__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< int >** x0, int x1){
-    try {
-        std::vector< int > x0_ = std::vector< int >();  // Swig output
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::Sparsity ret = obj->transpose(x0_, x1_);
-        *x0 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x0_ );
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "triplet" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::triplet"
-// cWrapperName: "casadi__Sparsity__triplet__0"
-// protoArgs: "(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__triplet__0(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__triplet__0(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
-casadi::Sparsity*
-    casadi__Sparsity__triplet__0(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-
-        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "triplet" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::triplet"
-// cWrapperName: "casadi__Sparsity__triplet__1"
-// protoArgs: "(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >** x4, int x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__triplet__1(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >** x4, int x5)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (StdVec CInt),SwigOutput True),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__triplet__1(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >** x4, int x5);
-casadi::Sparsity*
-    casadi__Sparsity__triplet__1(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >** x4, int x5){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-        std::vector< int > x4_ = std::vector< int >();  // Swig output
-        bool x5_ = Marshaling<bool,int>::marshal(x5);
-
-        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        *x4 = WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( x4_ );
-        // x5 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "uni_coloring" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::uni_coloring"
-// cWrapperName: "casadi__Sparsity__uni_coloring__0"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__uni_coloring__0(std::string ** err_msg, casadi::Sparsity* obj)"
-// call: "        casadi::Sparsity ret = obj->uni_coloring();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__uni_coloring__0(std::string ** err_msg, casadi::Sparsity* obj);
-casadi::Sparsity*
-    casadi__Sparsity__uni_coloring__0(std::string ** err_msg, casadi::Sparsity* obj){
-    try {
-
-        casadi::Sparsity ret = obj->uni_coloring();
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "uni_coloring" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::uni_coloring"
-// cWrapperName: "casadi__Sparsity__uni_coloring__1"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__uni_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// call: "        casadi::Sparsity ret = obj->uni_coloring(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__uni_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
-casadi::Sparsity*
-    casadi__Sparsity__uni_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::Sparsity ret = obj->uni_coloring(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "uni_coloring" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::uni_coloring"
-// cWrapperName: "casadi__Sparsity__uni_coloring__2"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__uni_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1)"
-// call: "        casadi::Sparsity ret = obj->uni_coloring(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__uni_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1);
-casadi::Sparsity*
-    casadi__Sparsity__uni_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Sparsity ret = obj->uni_coloring(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "unit" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::unit"
-// cWrapperName: "casadi__Sparsity__unit"
-// protoArgs: "(std::string ** err_msg, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__unit(std::string ** err_msg, int x0, int x1)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::unit(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__unit(std::string ** err_msg, int x0, int x1);
-casadi::Sparsity*
-    casadi__Sparsity__unit(std::string ** err_msg, int x0, int x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Sparsity ret = casadi::Sparsity::unit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "unite" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::unite"
-// cWrapperName: "casadi__Sparsity__unite"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__unite(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
-// call: "        casadi::Sparsity ret = obj->unite(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__unite(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
-casadi::Sparsity*
-    casadi__Sparsity__unite(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::Sparsity ret = obj->unite(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "upper" ===============
-// class: "casadi::Sparsity"
-// cppName: "casadi::Sparsity::upper"
-// cWrapperName: "casadi__Sparsity__upper"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__upper(std::string ** err_msg, int x0)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::upper(x0_);"
-// params: [(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__upper(std::string ** err_msg, int x0);
-casadi::Sparsity*
-    casadi__Sparsity__upper(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        casadi::Sparsity ret = casadi::Sparsity::upper(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "SparsityInterfaceCommon")===============
-// classType: UserType (Namespace ["casadi"]) (Name "SparsityInterfaceCommon")
-extern "C"
-void delete_casadi__SparsityInterfaceCommon(casadi::SparsityInterfaceCommon* obj);
-void delete_casadi__SparsityInterfaceCommon(casadi::SparsityInterfaceCommon* obj){
-    delete obj;
-}
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "Variable")===============
-// classType: UserType (Namespace ["casadi"]) (Name "Variable")
-extern "C"
-void delete_casadi__Variable(casadi::Variable* obj);
-void delete_casadi__Variable(casadi::Variable* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Variable"
-// cppName: "casadi::Variable"
-// cWrapperName: "casadi__Variable__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
-// cWrapperRetType: "casadi::Variable*"
-// proto: "casadi::Variable*\n    casadi__Variable__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Variable*
-    casadi__Variable__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0);
-casadi::Variable*
-    casadi__Variable__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Variable"
-// cppName: "casadi::Variable"
-// cWrapperName: "casadi__Variable__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
-// cWrapperRetType: "casadi::Variable*"
-// proto: "casadi::Variable*\n    casadi__Variable__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
-// call: "        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-extern "C"
-casadi::Variable*
-    casadi__Variable__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
-casadi::Variable*
-    casadi__Variable__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Variable"
-// cppName: "casadi::Variable"
-// cWrapperName: "casadi__Variable__CONSTRUCTOR__2"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
-// cWrapperRetType: "casadi::Variable*"
-// proto: "casadi::Variable*\n    casadi__Variable__CONSTRUCTOR__2(std::string ** err_msg)"
-// call: "        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable();"
-// params: []
-extern "C"
-casadi::Variable*
-    casadi__Variable__CONSTRUCTOR__2(std::string ** err_msg);
-casadi::Variable*
-    casadi__Variable__CONSTRUCTOR__2(std::string ** err_msg){
-    try {
-
-        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "name" ===============
-// class: "casadi::Variable"
-// cppName: "casadi::Variable::name"
-// cWrapperName: "casadi__Variable__name"
-// protoArgs: "(std::string ** err_msg, casadi::Variable* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Variable__name(std::string ** err_msg, casadi::Variable* obj)"
-// call: "        std::string ret = obj->name();"
-// params: []
-extern "C"
-std::string*
-    casadi__Variable__name(std::string ** err_msg, casadi::Variable* obj);
-std::string*
-    casadi__Variable__name(std::string ** err_msg, casadi::Variable* obj){
-    try {
-
-        std::string ret = obj->name();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getRepresentation" ===============
-// class: "casadi::Variable"
-// cppName: "casadi::Variable::getRepresentation"
-// cWrapperName: "casadi__Variable__getRepresentation"
-// protoArgs: "(std::string ** err_msg, casadi::Variable* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Variable__getRepresentation(std::string ** err_msg, casadi::Variable* obj)"
-// call: "        std::string ret = obj->getRepresentation();"
-// params: []
-extern "C"
-std::string*
-    casadi__Variable__getRepresentation(std::string ** err_msg, casadi::Variable* obj);
-std::string*
-    casadi__Variable__getRepresentation(std::string ** err_msg, casadi::Variable* obj){
-    try {
-
-        std::string ret = obj->getRepresentation();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "getDescription" ===============
-// class: "casadi::Variable"
-// cppName: "casadi::Variable::getDescription"
-// cWrapperName: "casadi__Variable__getDescription"
-// protoArgs: "(std::string ** err_msg, casadi::Variable* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Variable__getDescription(std::string ** err_msg, casadi::Variable* obj)"
-// call: "        std::string ret = obj->getDescription();"
-// params: []
-extern "C"
-std::string*
-    casadi__Variable__getDescription(std::string ** err_msg, casadi::Variable* obj);
-std::string*
-    casadi__Variable__getDescription(std::string ** err_msg, casadi::Variable* obj){
-    try {
-
-        std::string ret = obj->getDescription();
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-
-// ================== delete UserType (Namespace ["casadi"]) (Name "XmlFile")===============
-// classType: UserType (Namespace ["casadi"]) (Name "XmlFile")
-extern "C"
-void delete_casadi__XmlFile(casadi::XmlFile* obj);
-void delete_casadi__XmlFile(casadi::XmlFile* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::XmlFile"
-// cppName: "casadi::XmlFile"
-// cWrapperName: "casadi__XmlFile__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "XmlFile")
-// cWrapperRetType: "casadi::XmlFile*"
-// proto: "casadi::XmlFile*\n    casadi__XmlFile__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::XmlFile* ret = (casadi::XmlFile*)new casadi::XmlFile(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::XmlFile*
-    casadi__XmlFile__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0);
-casadi::XmlFile*
-    casadi__XmlFile__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::XmlFile* ret = (casadi::XmlFile*)new casadi::XmlFile(x0_);
-        // x0 is not a swig output
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::XmlFile"
-// cppName: "casadi::XmlFile"
-// cWrapperName: "casadi__XmlFile__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "XmlFile")
-// cWrapperRetType: "casadi::XmlFile*"
-// proto: "casadi::XmlFile*\n    casadi__XmlFile__CONSTRUCTOR__1(std::string ** err_msg)"
-// call: "        casadi::XmlFile* ret = (casadi::XmlFile*)new casadi::XmlFile();"
-// params: []
-extern "C"
-casadi::XmlFile*
-    casadi__XmlFile__CONSTRUCTOR__1(std::string ** err_msg);
-casadi::XmlFile*
-    casadi__XmlFile__CONSTRUCTOR__1(std::string ** err_msg){
-    try {
-
-        casadi::XmlFile* ret = (casadi::XmlFile*)new casadi::XmlFile();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "doc" ===============
-// class: "casadi::XmlFile"
-// cppName: "casadi::XmlFile::doc"
-// cWrapperName: "casadi__XmlFile__doc"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__XmlFile__doc(std::string ** err_msg, std::string* x0)"
-// call: "        std::string ret = casadi::XmlFile::doc(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__XmlFile__doc(std::string ** err_msg, std::string* x0);
-std::string*
-    casadi__XmlFile__doc(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = casadi::XmlFile::doc(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "load_plugin" ===============
-// class: "casadi::XmlFile"
-// cppName: "casadi::XmlFile::load_plugin"
-// cWrapperName: "casadi__XmlFile__load_plugin"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__XmlFile__load_plugin(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::XmlFile::load_plugin(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__XmlFile__load_plugin(std::string ** err_msg, std::string* x0);
-void
-    casadi__XmlFile__load_plugin(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::XmlFile::load_plugin(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
+#include <typeinfo>
+#include "../marshal.hpp"
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "Callback")===============
+// classType: UserType (Namespace ["casadi"]) (Name "Callback")
+extern "C"
+void delete_casadi__Callback(casadi::Callback* obj);
+void delete_casadi__Callback(casadi::Callback* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback"
+// cWrapperName: "casadi__Callback__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Callback")
+// cWrapperRetType: "casadi::Callback*"
+// proto: "casadi::Callback*\n    casadi__Callback__CONSTRUCTOR__0(std::string ** err_msg, casadi::Callback* x0)"
+// call: "        casadi::Callback* ret = (casadi::Callback*)new casadi::Callback(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Callback"))),SwigOutput False)]
+extern "C"
+casadi::Callback*
+    casadi__Callback__CONSTRUCTOR__0(std::string ** err_msg, casadi::Callback* x0);
+casadi::Callback*
+    casadi__Callback__CONSTRUCTOR__0(std::string ** err_msg, casadi::Callback* x0){
+    try {
+        casadi::Callback& x0_ = Marshaling<casadi::Callback&,casadi::Callback*>::marshal(x0);
+
+        casadi::Callback* ret = (casadi::Callback*)new casadi::Callback(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback"
+// cWrapperName: "casadi__Callback__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Callback")
+// cWrapperRetType: "casadi::Callback*"
+// proto: "casadi::Callback*\n    casadi__Callback__CONSTRUCTOR__1(std::string ** err_msg)"
+// call: "        casadi::Callback* ret = (casadi::Callback*)new casadi::Callback();"
+// params: []
+extern "C"
+casadi::Callback*
+    casadi__Callback__CONSTRUCTOR__1(std::string ** err_msg);
+casadi::Callback*
+    casadi__Callback__CONSTRUCTOR__1(std::string ** err_msg){
+    try {
+
+        casadi::Callback* ret = (casadi::Callback*)new casadi::Callback();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "alloc_arg" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::alloc_arg"
+// cWrapperName: "casadi__Callback__alloc_arg__0"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Callback__alloc_arg__0(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
+// call: "        obj->alloc_arg(x0_);"
+// params: [(CSize,SwigOutput False)]
+extern "C"
+void
+    casadi__Callback__alloc_arg__0(std::string ** err_msg, casadi::Callback* obj, size_t x0);
+void
+    casadi__Callback__alloc_arg__0(std::string ** err_msg, casadi::Callback* obj, size_t x0){
+    try {
+        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);
+
+        obj->alloc_arg(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "alloc_arg" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::alloc_arg"
+// cWrapperName: "casadi__Callback__alloc_arg__1"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Callback__alloc_arg__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
+// call: "        obj->alloc_arg(x0_, x1_);"
+// params: [(CSize,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Callback__alloc_arg__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1);
+void
+    casadi__Callback__alloc_arg__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1){
+    try {
+        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        obj->alloc_arg(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "alloc_iw" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::alloc_iw"
+// cWrapperName: "casadi__Callback__alloc_iw__0"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Callback__alloc_iw__0(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
+// call: "        obj->alloc_iw(x0_);"
+// params: [(CSize,SwigOutput False)]
+extern "C"
+void
+    casadi__Callback__alloc_iw__0(std::string ** err_msg, casadi::Callback* obj, size_t x0);
+void
+    casadi__Callback__alloc_iw__0(std::string ** err_msg, casadi::Callback* obj, size_t x0){
+    try {
+        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);
+
+        obj->alloc_iw(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "alloc_iw" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::alloc_iw"
+// cWrapperName: "casadi__Callback__alloc_iw__1"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Callback__alloc_iw__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
+// call: "        obj->alloc_iw(x0_, x1_);"
+// params: [(CSize,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Callback__alloc_iw__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1);
+void
+    casadi__Callback__alloc_iw__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1){
+    try {
+        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        obj->alloc_iw(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "alloc_res" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::alloc_res"
+// cWrapperName: "casadi__Callback__alloc_res__0"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Callback__alloc_res__0(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
+// call: "        obj->alloc_res(x0_);"
+// params: [(CSize,SwigOutput False)]
+extern "C"
+void
+    casadi__Callback__alloc_res__0(std::string ** err_msg, casadi::Callback* obj, size_t x0);
+void
+    casadi__Callback__alloc_res__0(std::string ** err_msg, casadi::Callback* obj, size_t x0){
+    try {
+        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);
+
+        obj->alloc_res(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "alloc_res" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::alloc_res"
+// cWrapperName: "casadi__Callback__alloc_res__1"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Callback__alloc_res__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
+// call: "        obj->alloc_res(x0_, x1_);"
+// params: [(CSize,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Callback__alloc_res__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1);
+void
+    casadi__Callback__alloc_res__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1){
+    try {
+        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        obj->alloc_res(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "alloc_w" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::alloc_w"
+// cWrapperName: "casadi__Callback__alloc_w__0"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Callback__alloc_w__0(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
+// call: "        obj->alloc_w(x0_);"
+// params: [(CSize,SwigOutput False)]
+extern "C"
+void
+    casadi__Callback__alloc_w__0(std::string ** err_msg, casadi::Callback* obj, size_t x0);
+void
+    casadi__Callback__alloc_w__0(std::string ** err_msg, casadi::Callback* obj, size_t x0){
+    try {
+        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);
+
+        obj->alloc_w(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "alloc_w" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::alloc_w"
+// cWrapperName: "casadi__Callback__alloc_w__1"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Callback__alloc_w__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
+// call: "        obj->alloc_w(x0_, x1_);"
+// params: [(CSize,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Callback__alloc_w__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1);
+void
+    casadi__Callback__alloc_w__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1){
+    try {
+        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        obj->alloc_w(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "construct" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::construct"
+// cWrapperName: "casadi__Callback__construct__0"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Callback__construct__0(std::string ** err_msg, casadi::Callback* obj, std::string* x0)"
+// call: "        obj->construct(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__Callback__construct__0(std::string ** err_msg, casadi::Callback* obj, std::string* x0);
+void
+    casadi__Callback__construct__0(std::string ** err_msg, casadi::Callback* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->construct(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "construct" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::construct"
+// cWrapperName: "casadi__Callback__construct__1"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Callback__construct__1(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// call: "        obj->construct(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+void
+    casadi__Callback__construct__1(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
+void
+    casadi__Callback__construct__1(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
+
+        obj->construct(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "eval" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::eval"
+// cWrapperName: "casadi__Callback__eval"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::vector< casadi::DM* >* x0)"
+// args: "(x0_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi__Callback__eval(std::string ** err_msg, casadi::Callback* obj, std::vector< casadi::DM* >* x0)"
+// call: "        std::vector< casadi::DM > ret = obj->eval(x0_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
+extern "C"
+std::vector< casadi::DM* >*
+    casadi__Callback__eval(std::string ** err_msg, casadi::Callback* obj, std::vector< casadi::DM* >* x0);
+std::vector< casadi::DM* >*
+    casadi__Callback__eval(std::string ** err_msg, casadi::Callback* obj, std::vector< casadi::DM* >* x0){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+
+        std::vector< casadi::DM > ret = obj->eval(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "finalize" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::finalize"
+// cWrapperName: "casadi__Callback__finalize"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Callback__finalize(std::string ** err_msg, casadi::Callback* obj)"
+// call: "        obj->finalize();"
+// params: []
+extern "C"
+void
+    casadi__Callback__finalize(std::string ** err_msg, casadi::Callback* obj);
+void
+    casadi__Callback__finalize(std::string ** err_msg, casadi::Callback* obj){
+    try {
+
+        obj->finalize();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_forward" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::get_forward"
+// cWrapperName: "casadi__Callback__get_forward"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Callback__get_forward(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// call: "        casadi::Function ret = obj->get_forward(x0_, x1_, x2_, x3_, x4_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Callback__get_forward(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
+casadi::Function*
+    casadi__Callback__get_forward(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
+
+        casadi::Function ret = obj->get_forward(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_jacobian" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::get_jacobian"
+// cWrapperName: "casadi__Callback__get_jacobian"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Callback__get_jacobian(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// call: "        casadi::Function ret = obj->get_jacobian(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Callback__get_jacobian(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    casadi__Callback__get_jacobian(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = obj->get_jacobian(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_n_in" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::get_n_in"
+// cWrapperName: "casadi__Callback__get_n_in"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Callback__get_n_in(std::string ** err_msg, casadi::Callback* obj)"
+// call: "        long long ret = obj->get_n_in();"
+// params: []
+extern "C"
+long long
+    casadi__Callback__get_n_in(std::string ** err_msg, casadi::Callback* obj);
+long long
+    casadi__Callback__get_n_in(std::string ** err_msg, casadi::Callback* obj){
+    try {
+
+        long long ret = obj->get_n_in();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_n_out" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::get_n_out"
+// cWrapperName: "casadi__Callback__get_n_out"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Callback__get_n_out(std::string ** err_msg, casadi::Callback* obj)"
+// call: "        long long ret = obj->get_n_out();"
+// params: []
+extern "C"
+long long
+    casadi__Callback__get_n_out(std::string ** err_msg, casadi::Callback* obj);
+long long
+    casadi__Callback__get_n_out(std::string ** err_msg, casadi::Callback* obj){
+    try {
+
+        long long ret = obj->get_n_out();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_name_in" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::get_name_in"
+// cWrapperName: "casadi__Callback__get_name_in"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Callback__get_name_in(std::string ** err_msg, casadi::Callback* obj, long long x0)"
+// call: "        std::string ret = obj->get_name_in(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Callback__get_name_in(std::string ** err_msg, casadi::Callback* obj, long long x0);
+std::string*
+    casadi__Callback__get_name_in(std::string ** err_msg, casadi::Callback* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = obj->get_name_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_name_out" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::get_name_out"
+// cWrapperName: "casadi__Callback__get_name_out"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Callback__get_name_out(std::string ** err_msg, casadi::Callback* obj, long long x0)"
+// call: "        std::string ret = obj->get_name_out(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Callback__get_name_out(std::string ** err_msg, casadi::Callback* obj, long long x0);
+std::string*
+    casadi__Callback__get_name_out(std::string ** err_msg, casadi::Callback* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = obj->get_name_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_reverse" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::get_reverse"
+// cWrapperName: "casadi__Callback__get_reverse"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Callback__get_reverse(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// call: "        casadi::Function ret = obj->get_reverse(x0_, x1_, x2_, x3_, x4_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Callback__get_reverse(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
+casadi::Function*
+    casadi__Callback__get_reverse(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
+
+        casadi::Function ret = obj->get_reverse(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_sparsity_in" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::get_sparsity_in"
+// cWrapperName: "casadi__Callback__get_sparsity_in"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Callback__get_sparsity_in(std::string ** err_msg, casadi::Callback* obj, long long x0)"
+// call: "        casadi::Sparsity ret = obj->get_sparsity_in(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Callback__get_sparsity_in(std::string ** err_msg, casadi::Callback* obj, long long x0);
+casadi::Sparsity*
+    casadi__Callback__get_sparsity_in(std::string ** err_msg, casadi::Callback* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Sparsity ret = obj->get_sparsity_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_sparsity_out" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::get_sparsity_out"
+// cWrapperName: "casadi__Callback__get_sparsity_out"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Callback__get_sparsity_out(std::string ** err_msg, casadi::Callback* obj, long long x0)"
+// call: "        casadi::Sparsity ret = obj->get_sparsity_out(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Callback__get_sparsity_out(std::string ** err_msg, casadi::Callback* obj, long long x0);
+casadi::Sparsity*
+    casadi__Callback__get_sparsity_out(std::string ** err_msg, casadi::Callback* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Sparsity ret = obj->get_sparsity_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_forward" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::has_forward"
+// cWrapperName: "casadi__Callback__has_forward"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Callback__has_forward(std::string ** err_msg, casadi::Callback* obj, long long x0)"
+// call: "        bool ret = obj->has_forward(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+int
+    casadi__Callback__has_forward(std::string ** err_msg, casadi::Callback* obj, long long x0);
+int
+    casadi__Callback__has_forward(std::string ** err_msg, casadi::Callback* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        bool ret = obj->has_forward(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_jacobian" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::has_jacobian"
+// cWrapperName: "casadi__Callback__has_jacobian"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Callback__has_jacobian(std::string ** err_msg, casadi::Callback* obj)"
+// call: "        bool ret = obj->has_jacobian();"
+// params: []
+extern "C"
+int
+    casadi__Callback__has_jacobian(std::string ** err_msg, casadi::Callback* obj);
+int
+    casadi__Callback__has_jacobian(std::string ** err_msg, casadi::Callback* obj){
+    try {
+
+        bool ret = obj->has_jacobian();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_reverse" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::has_reverse"
+// cWrapperName: "casadi__Callback__has_reverse"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Callback__has_reverse(std::string ** err_msg, casadi::Callback* obj, long long x0)"
+// call: "        bool ret = obj->has_reverse(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+int
+    casadi__Callback__has_reverse(std::string ** err_msg, casadi::Callback* obj, long long x0);
+int
+    casadi__Callback__has_reverse(std::string ** err_msg, casadi::Callback* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        bool ret = obj->has_reverse(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "init" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::init"
+// cWrapperName: "casadi__Callback__init"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Callback__init(std::string ** err_msg, casadi::Callback* obj)"
+// call: "        obj->init();"
+// params: []
+extern "C"
+void
+    casadi__Callback__init(std::string ** err_msg, casadi::Callback* obj);
+void
+    casadi__Callback__init(std::string ** err_msg, casadi::Callback* obj){
+    try {
+
+        obj->init();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "type_name" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::type_name"
+// cWrapperName: "casadi__Callback__type_name"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Callback__type_name(std::string ** err_msg)"
+// call: "        std::string ret = casadi::Callback::type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__Callback__type_name(std::string ** err_msg);
+std::string*
+    casadi__Callback__type_name(std::string ** err_msg){
+    try {
+
+        std::string ret = casadi::Callback::type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "uses_output" ===============
+// class: "casadi::Callback"
+// cppName: "casadi::Callback::uses_output"
+// cWrapperName: "casadi__Callback__uses_output"
+// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Callback__uses_output(std::string ** err_msg, casadi::Callback* obj)"
+// call: "        bool ret = obj->uses_output();"
+// params: []
+extern "C"
+int
+    casadi__Callback__uses_output(std::string ** err_msg, casadi::Callback* obj);
+int
+    casadi__Callback__uses_output(std::string ** err_msg, casadi::Callback* obj){
+    try {
+
+        bool ret = obj->uses_output();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "CasadiMeta")===============
+// classType: UserType (Namespace ["casadi"]) (Name "CasadiMeta")
+extern "C"
+void delete_casadi__CasadiMeta(casadi::CasadiMeta* obj);
+void delete_casadi__CasadiMeta(casadi::CasadiMeta* obj){
+    delete obj;
+}
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "CodeGenerator")===============
+// classType: UserType (Namespace ["casadi"]) (Name "CodeGenerator")
+extern "C"
+void delete_casadi__CodeGenerator(casadi::CodeGenerator* obj);
+void delete_casadi__CodeGenerator(casadi::CodeGenerator* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::CodeGenerator"
+// cppName: "casadi::CodeGenerator"
+// cWrapperName: "casadi__CodeGenerator__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "CodeGenerator")
+// cWrapperRetType: "casadi::CodeGenerator*"
+// proto: "casadi::CodeGenerator*\n    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::CodeGenerator*
+    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0);
+casadi::CodeGenerator*
+    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::CodeGenerator"
+// cppName: "casadi::CodeGenerator"
+// cWrapperName: "casadi__CodeGenerator__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "CodeGenerator")
+// cWrapperRetType: "casadi::CodeGenerator*"
+// proto: "casadi::CodeGenerator*\n    casadi__CodeGenerator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// call: "        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::CodeGenerator*
+    casadi__CodeGenerator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
+casadi::CodeGenerator*
+    casadi__CodeGenerator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
+
+        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add" ===============
+// class: "casadi::CodeGenerator"
+// cppName: "casadi::CodeGenerator::add"
+// cWrapperName: "casadi__CodeGenerator__add__0"
+// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__CodeGenerator__add__0(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0)"
+// call: "        obj->add(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
+extern "C"
+void
+    casadi__CodeGenerator__add__0(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0);
+void
+    casadi__CodeGenerator__add__0(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0){
+    try {
+        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
+
+        obj->add(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "add" ===============
+// class: "casadi::CodeGenerator"
+// cppName: "casadi::CodeGenerator::add"
+// cWrapperName: "casadi__CodeGenerator__add__1"
+// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__CodeGenerator__add__1(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0, int x1)"
+// call: "        obj->add(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__CodeGenerator__add__1(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0, int x1);
+void
+    casadi__CodeGenerator__add__1(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0, int x1){
+    try {
+        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        obj->add(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "add_include" ===============
+// class: "casadi::CodeGenerator"
+// cppName: "casadi::CodeGenerator::add_include"
+// cWrapperName: "casadi__CodeGenerator__add_include__0"
+// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__CodeGenerator__add_include__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
+// call: "        obj->add_include(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__CodeGenerator__add_include__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0);
+void
+    casadi__CodeGenerator__add_include__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->add_include(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "add_include" ===============
+// class: "casadi::CodeGenerator"
+// cppName: "casadi::CodeGenerator::add_include"
+// cWrapperName: "casadi__CodeGenerator__add_include__1"
+// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__CodeGenerator__add_include__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1)"
+// call: "        obj->add_include(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__CodeGenerator__add_include__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1);
+void
+    casadi__CodeGenerator__add_include__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        obj->add_include(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "add_include" ===============
+// class: "casadi::CodeGenerator"
+// cppName: "casadi::CodeGenerator::add_include"
+// cWrapperName: "casadi__CodeGenerator__add_include__2"
+// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__CodeGenerator__add_include__2(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2)"
+// call: "        obj->add_include(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__CodeGenerator__add_include__2(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2);
+void
+    casadi__CodeGenerator__add_include__2(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+
+        obj->add_include(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "dump" ===============
+// class: "casadi::CodeGenerator"
+// cppName: "casadi::CodeGenerator::dump"
+// cWrapperName: "casadi__CodeGenerator__dump"
+// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__CodeGenerator__dump(std::string ** err_msg, casadi::CodeGenerator* obj)"
+// call: "        std::string ret = obj->dump();"
+// params: []
+extern "C"
+std::string*
+    casadi__CodeGenerator__dump(std::string ** err_msg, casadi::CodeGenerator* obj);
+std::string*
+    casadi__CodeGenerator__dump(std::string ** err_msg, casadi::CodeGenerator* obj){
+    try {
+
+        std::string ret = obj->dump();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "generate" ===============
+// class: "casadi::CodeGenerator"
+// cppName: "casadi::CodeGenerator::generate"
+// cWrapperName: "casadi__CodeGenerator__generate__0"
+// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__CodeGenerator__generate__0(std::string ** err_msg, casadi::CodeGenerator* obj)"
+// call: "        std::string ret = obj->generate();"
+// params: []
+extern "C"
+std::string*
+    casadi__CodeGenerator__generate__0(std::string ** err_msg, casadi::CodeGenerator* obj);
+std::string*
+    casadi__CodeGenerator__generate__0(std::string ** err_msg, casadi::CodeGenerator* obj){
+    try {
+
+        std::string ret = obj->generate();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "generate" ===============
+// class: "casadi::CodeGenerator"
+// cppName: "casadi::CodeGenerator::generate"
+// cWrapperName: "casadi__CodeGenerator__generate__1"
+// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__CodeGenerator__generate__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
+// call: "        std::string ret = obj->generate(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__CodeGenerator__generate__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0);
+std::string*
+    casadi__CodeGenerator__generate__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = obj->generate(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "DM")===============
+// classType: UserType (Namespace ["casadi"]) (Name "DM")
+extern "C"
+void delete_casadi__DM(casadi::DM* obj);
+void delete_casadi__DM(casadi::DM* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM"
+// cWrapperName: "casadi__DM__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0)"
+// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0);
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM"
+// cWrapperName: "casadi__DM__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SXElem* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0)"
+// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SXElem")))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0);
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0){
+    try {
+        std::vector< casadi::SXElem > x0_ = Marshaling<std::vector< casadi::SXElem >,std::vector< casadi::SXElem* >*>::marshal(x0);
+
+        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM"
+// cWrapperName: "casadi__DM__CONSTRUCTOR__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0)"
+// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0);
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM"
+// cWrapperName: "casadi__DM__CONSTRUCTOR__3"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< long long >* x0)"
+// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< long long >* x0);
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM"
+// cWrapperName: "casadi__DM__CONSTRUCTOR__4"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
+// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
+// params: [(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0);
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0){
+    try {
+        std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);
+
+        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM"
+// cWrapperName: "casadi__DM__CONSTRUCTOR__5"
+// protoArgs: "(std::string ** err_msg, double x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__5(std::string ** err_msg, double x0)"
+// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
+// params: [(CDouble,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__5(std::string ** err_msg, double x0);
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__5(std::string ** err_msg, double x0){
+    try {
+        double x0_ = Marshaling<double,double>::marshal(x0);
+
+        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM"
+// cWrapperName: "casadi__DM__CONSTRUCTOR__6"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::DM* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::DM* x1)"
+// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::DM* x1);
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::DM* x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM"
+// cWrapperName: "casadi__DM__CONSTRUCTOR__7"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM"
+// cWrapperName: "casadi__DM__CONSTRUCTOR__8"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1);
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM"
+// cWrapperName: "casadi__DM__CONSTRUCTOR__9"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__9(std::string ** err_msg, casadi::DM* x0)"
+// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__9(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__9(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM"
+// cWrapperName: "casadi__DM__CONSTRUCTOR__10"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__10(std::string ** err_msg)"
+// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM();"
+// params: []
+extern "C"
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__10(std::string ** err_msg);
+casadi::DM*
+    casadi__DM__CONSTRUCTOR__10(std::string ** err_msg){
+    try {
+
+        casadi::DM* ret = (casadi::DM*)new casadi::DM();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "T" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::T"
+// cWrapperName: "casadi__DM__T"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__T(std::string ** err_msg, casadi::DM* obj)"
+// call: "        casadi::DM ret = obj->T();"
+// params: []
+extern "C"
+casadi::DM*
+    casadi__DM__T(std::string ** err_msg, casadi::DM* obj);
+casadi::DM*
+    casadi__DM__T(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        casadi::DM ret = obj->T();
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "__nonzero__" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::__nonzero__"
+// cWrapperName: "casadi__DM____nonzero__"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM____nonzero__(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->__nonzero__();"
+// params: []
+extern "C"
+int
+    casadi__DM____nonzero__(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM____nonzero__(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->__nonzero__();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "binary" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::binary"
+// cWrapperName: "casadi__DM__binary"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__binary(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
+// call: "        casadi::DM ret = casadi::DM::binary(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__binary(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi__DM__binary(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = casadi::DM::binary(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "clear" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::clear"
+// cWrapperName: "casadi__DM__clear"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__clear(std::string ** err_msg, casadi::DM* obj)"
+// call: "        obj->clear();"
+// params: []
+extern "C"
+void
+    casadi__DM__clear(std::string ** err_msg, casadi::DM* obj);
+void
+    casadi__DM__clear(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        obj->clear();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "colind" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::colind"
+// cWrapperName: "casadi__DM__colind"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__colind(std::string ** err_msg, casadi::DM* obj, long long x0)"
+// call: "        long long ret = obj->colind(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__DM__colind(std::string ** err_msg, casadi::DM* obj, long long x0);
+long long
+    casadi__DM__colind(std::string ** err_msg, casadi::DM* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->colind(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "columns" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::columns"
+// cWrapperName: "casadi__DM__columns"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__columns(std::string ** err_msg, casadi::DM* obj)"
+// call: "        long long ret = obj->columns();"
+// params: []
+extern "C"
+long long
+    casadi__DM__columns(std::string ** err_msg, casadi::DM* obj);
+long long
+    casadi__DM__columns(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        long long ret = obj->columns();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dep" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::dep"
+// cWrapperName: "casadi__DM__dep__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__dep__0(std::string ** err_msg, casadi::DM* obj)"
+// call: "        casadi::DM ret = obj->dep();"
+// params: []
+extern "C"
+casadi::DM*
+    casadi__DM__dep__0(std::string ** err_msg, casadi::DM* obj);
+casadi::DM*
+    casadi__DM__dep__0(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        casadi::DM ret = obj->dep();
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dep" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::dep"
+// cWrapperName: "casadi__DM__dep__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__dep__1(std::string ** err_msg, casadi::DM* obj, long long x0)"
+// call: "        casadi::DM ret = obj->dep(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__dep__1(std::string ** err_msg, casadi::DM* obj, long long x0);
+casadi::DM*
+    casadi__DM__dep__1(std::string ** err_msg, casadi::DM* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::DM ret = obj->dep(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dim" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::dim"
+// cWrapperName: "casadi__DM__dim__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__DM__dim__0(std::string ** err_msg, casadi::DM* obj)"
+// call: "        std::string ret = obj->dim();"
+// params: []
+extern "C"
+std::string*
+    casadi__DM__dim__0(std::string ** err_msg, casadi::DM* obj);
+std::string*
+    casadi__DM__dim__0(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        std::string ret = obj->dim();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dim" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::dim"
+// cWrapperName: "casadi__DM__dim__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__DM__dim__1(std::string ** err_msg, casadi::DM* obj, int x0)"
+// call: "        std::string ret = obj->dim(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__DM__dim__1(std::string ** err_msg, casadi::DM* obj, int x0);
+std::string*
+    casadi__DM__dim__1(std::string ** err_msg, casadi::DM* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->dim(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "element_hash" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::element_hash"
+// cWrapperName: "casadi__DM__element_hash"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__element_hash(std::string ** err_msg, casadi::DM* obj)"
+// call: "        long long ret = obj->element_hash();"
+// params: []
+extern "C"
+long long
+    casadi__DM__element_hash(std::string ** err_msg, casadi::DM* obj);
+long long
+    casadi__DM__element_hash(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        long long ret = obj->element_hash();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "enlarge" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::enlarge"
+// cWrapperName: "casadi__DM__enlarge__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__enlarge__0(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__enlarge__0(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
+void
+    casadi__DM__enlarge__0(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        obj->enlarge(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "enlarge" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::enlarge"
+// cWrapperName: "casadi__DM__enlarge__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__enlarge__1(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
+// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__DM__enlarge__1(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4);
+void
+    casadi__DM__enlarge__1(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        bool x4_ = Marshaling<bool,int>::marshal(x4);
+
+        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::erase"
+// cWrapperName: "casadi__DM__erase__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__erase__0(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0)"
+// call: "        obj->erase(x0_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__erase__0(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0);
+void
+    casadi__DM__erase__0(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        obj->erase(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::erase"
+// cWrapperName: "casadi__DM__erase__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__erase__1(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, int x1)"
+// call: "        obj->erase(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__DM__erase__1(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, int x1);
+void
+    casadi__DM__erase__1(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, int x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        obj->erase(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::erase"
+// cWrapperName: "casadi__DM__erase__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__erase__2(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// call: "        obj->erase(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__erase__2(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1);
+void
+    casadi__DM__erase__2(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        obj->erase(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::erase"
+// cWrapperName: "casadi__DM__erase__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__erase__3(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
+// call: "        obj->erase(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__DM__erase__3(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2);
+void
+    casadi__DM__erase__3(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->erase(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "export_code" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::export_code"
+// cWrapperName: "casadi__DM__export_code"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__export_code(std::string ** err_msg, casadi::DM* obj, std::string* x0)"
+// call: "        obj->export_code(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__export_code(std::string ** err_msg, casadi::DM* obj, std::string* x0);
+void
+    casadi__DM__export_code(std::string ** err_msg, casadi::DM* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->export_code(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "eye" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::eye"
+// cWrapperName: "casadi__DM__eye"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__eye(std::string ** err_msg, long long x0)"
+// call: "        casadi::DM ret = casadi::DM::eye(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__eye(std::string ** err_msg, long long x0);
+casadi::DM*
+    casadi__DM__eye(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::eye(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "from_info" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::from_info"
+// cWrapperName: "casadi__DM__from_info"
+// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
+// call: "        casadi::DM ret = casadi::DM::from_info(x0_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0);
+casadi::DM*
+    casadi__DM__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0){
+    try {
+        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::from_info(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get"
+// cWrapperName: "casadi__DM__get__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__get__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__get__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::IM* x3);
+void
+    casadi__DM__get__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::IM* x3){
+    try {
+        casadi::DM x0_ = casadi::DM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get"
+// cWrapperName: "casadi__DM__get__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__get__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__get__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::Slice* x3);
+void
+    casadi__DM__get__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::Slice* x3){
+    try {
+        casadi::DM x0_ = casadi::DM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get"
+// cWrapperName: "casadi__DM__get__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__get__2(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__get__2(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::IM* x3);
+void
+    casadi__DM__get__2(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::IM* x3){
+    try {
+        casadi::DM x0_ = casadi::DM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get"
+// cWrapperName: "casadi__DM__get__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__get__3(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__get__3(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
+void
+    casadi__DM__get__3(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
+    try {
+        casadi::DM x0_ = casadi::DM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get"
+// cWrapperName: "casadi__DM__get__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Sparsity* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__get__4(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Sparsity* x2)"
+// call: "        obj->get(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__get__4(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Sparsity* x2);
+void
+    casadi__DM__get__4(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Sparsity* x2){
+    try {
+        casadi::DM x0_ = casadi::DM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
+
+        obj->get(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get"
+// cWrapperName: "casadi__DM__get__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__get__5(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2)"
+// call: "        obj->get(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__get__5(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2);
+void
+    casadi__DM__get__5(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2){
+    try {
+        casadi::DM x0_ = casadi::DM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->get(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get"
+// cWrapperName: "casadi__DM__get__6"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__get__6(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2)"
+// call: "        obj->get(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__get__6(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2);
+void
+    casadi__DM__get__6(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::DM x0_ = casadi::DM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->get(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_colind" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get_colind"
+// cWrapperName: "casadi__DM__get_colind"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__DM__get_colind(std::string ** err_msg, casadi::DM* obj)"
+// call: "        std::vector< long long > ret = obj->get_colind();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__DM__get_colind(std::string ** err_msg, casadi::DM* obj);
+std::vector< long long >*
+    casadi__DM__get_colind(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_colind();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_elements" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get_elements"
+// cWrapperName: "casadi__DM__get_elements"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__DM__get_elements(std::string ** err_msg, casadi::DM* obj)"
+// call: "        std::vector< double > ret = obj->get_elements();"
+// params: []
+extern "C"
+std::vector< double >*
+    casadi__DM__get_elements(std::string ** err_msg, casadi::DM* obj);
+std::vector< double >*
+    casadi__DM__get_elements(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        std::vector< double > ret = obj->get_elements();
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "get_free" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get_free"
+// cWrapperName: "casadi__DM__get_free"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
+// args: "(x0_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi__DM__get_free(std::string ** err_msg, casadi::Function* x0)"
+// call: "        std::vector< casadi::DM > ret = casadi::DM::get_free(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
+extern "C"
+std::vector< casadi::DM* >*
+    casadi__DM__get_free(std::string ** err_msg, casadi::Function* x0);
+std::vector< casadi::DM* >*
+    casadi__DM__get_free(std::string ** err_msg, casadi::Function* x0){
+    try {
+        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
+
+        std::vector< casadi::DM > ret = casadi::DM::get_free(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "get_input" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get_input"
+// cWrapperName: "casadi__DM__get_input"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
+// args: "(x0_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi__DM__get_input(std::string ** err_msg, casadi::Function* x0)"
+// call: "        std::vector< casadi::DM > ret = casadi::DM::get_input(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
+extern "C"
+std::vector< casadi::DM* >*
+    casadi__DM__get_input(std::string ** err_msg, casadi::Function* x0);
+std::vector< casadi::DM* >*
+    casadi__DM__get_input(std::string ** err_msg, casadi::Function* x0){
+    try {
+        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
+
+        std::vector< casadi::DM > ret = casadi::DM::get_input(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "get_max_depth" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get_max_depth"
+// cWrapperName: "casadi__DM__get_max_depth"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__get_max_depth(std::string ** err_msg)"
+// call: "        long long ret = casadi::DM::get_max_depth();"
+// params: []
+extern "C"
+long long
+    casadi__DM__get_max_depth(std::string ** err_msg);
+long long
+    casadi__DM__get_max_depth(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::DM::get_max_depth();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_nonzeros" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get_nonzeros"
+// cWrapperName: "casadi__DM__get_nonzeros"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__DM__get_nonzeros(std::string ** err_msg, casadi::DM* obj)"
+// call: "        std::vector< double > ret = obj->get_nonzeros();"
+// params: []
+extern "C"
+std::vector< double >*
+    casadi__DM__get_nonzeros(std::string ** err_msg, casadi::DM* obj);
+std::vector< double >*
+    casadi__DM__get_nonzeros(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        std::vector< double > ret = obj->get_nonzeros();
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_nz" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get_nz"
+// cWrapperName: "casadi__DM__get_nz__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__get_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2)"
+// call: "        obj->get_nz(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__get_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2);
+void
+    casadi__DM__get_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2){
+    try {
+        casadi::DM x0_ = casadi::DM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->get_nz(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_nz" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get_nz"
+// cWrapperName: "casadi__DM__get_nz__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__get_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2)"
+// call: "        obj->get_nz(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__get_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2);
+void
+    casadi__DM__get_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::DM x0_ = casadi::DM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->get_nz(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_row" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get_row"
+// cWrapperName: "casadi__DM__get_row"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__DM__get_row(std::string ** err_msg, casadi::DM* obj)"
+// call: "        std::vector< long long > ret = obj->get_row();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__DM__get_row(std::string ** err_msg, casadi::DM* obj);
+std::vector< long long >*
+    casadi__DM__get_row(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_row();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_sparsity" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get_sparsity"
+// cWrapperName: "casadi__DM__get_sparsity"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__DM__get_sparsity(std::string ** err_msg, casadi::DM* obj)"
+// call: "        casadi::Sparsity ret = obj->get_sparsity();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__DM__get_sparsity(std::string ** err_msg, casadi::DM* obj);
+casadi::Sparsity*
+    casadi__DM__get_sparsity(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        casadi::Sparsity ret = obj->get_sparsity();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get_str"
+// cWrapperName: "casadi__DM__get_str__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__DM__get_str__0(std::string ** err_msg, casadi::DM* obj)"
+// call: "        std::string ret = obj->get_str();"
+// params: []
+extern "C"
+std::string*
+    casadi__DM__get_str__0(std::string ** err_msg, casadi::DM* obj);
+std::string*
+    casadi__DM__get_str__0(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        std::string ret = obj->get_str();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::get_str"
+// cWrapperName: "casadi__DM__get_str__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__DM__get_str__1(std::string ** err_msg, casadi::DM* obj, int x0)"
+// call: "        std::string ret = obj->get_str(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__DM__get_str__1(std::string ** err_msg, casadi::DM* obj, int x0);
+std::string*
+    casadi__DM__get_str__1(std::string ** err_msg, casadi::DM* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->get_str(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_duplicates" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::has_duplicates"
+// cWrapperName: "casadi__DM__has_duplicates"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__has_duplicates(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->has_duplicates();"
+// params: []
+extern "C"
+int
+    casadi__DM__has_duplicates(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__has_duplicates(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->has_duplicates();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_nz" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::has_nz"
+// cWrapperName: "casadi__DM__has_nz"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__has_nz(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1)"
+// call: "        bool ret = obj->has_nz(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+int
+    casadi__DM__has_nz(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1);
+int
+    casadi__DM__has_nz(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        bool ret = obj->has_nz(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_zeros" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::has_zeros"
+// cWrapperName: "casadi__DM__has_zeros"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__has_zeros(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->has_zeros();"
+// params: []
+extern "C"
+int
+    casadi__DM__has_zeros(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__has_zeros(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->has_zeros();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::inf"
+// cWrapperName: "casadi__DM__inf__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::DM ret = casadi::DM::inf(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::DM*
+    casadi__DM__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::inf"
+// cWrapperName: "casadi__DM__inf__1"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__inf__1(std::string ** err_msg)"
+// call: "        casadi::DM ret = casadi::DM::inf();"
+// params: []
+extern "C"
+casadi::DM*
+    casadi__DM__inf__1(std::string ** err_msg);
+casadi::DM*
+    casadi__DM__inf__1(std::string ** err_msg){
+    try {
+
+        casadi::DM ret = casadi::DM::inf();
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::inf"
+// cWrapperName: "casadi__DM__inf__2"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__inf__2(std::string ** err_msg, long long x0)"
+// call: "        casadi::DM ret = casadi::DM::inf(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__inf__2(std::string ** err_msg, long long x0);
+casadi::DM*
+    casadi__DM__inf__2(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::inf"
+// cWrapperName: "casadi__DM__inf__3"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__inf__3(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::DM ret = casadi::DM::inf(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__inf__3(std::string ** err_msg, long long x0, long long x1);
+casadi::DM*
+    casadi__DM__inf__3(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::DM ret = casadi::DM::inf(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::inf"
+// cWrapperName: "casadi__DM__inf__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::DM ret = casadi::DM::inf(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::DM*
+    casadi__DM__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "info" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::info"
+// cWrapperName: "casadi__DM__info"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
+// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
+// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__DM__info(std::string ** err_msg, casadi::DM* obj)"
+// call: "        std::map< std::string, casadi::GenericType > ret = obj->info();"
+// params: []
+extern "C"
+std::map< std::string, casadi::GenericType* >*
+    casadi__DM__info(std::string ** err_msg, casadi::DM* obj);
+std::map< std::string, casadi::GenericType* >*
+    casadi__DM__info(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        std::map< std::string, casadi::GenericType > ret = obj->info();
+
+        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_column" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_column"
+// cWrapperName: "casadi__DM__is_column"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_column(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_column();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_column(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_column(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_column();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_commutative" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_commutative"
+// cWrapperName: "casadi__DM__is_commutative"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_commutative(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_commutative();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_commutative(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_commutative(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_commutative();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_constant" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_constant"
+// cWrapperName: "casadi__DM__is_constant"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_constant(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_constant();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_constant(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_constant(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_constant();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_dense" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_dense"
+// cWrapperName: "casadi__DM__is_dense"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_dense(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_dense();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_dense(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_dense(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_dense();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_empty" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_empty"
+// cWrapperName: "casadi__DM__is_empty__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_empty__0(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_empty();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_empty__0(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_empty__0(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_empty();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_empty" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_empty"
+// cWrapperName: "casadi__DM__is_empty__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_empty__1(std::string ** err_msg, casadi::DM* obj, int x0)"
+// call: "        bool ret = obj->is_empty(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+int
+    casadi__DM__is_empty__1(std::string ** err_msg, casadi::DM* obj, int x0);
+int
+    casadi__DM__is_empty__1(std::string ** err_msg, casadi::DM* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        bool ret = obj->is_empty(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_eye" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_eye"
+// cWrapperName: "casadi__DM__is_eye"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_eye(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_eye();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_eye(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_eye(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_eye();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_integer" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_integer"
+// cWrapperName: "casadi__DM__is_integer"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_integer(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_integer();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_integer(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_integer(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_integer();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_leaf" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_leaf"
+// cWrapperName: "casadi__DM__is_leaf"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_leaf(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_leaf();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_leaf(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_leaf(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_leaf();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_minus_one" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_minus_one"
+// cWrapperName: "casadi__DM__is_minus_one"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_minus_one(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_minus_one();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_minus_one(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_minus_one(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_minus_one();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_one" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_one"
+// cWrapperName: "casadi__DM__is_one"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_one(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_one();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_one(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_one(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_one();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_op" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_op"
+// cWrapperName: "casadi__DM__is_op"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_op(std::string ** err_msg, casadi::DM* obj, long long x0)"
+// call: "        bool ret = obj->is_op(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+int
+    casadi__DM__is_op(std::string ** err_msg, casadi::DM* obj, long long x0);
+int
+    casadi__DM__is_op(std::string ** err_msg, casadi::DM* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        bool ret = obj->is_op(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_regular" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_regular"
+// cWrapperName: "casadi__DM__is_regular"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_regular(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_regular();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_regular(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_regular(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_regular();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_row" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_row"
+// cWrapperName: "casadi__DM__is_row"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_row(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_row();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_row(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_row(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_row();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_scalar" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_scalar"
+// cWrapperName: "casadi__DM__is_scalar__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_scalar__0(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_scalar();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_scalar__0(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_scalar__0(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_scalar();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_scalar" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_scalar"
+// cWrapperName: "casadi__DM__is_scalar__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_scalar__1(std::string ** err_msg, casadi::DM* obj, int x0)"
+// call: "        bool ret = obj->is_scalar(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+int
+    casadi__DM__is_scalar__1(std::string ** err_msg, casadi::DM* obj, int x0);
+int
+    casadi__DM__is_scalar__1(std::string ** err_msg, casadi::DM* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        bool ret = obj->is_scalar(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_smooth" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_smooth"
+// cWrapperName: "casadi__DM__is_smooth"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_smooth(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_smooth();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_smooth(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_smooth(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_smooth();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_square" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_square"
+// cWrapperName: "casadi__DM__is_square"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_square(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_square();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_square(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_square(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_square();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_symbolic" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_symbolic"
+// cWrapperName: "casadi__DM__is_symbolic"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_symbolic(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_symbolic();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_symbolic(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_symbolic(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_symbolic();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_tril" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_tril"
+// cWrapperName: "casadi__DM__is_tril"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_tril(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_tril();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_tril(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_tril(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_tril();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_triu" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_triu"
+// cWrapperName: "casadi__DM__is_triu"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_triu(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_triu();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_triu(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_triu(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_triu();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_valid_input" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_valid_input"
+// cWrapperName: "casadi__DM__is_valid_input"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_valid_input(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_valid_input();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_valid_input(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_valid_input(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_valid_input();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_vector" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_vector"
+// cWrapperName: "casadi__DM__is_vector"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_vector(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_vector();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_vector(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_vector(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_vector();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_zero" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::is_zero"
+// cWrapperName: "casadi__DM__is_zero"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DM__is_zero(std::string ** err_msg, casadi::DM* obj)"
+// call: "        bool ret = obj->is_zero();"
+// params: []
+extern "C"
+int
+    casadi__DM__is_zero(std::string ** err_msg, casadi::DM* obj);
+int
+    casadi__DM__is_zero(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        bool ret = obj->is_zero();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "matrix_matrix" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::matrix_matrix"
+// cWrapperName: "casadi__DM__matrix_matrix"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__matrix_matrix(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
+// call: "        casadi::DM ret = casadi::DM::matrix_matrix(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__matrix_matrix(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi__DM__matrix_matrix(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = casadi::DM::matrix_matrix(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "matrix_scalar" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::matrix_scalar"
+// cWrapperName: "casadi__DM__matrix_scalar"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__matrix_scalar(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
+// call: "        casadi::DM ret = casadi::DM::matrix_scalar(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__matrix_scalar(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi__DM__matrix_scalar(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = casadi::DM::matrix_scalar(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "n_dep" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::n_dep"
+// cWrapperName: "casadi__DM__n_dep"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__n_dep(std::string ** err_msg, casadi::DM* obj)"
+// call: "        long long ret = obj->n_dep();"
+// params: []
+extern "C"
+long long
+    casadi__DM__n_dep(std::string ** err_msg, casadi::DM* obj);
+long long
+    casadi__DM__n_dep(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        long long ret = obj->n_dep();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "name" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::name"
+// cWrapperName: "casadi__DM__name"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__DM__name(std::string ** err_msg, casadi::DM* obj)"
+// call: "        std::string ret = obj->name();"
+// params: []
+extern "C"
+std::string*
+    casadi__DM__name(std::string ** err_msg, casadi::DM* obj);
+std::string*
+    casadi__DM__name(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        std::string ret = obj->name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::nan"
+// cWrapperName: "casadi__DM__nan__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::DM ret = casadi::DM::nan(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::DM*
+    casadi__DM__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::nan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::nan"
+// cWrapperName: "casadi__DM__nan__1"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__nan__1(std::string ** err_msg)"
+// call: "        casadi::DM ret = casadi::DM::nan();"
+// params: []
+extern "C"
+casadi::DM*
+    casadi__DM__nan__1(std::string ** err_msg);
+casadi::DM*
+    casadi__DM__nan__1(std::string ** err_msg){
+    try {
+
+        casadi::DM ret = casadi::DM::nan();
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::nan"
+// cWrapperName: "casadi__DM__nan__2"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__nan__2(std::string ** err_msg, long long x0)"
+// call: "        casadi::DM ret = casadi::DM::nan(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__nan__2(std::string ** err_msg, long long x0);
+casadi::DM*
+    casadi__DM__nan__2(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::nan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::nan"
+// cWrapperName: "casadi__DM__nan__3"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__nan__3(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::DM ret = casadi::DM::nan(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__nan__3(std::string ** err_msg, long long x0, long long x1);
+casadi::DM*
+    casadi__DM__nan__3(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::DM ret = casadi::DM::nan(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::nan"
+// cWrapperName: "casadi__DM__nan__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::DM ret = casadi::DM::nan(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::DM*
+    casadi__DM__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::nan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::nnz"
+// cWrapperName: "casadi__DM__nnz"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__nnz(std::string ** err_msg, casadi::DM* obj)"
+// call: "        long long ret = obj->nnz();"
+// params: []
+extern "C"
+long long
+    casadi__DM__nnz(std::string ** err_msg, casadi::DM* obj);
+long long
+    casadi__DM__nnz(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        long long ret = obj->nnz();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_diag" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::nnz_diag"
+// cWrapperName: "casadi__DM__nnz_diag"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__nnz_diag(std::string ** err_msg, casadi::DM* obj)"
+// call: "        long long ret = obj->nnz_diag();"
+// params: []
+extern "C"
+long long
+    casadi__DM__nnz_diag(std::string ** err_msg, casadi::DM* obj);
+long long
+    casadi__DM__nnz_diag(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        long long ret = obj->nnz_diag();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_lower" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::nnz_lower"
+// cWrapperName: "casadi__DM__nnz_lower"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__nnz_lower(std::string ** err_msg, casadi::DM* obj)"
+// call: "        long long ret = obj->nnz_lower();"
+// params: []
+extern "C"
+long long
+    casadi__DM__nnz_lower(std::string ** err_msg, casadi::DM* obj);
+long long
+    casadi__DM__nnz_lower(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        long long ret = obj->nnz_lower();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_upper" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::nnz_upper"
+// cWrapperName: "casadi__DM__nnz_upper"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__nnz_upper(std::string ** err_msg, casadi::DM* obj)"
+// call: "        long long ret = obj->nnz_upper();"
+// params: []
+extern "C"
+long long
+    casadi__DM__nnz_upper(std::string ** err_msg, casadi::DM* obj);
+long long
+    casadi__DM__nnz_upper(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        long long ret = obj->nnz_upper();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "numel" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::numel"
+// cWrapperName: "casadi__DM__numel"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__numel(std::string ** err_msg, casadi::DM* obj)"
+// call: "        long long ret = obj->numel();"
+// params: []
+extern "C"
+long long
+    casadi__DM__numel(std::string ** err_msg, casadi::DM* obj);
+long long
+    casadi__DM__numel(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        long long ret = obj->numel();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::ones"
+// cWrapperName: "casadi__DM__ones__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::DM ret = casadi::DM::ones(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::DM*
+    casadi__DM__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::ones(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::ones"
+// cWrapperName: "casadi__DM__ones__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::DM ret = casadi::DM::ones(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::DM*
+    casadi__DM__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::ones(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::ones"
+// cWrapperName: "casadi__DM__ones__2"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__ones__2(std::string ** err_msg)"
+// call: "        casadi::DM ret = casadi::DM::ones();"
+// params: []
+extern "C"
+casadi::DM*
+    casadi__DM__ones__2(std::string ** err_msg);
+casadi::DM*
+    casadi__DM__ones__2(std::string ** err_msg){
+    try {
+
+        casadi::DM ret = casadi::DM::ones();
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::ones"
+// cWrapperName: "casadi__DM__ones__3"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__ones__3(std::string ** err_msg, long long x0)"
+// call: "        casadi::DM ret = casadi::DM::ones(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__ones__3(std::string ** err_msg, long long x0);
+casadi::DM*
+    casadi__DM__ones__3(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::ones(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::ones"
+// cWrapperName: "casadi__DM__ones__4"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__ones__4(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::DM ret = casadi::DM::ones(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__ones__4(std::string ** err_msg, long long x0, long long x1);
+casadi::DM*
+    casadi__DM__ones__4(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::DM ret = casadi::DM::ones(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "op" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::op"
+// cWrapperName: "casadi__DM__op"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__op(std::string ** err_msg, casadi::DM* obj)"
+// call: "        long long ret = obj->op();"
+// params: []
+extern "C"
+long long
+    casadi__DM__op(std::string ** err_msg, casadi::DM* obj);
+long long
+    casadi__DM__op(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        long long ret = obj->op();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator +" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::operator +"
+// cWrapperName: "casadi__DM__operator__plus"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__operator__plus(std::string ** err_msg, casadi::DM* obj)"
+// call: "        casadi::DM ret = obj->operator +();"
+// params: []
+extern "C"
+casadi::DM*
+    casadi__DM__operator__plus(std::string ** err_msg, casadi::DM* obj);
+casadi::DM*
+    casadi__DM__operator__plus(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        casadi::DM ret = obj->operator +();
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator -" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::operator -"
+// cWrapperName: "casadi__DM__operator__minus"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__operator__minus(std::string ** err_msg, casadi::DM* obj)"
+// call: "        casadi::DM ret = obj->operator -();"
+// params: []
+extern "C"
+casadi::DM*
+    casadi__DM__operator__minus(std::string ** err_msg, casadi::DM* obj);
+casadi::DM*
+    casadi__DM__operator__minus(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        casadi::DM ret = obj->operator -();
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator casadi_int" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::operator casadi_int"
+// cWrapperName: "casadi__DM__operator_casadi_int"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__operator_casadi_int(std::string ** err_msg, casadi::DM* obj)"
+// call: "        long long ret = obj->operator casadi_int();"
+// params: []
+extern "C"
+long long
+    casadi__DM__operator_casadi_int(std::string ** err_msg, casadi::DM* obj);
+long long
+    casadi__DM__operator_casadi_int(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        long long ret = obj->operator casadi_int();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator double" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::operator double"
+// cWrapperName: "casadi__DM__operator_double"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__DM__operator_double(std::string ** err_msg, casadi::DM* obj)"
+// call: "        double ret = obj->operator double();"
+// params: []
+extern "C"
+double
+    casadi__DM__operator_double(std::string ** err_msg, casadi::DM* obj);
+double
+    casadi__DM__operator_double(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        double ret = obj->operator double();
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "print_split" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::print_split"
+// cWrapperName: "casadi__DM__print_split"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__print_split(std::string ** err_msg, casadi::DM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
+// call: "        obj->print_split(x0_, x1_);"
+// params: [(Ref (StdVec StdString),SwigOutput True),(Ref (StdVec StdString),SwigOutput True)]
+extern "C"
+void
+    casadi__DM__print_split(std::string ** err_msg, casadi::DM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1);
+void
+    casadi__DM__print_split(std::string ** err_msg, casadi::DM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1){
+    try {
+        std::vector< std::string > x0_ = std::vector< std::string >();  // Swig output
+        std::vector< std::string > x1_ = std::vector< std::string >();  // Swig output
+
+        obj->print_split(x0_, x1_);
+        *x0 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x0_ );
+        *x1 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x1_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "printme" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::printme"
+// cWrapperName: "casadi__DM__printme"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__printme(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0)"
+// call: "        casadi::DM ret = obj->printme(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__printme(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0);
+casadi::DM*
+    casadi__DM__printme(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = obj->printme(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::rand"
+// cWrapperName: "casadi__DM__rand__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::DM ret = casadi::DM::rand(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::DM*
+    casadi__DM__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::rand(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::rand"
+// cWrapperName: "casadi__DM__rand__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__rand__1(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::DM ret = casadi::DM::rand(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__rand__1(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::DM*
+    casadi__DM__rand__1(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::rand(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::rand"
+// cWrapperName: "casadi__DM__rand__2"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__rand__2(std::string ** err_msg)"
+// call: "        casadi::DM ret = casadi::DM::rand();"
+// params: []
+extern "C"
+casadi::DM*
+    casadi__DM__rand__2(std::string ** err_msg);
+casadi::DM*
+    casadi__DM__rand__2(std::string ** err_msg){
+    try {
+
+        casadi::DM ret = casadi::DM::rand();
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::rand"
+// cWrapperName: "casadi__DM__rand__3"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__rand__3(std::string ** err_msg, long long x0)"
+// call: "        casadi::DM ret = casadi::DM::rand(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__rand__3(std::string ** err_msg, long long x0);
+casadi::DM*
+    casadi__DM__rand__3(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::rand(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::rand"
+// cWrapperName: "casadi__DM__rand__4"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__rand__4(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::DM ret = casadi::DM::rand(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__rand__4(std::string ** err_msg, long long x0, long long x1);
+casadi::DM*
+    casadi__DM__rand__4(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::DM ret = casadi::DM::rand(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "remove" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::remove"
+// cWrapperName: "casadi__DM__remove"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__remove(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// call: "        obj->remove(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__remove(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1);
+void
+    casadi__DM__remove(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        obj->remove(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "reserve" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::reserve"
+// cWrapperName: "casadi__DM__reserve__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__reserve__0(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1)"
+// call: "        obj->reserve(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__DM__reserve__0(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1);
+void
+    casadi__DM__reserve__0(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        obj->reserve(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "reserve" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::reserve"
+// cWrapperName: "casadi__DM__reserve__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__reserve__1(std::string ** err_msg, casadi::DM* obj, long long x0)"
+// call: "        obj->reserve(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__DM__reserve__1(std::string ** err_msg, casadi::DM* obj, long long x0);
+void
+    casadi__DM__reserve__1(std::string ** err_msg, casadi::DM* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        obj->reserve(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "reset_input" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::reset_input"
+// cWrapperName: "casadi__DM__reset_input"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__reset_input(std::string ** err_msg, casadi::DM* obj)"
+// call: "        obj->reset_input();"
+// params: []
+extern "C"
+void
+    casadi__DM__reset_input(std::string ** err_msg, casadi::DM* obj);
+void
+    casadi__DM__reset_input(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        obj->reset_input();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "resize" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::resize"
+// cWrapperName: "casadi__DM__resize"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__resize(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1)"
+// call: "        obj->resize(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__DM__resize(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1);
+void
+    casadi__DM__resize(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        obj->resize(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "rng" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::rng"
+// cWrapperName: "casadi__DM__rng"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__rng(std::string ** err_msg, long long x0)"
+// call: "        casadi::DM::rng(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__DM__rng(std::string ** err_msg, long long x0);
+void
+    casadi__DM__rng(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::DM::rng(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "row" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::row"
+// cWrapperName: "casadi__DM__row"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__row(std::string ** err_msg, casadi::DM* obj, long long x0)"
+// call: "        long long ret = obj->row(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__DM__row(std::string ** err_msg, casadi::DM* obj, long long x0);
+long long
+    casadi__DM__row(std::string ** err_msg, casadi::DM* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->row(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "rows" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::rows"
+// cWrapperName: "casadi__DM__rows"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__rows(std::string ** err_msg, casadi::DM* obj)"
+// call: "        long long ret = obj->rows();"
+// params: []
+extern "C"
+long long
+    casadi__DM__rows(std::string ** err_msg, casadi::DM* obj);
+long long
+    casadi__DM__rows(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        long long ret = obj->rows();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "scalar_matrix" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::scalar_matrix"
+// cWrapperName: "casadi__DM__scalar_matrix"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__scalar_matrix(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
+// call: "        casadi::DM ret = casadi::DM::scalar_matrix(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__scalar_matrix(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi__DM__scalar_matrix(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = casadi::DM::scalar_matrix(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::set"
+// cWrapperName: "casadi__DM__set__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__set__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__set__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::IM* x3);
+void
+    casadi__DM__set__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::IM* x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::set"
+// cWrapperName: "casadi__DM__set__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__set__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__set__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::Slice* x3);
+void
+    casadi__DM__set__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::Slice* x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::set"
+// cWrapperName: "casadi__DM__set__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__set__2(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__set__2(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::IM* x3);
+void
+    casadi__DM__set__2(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::IM* x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::set"
+// cWrapperName: "casadi__DM__set__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__set__3(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__set__3(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
+void
+    casadi__DM__set__3(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::set"
+// cWrapperName: "casadi__DM__set__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Sparsity* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__set__4(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Sparsity* x2)"
+// call: "        obj->set(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__set__4(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Sparsity* x2);
+void
+    casadi__DM__set__4(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Sparsity* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
+
+        obj->set(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::set"
+// cWrapperName: "casadi__DM__set__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__set__5(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2)"
+// call: "        obj->set(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__set__5(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2);
+void
+    casadi__DM__set__5(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->set(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::set"
+// cWrapperName: "casadi__DM__set__6"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__set__6(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2)"
+// call: "        obj->set(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__set__6(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2);
+void
+    casadi__DM__set__6(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->set(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_max_depth" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::set_max_depth"
+// cWrapperName: "casadi__DM__set_max_depth__0"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__set_max_depth__0(std::string ** err_msg)"
+// call: "        casadi::DM::set_max_depth();"
+// params: []
+extern "C"
+void
+    casadi__DM__set_max_depth__0(std::string ** err_msg);
+void
+    casadi__DM__set_max_depth__0(std::string ** err_msg){
+    try {
+
+        casadi::DM::set_max_depth();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_max_depth" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::set_max_depth"
+// cWrapperName: "casadi__DM__set_max_depth__1"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__set_max_depth__1(std::string ** err_msg, long long x0)"
+// call: "        casadi::DM::set_max_depth(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__DM__set_max_depth__1(std::string ** err_msg, long long x0);
+void
+    casadi__DM__set_max_depth__1(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::DM::set_max_depth(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_nz" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::set_nz"
+// cWrapperName: "casadi__DM__set_nz__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__set_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2)"
+// call: "        obj->set_nz(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__set_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2);
+void
+    casadi__DM__set_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->set_nz(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_nz" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::set_nz"
+// cWrapperName: "casadi__DM__set_nz__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__set_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2)"
+// call: "        obj->set_nz(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__set_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2);
+void
+    casadi__DM__set_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->set_nz(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_precision" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::set_precision"
+// cWrapperName: "casadi__DM__set_precision"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__set_precision(std::string ** err_msg, long long x0)"
+// call: "        casadi::DM::set_precision(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__DM__set_precision(std::string ** err_msg, long long x0);
+void
+    casadi__DM__set_precision(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::DM::set_precision(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_scientific" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::set_scientific"
+// cWrapperName: "casadi__DM__set_scientific"
+// protoArgs: "(std::string ** err_msg, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__set_scientific(std::string ** err_msg, int x0)"
+// call: "        casadi::DM::set_scientific(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__DM__set_scientific(std::string ** err_msg, int x0);
+void
+    casadi__DM__set_scientific(std::string ** err_msg, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        casadi::DM::set_scientific(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_width" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::set_width"
+// cWrapperName: "casadi__DM__set_width"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__set_width(std::string ** err_msg, long long x0)"
+// call: "        casadi::DM::set_width(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__DM__set_width(std::string ** err_msg, long long x0);
+void
+    casadi__DM__set_width(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::DM::set_width(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::size"
+// cWrapperName: "casadi__DM__size__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__size__0(std::string ** err_msg, casadi::DM* obj, long long x0)"
+// call: "        long long ret = obj->size(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__DM__size__0(std::string ** err_msg, casadi::DM* obj, long long x0);
+long long
+    casadi__DM__size__0(std::string ** err_msg, casadi::DM* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->size(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::size"
+// cWrapperName: "casadi__DM__size__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: StdPair CLongLong CLongLong
+// cWrapperRetType: "std::pair< long long, long long >*"
+// proto: "std::pair< long long, long long >*\n    casadi__DM__size__1(std::string ** err_msg, casadi::DM* obj)"
+// call: "        std::pair< long long, long long > ret = obj->size();"
+// params: []
+extern "C"
+std::pair< long long, long long >*
+    casadi__DM__size__1(std::string ** err_msg, casadi::DM* obj);
+std::pair< long long, long long >*
+    casadi__DM__size__1(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        std::pair< long long, long long > ret = obj->size();
+
+        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size1" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::size1"
+// cWrapperName: "casadi__DM__size1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__size1(std::string ** err_msg, casadi::DM* obj)"
+// call: "        long long ret = obj->size1();"
+// params: []
+extern "C"
+long long
+    casadi__DM__size1(std::string ** err_msg, casadi::DM* obj);
+long long
+    casadi__DM__size1(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        long long ret = obj->size1();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size2" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::size2"
+// cWrapperName: "casadi__DM__size2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__DM__size2(std::string ** err_msg, casadi::DM* obj)"
+// call: "        long long ret = obj->size2();"
+// params: []
+extern "C"
+long long
+    casadi__DM__size2(std::string ** err_msg, casadi::DM* obj);
+long long
+    casadi__DM__size2(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        long long ret = obj->size2();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::sparsity"
+// cWrapperName: "casadi__DM__sparsity"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
+// args: "()"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__DM__sparsity(std::string ** err_msg, casadi::DM* obj)"
+// call: "        casadi::Sparsity ret = obj->sparsity();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__DM__sparsity(std::string ** err_msg, casadi::DM* obj);
+casadi::Sparsity*
+    casadi__DM__sparsity(std::string ** err_msg, casadi::DM* obj){
+    try {
+
+        casadi::Sparsity ret = obj->sparsity();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::sym"
+// cWrapperName: "casadi__DM__sym__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
+// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
+// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi__DM__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
+// call: "        std::vector< std::vector< casadi::DM > > ret = casadi::DM::sym(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< std::vector< casadi::DM* >* >*
+    casadi__DM__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4);
+std::vector< std::vector< casadi::DM* >* >*
+    casadi__DM__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+
+        std::vector< std::vector< casadi::DM > > ret = casadi::DM::sym(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::sym"
+// cWrapperName: "casadi__DM__sym__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
+// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
+// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi__DM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
+// call: "        std::vector< std::vector< casadi::DM > > ret = casadi::DM::sym(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< std::vector< casadi::DM* >* >*
+    casadi__DM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3);
+std::vector< std::vector< casadi::DM* >* >*
+    casadi__DM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        std::vector< std::vector< casadi::DM > > ret = casadi::DM::sym(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::sym"
+// cWrapperName: "casadi__DM__sym__2"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi__DM__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
+// call: "        std::vector< casadi::DM > ret = casadi::DM::sym(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< casadi::DM* >*
+    casadi__DM__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3);
+std::vector< casadi::DM* >*
+    casadi__DM__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        std::vector< casadi::DM > ret = casadi::DM::sym(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::sym"
+// cWrapperName: "casadi__DM__sym__3"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi__DM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
+// call: "        std::vector< casadi::DM > ret = casadi::DM::sym(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< casadi::DM* >*
+    casadi__DM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2);
+std::vector< casadi::DM* >*
+    casadi__DM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< casadi::DM > ret = casadi::DM::sym(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::sym"
+// cWrapperName: "casadi__DM__sym__4"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
+// call: "        casadi::DM ret = casadi::DM::sym(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
+casadi::DM*
+    casadi__DM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::DM ret = casadi::DM::sym(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::sym"
+// cWrapperName: "casadi__DM__sym__5"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
+// call: "        casadi::DM ret = casadi::DM::sym(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1);
+casadi::DM*
+    casadi__DM__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);
+
+        casadi::DM ret = casadi::DM::sym(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::sym"
+// cWrapperName: "casadi__DM__sym__6"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__sym__6(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::DM ret = casadi::DM::sym(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__sym__6(std::string ** err_msg, std::string* x0);
+casadi::DM*
+    casadi__DM__sym__6(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::sym(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::sym"
+// cWrapperName: "casadi__DM__sym__7"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__sym__7(std::string ** err_msg, std::string* x0, long long x1)"
+// call: "        casadi::DM ret = casadi::DM::sym(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__sym__7(std::string ** err_msg, std::string* x0, long long x1);
+casadi::DM*
+    casadi__DM__sym__7(std::string ** err_msg, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::DM ret = casadi::DM::sym(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::sym"
+// cWrapperName: "casadi__DM__sym__8"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
+// call: "        casadi::DM ret = casadi::DM::sym(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2);
+casadi::DM*
+    casadi__DM__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::DM ret = casadi::DM::sym(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_file" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::to_file"
+// cWrapperName: "casadi__DM__to_file__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__to_file__0(std::string ** err_msg, casadi::DM* obj, std::string* x0)"
+// call: "        obj->to_file(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__to_file__0(std::string ** err_msg, casadi::DM* obj, std::string* x0);
+void
+    casadi__DM__to_file__0(std::string ** err_msg, casadi::DM* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->to_file(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "to_file" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::to_file"
+// cWrapperName: "casadi__DM__to_file__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::string* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DM__to_file__1(std::string ** err_msg, casadi::DM* obj, std::string* x0, std::string* x1)"
+// call: "        obj->to_file(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__DM__to_file__1(std::string ** err_msg, casadi::DM* obj, std::string* x0, std::string* x1);
+void
+    casadi__DM__to_file__1(std::string ** err_msg, casadi::DM* obj, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        obj->to_file(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "triplet" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::triplet"
+// cWrapperName: "casadi__DM__triplet__0"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, std::pair< long long, long long >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, std::pair< long long, long long >* x3)"
+// call: "        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, std::pair< long long, long long >* x3);
+casadi::DM*
+    casadi__DM__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, std::pair< long long, long long >* x3){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        std::pair< long long, long long > x3_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x3);
+
+        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "triplet" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::triplet"
+// cWrapperName: "casadi__DM__triplet__1"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, long long x3, long long x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, long long x3, long long x4)"
+// call: "        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, long long x3, long long x4);
+casadi::DM*
+    casadi__DM__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, long long x3, long long x4){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+
+        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "triplet" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::triplet"
+// cWrapperName: "casadi__DM__triplet__2"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2)"
+// call: "        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2);
+casadi::DM*
+    casadi__DM__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "type_name" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::type_name"
+// cWrapperName: "casadi__DM__type_name"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__DM__type_name(std::string ** err_msg)"
+// call: "        std::string ret = casadi::DM::type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__DM__type_name(std::string ** err_msg);
+std::string*
+    casadi__DM__type_name(std::string ** err_msg){
+    try {
+
+        std::string ret = casadi::DM::type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "unary" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::unary"
+// cWrapperName: "casadi__DM__unary"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::DM* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__unary(std::string ** err_msg, long long x0, casadi::DM* x1)"
+// call: "        casadi::DM ret = casadi::DM::unary(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__unary(std::string ** err_msg, long long x0, casadi::DM* x1);
+casadi::DM*
+    casadi__DM__unary(std::string ** err_msg, long long x0, casadi::DM* x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = casadi::DM::unary(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::zeros"
+// cWrapperName: "casadi__DM__zeros__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::DM ret = casadi::DM::zeros(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::DM*
+    casadi__DM__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::zeros(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::zeros"
+// cWrapperName: "casadi__DM__zeros__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::DM ret = casadi::DM::zeros(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::DM*
+    casadi__DM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::zeros(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::zeros"
+// cWrapperName: "casadi__DM__zeros__2"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__zeros__2(std::string ** err_msg)"
+// call: "        casadi::DM ret = casadi::DM::zeros();"
+// params: []
+extern "C"
+casadi::DM*
+    casadi__DM__zeros__2(std::string ** err_msg);
+casadi::DM*
+    casadi__DM__zeros__2(std::string ** err_msg){
+    try {
+
+        casadi::DM ret = casadi::DM::zeros();
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::zeros"
+// cWrapperName: "casadi__DM__zeros__3"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__zeros__3(std::string ** err_msg, long long x0)"
+// call: "        casadi::DM ret = casadi::DM::zeros(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__zeros__3(std::string ** err_msg, long long x0);
+casadi::DM*
+    casadi__DM__zeros__3(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::DM ret = casadi::DM::zeros(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::DM"
+// cppName: "casadi::DM::zeros"
+// cWrapperName: "casadi__DM__zeros__4"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__DM__zeros__4(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::DM ret = casadi::DM::zeros(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__DM__zeros__4(std::string ** err_msg, long long x0, long long x1);
+casadi::DM*
+    casadi__DM__zeros__4(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::DM ret = casadi::DM::zeros(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "DaeBuilder")===============
+// classType: UserType (Namespace ["casadi"]) (Name "DaeBuilder")
+extern "C"
+void delete_casadi__DaeBuilder(casadi::DaeBuilder* obj);
+void delete_casadi__DaeBuilder(casadi::DaeBuilder* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder"
+// cWrapperName: "casadi__DaeBuilder__CONSTRUCTOR"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "DaeBuilder")
+// cWrapperRetType: "casadi::DaeBuilder*"
+// proto: "casadi::DaeBuilder*\n    casadi__DaeBuilder__CONSTRUCTOR(std::string ** err_msg)"
+// call: "        casadi::DaeBuilder* ret = (casadi::DaeBuilder*)new casadi::DaeBuilder();"
+// params: []
+extern "C"
+casadi::DaeBuilder*
+    casadi__DaeBuilder__CONSTRUCTOR(std::string ** err_msg);
+casadi::DaeBuilder*
+    casadi__DaeBuilder__CONSTRUCTOR(std::string ** err_msg){
+    try {
+
+        casadi::DaeBuilder* ret = (casadi::DaeBuilder*)new casadi::DaeBuilder();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_alg" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_alg"
+// cWrapperName: "casadi__DaeBuilder__add_alg"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__add_alg(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
+// call: "        obj->add_alg(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__add_alg(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1);
+void
+    casadi__DaeBuilder__add_alg(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        obj->add_alg(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "add_aux" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_aux"
+// cWrapperName: "casadi__DaeBuilder__add_aux__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_aux__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        casadi::MX ret = obj->add_aux();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_aux__0(std::string ** err_msg, casadi::DaeBuilder* obj);
+casadi::MX*
+    casadi__DaeBuilder__add_aux__0(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        casadi::MX ret = obj->add_aux();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_aux" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_aux"
+// cWrapperName: "casadi__DaeBuilder__add_aux__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_aux__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        casadi::MX ret = obj->add_aux(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_aux__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+casadi::MX*
+    casadi__DaeBuilder__add_aux__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::MX ret = obj->add_aux(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_aux" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_aux"
+// cWrapperName: "casadi__DaeBuilder__add_aux__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_aux__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// call: "        casadi::MX ret = obj->add_aux(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_aux__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
+casadi::MX*
+    casadi__DaeBuilder__add_aux__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = obj->add_aux(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_d" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_d"
+// cWrapperName: "casadi__DaeBuilder__add_d"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_d(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
+// call: "        casadi::MX ret = obj->add_d(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_d(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1);
+casadi::MX*
+    casadi__DaeBuilder__add_d(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = obj->add_d(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_dae" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_dae"
+// cWrapperName: "casadi__DaeBuilder__add_dae"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__add_dae(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
+// call: "        obj->add_dae(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__add_dae(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1);
+void
+    casadi__DaeBuilder__add_dae(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        obj->add_dae(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "add_fun" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_fun"
+// cWrapperName: "casadi__DaeBuilder__add_fun__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__DaeBuilder__add_fun__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1)"
+// call: "        casadi::Function ret = obj->add_fun(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Importer"))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__DaeBuilder__add_fun__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1);
+casadi::Function*
+    casadi__DaeBuilder__add_fun__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Importer& x1_ = Marshaling<casadi::Importer&,casadi::Importer*>::marshal(x1);
+
+        casadi::Function ret = obj->add_fun(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_fun" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_fun"
+// cWrapperName: "casadi__DaeBuilder__add_fun__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__DaeBuilder__add_fun__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// call: "        casadi::Function ret = obj->add_fun(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Importer"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__DaeBuilder__add_fun__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::Function*
+    casadi__DaeBuilder__add_fun__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Importer& x1_ = Marshaling<casadi::Importer&,casadi::Importer*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::Function ret = obj->add_fun(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_fun" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_fun"
+// cWrapperName: "casadi__DaeBuilder__add_fun__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::Function* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__DaeBuilder__add_fun__2(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::Function* x0)"
+// call: "        casadi::Function ret = obj->add_fun(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__DaeBuilder__add_fun__2(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::Function* x0);
+casadi::Function*
+    casadi__DaeBuilder__add_fun__2(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::Function* x0){
+    try {
+        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
+
+        casadi::Function ret = obj->add_fun(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_fun" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_fun"
+// cWrapperName: "casadi__DaeBuilder__add_fun__3"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__DaeBuilder__add_fun__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
+// call: "        casadi::Function ret = obj->add_fun(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__DaeBuilder__add_fun__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2);
+casadi::Function*
+    casadi__DaeBuilder__add_fun__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+
+        casadi::Function ret = obj->add_fun(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_fun" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_fun"
+// cWrapperName: "casadi__DaeBuilder__add_fun__4"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__DaeBuilder__add_fun__4(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// call: "        casadi::Function ret = obj->add_fun(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__DaeBuilder__add_fun__4(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    casadi__DaeBuilder__add_fun__4(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = obj->add_fun(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_lc" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_lc"
+// cWrapperName: "casadi__DaeBuilder__add_lc"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_lc(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1)"
+// call: "        casadi::MX ret = obj->add_lc(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_lc(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1);
+casadi::MX*
+    casadi__DaeBuilder__add_lc(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+
+        casadi::MX ret = obj->add_lc(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_ode" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_ode"
+// cWrapperName: "casadi__DaeBuilder__add_ode"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__add_ode(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
+// call: "        obj->add_ode(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__add_ode(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1);
+void
+    casadi__DaeBuilder__add_ode(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        obj->add_ode(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "add_p" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_p"
+// cWrapperName: "casadi__DaeBuilder__add_p__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_p__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        casadi::MX ret = obj->add_p();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_p__0(std::string ** err_msg, casadi::DaeBuilder* obj);
+casadi::MX*
+    casadi__DaeBuilder__add_p__0(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        casadi::MX ret = obj->add_p();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_p" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_p"
+// cWrapperName: "casadi__DaeBuilder__add_p__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_p__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        casadi::MX ret = obj->add_p(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_p__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+casadi::MX*
+    casadi__DaeBuilder__add_p__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::MX ret = obj->add_p(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_p" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_p"
+// cWrapperName: "casadi__DaeBuilder__add_p__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_p__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// call: "        casadi::MX ret = obj->add_p(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_p__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
+casadi::MX*
+    casadi__DaeBuilder__add_p__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = obj->add_p(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_q" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_q"
+// cWrapperName: "casadi__DaeBuilder__add_q__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_q__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        casadi::MX ret = obj->add_q();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_q__0(std::string ** err_msg, casadi::DaeBuilder* obj);
+casadi::MX*
+    casadi__DaeBuilder__add_q__0(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        casadi::MX ret = obj->add_q();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_q" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_q"
+// cWrapperName: "casadi__DaeBuilder__add_q__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_q__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        casadi::MX ret = obj->add_q(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_q__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+casadi::MX*
+    casadi__DaeBuilder__add_q__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::MX ret = obj->add_q(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_q" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_q"
+// cWrapperName: "casadi__DaeBuilder__add_q__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_q__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// call: "        casadi::MX ret = obj->add_q(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_q__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
+casadi::MX*
+    casadi__DaeBuilder__add_q__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = obj->add_q(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_quad" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_quad"
+// cWrapperName: "casadi__DaeBuilder__add_quad"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__add_quad(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
+// call: "        obj->add_quad(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__add_quad(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1);
+void
+    casadi__DaeBuilder__add_quad(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        obj->add_quad(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "add_s" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_s"
+// cWrapperName: "casadi__DaeBuilder__add_s__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: StdPair (UserType (Namespace ["casadi"]) (Name "MX")) (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::pair< casadi::MX*, casadi::MX* >*"
+// proto: "std::pair< casadi::MX*, casadi::MX* >*\n    casadi__DaeBuilder__add_s__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        std::pair< casadi::MX, casadi::MX > ret = obj->add_s();"
+// params: []
+extern "C"
+std::pair< casadi::MX*, casadi::MX* >*
+    casadi__DaeBuilder__add_s__0(std::string ** err_msg, casadi::DaeBuilder* obj);
+std::pair< casadi::MX*, casadi::MX* >*
+    casadi__DaeBuilder__add_s__0(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        std::pair< casadi::MX, casadi::MX > ret = obj->add_s();
+
+        return WrapReturn< std::pair< casadi::MX*, casadi::MX* >*, std::pair< casadi::MX, casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_s" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_s"
+// cWrapperName: "casadi__DaeBuilder__add_s__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdPair (UserType (Namespace ["casadi"]) (Name "MX")) (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::pair< casadi::MX*, casadi::MX* >*"
+// proto: "std::pair< casadi::MX*, casadi::MX* >*\n    casadi__DaeBuilder__add_s__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        std::pair< casadi::MX, casadi::MX > ret = obj->add_s(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::pair< casadi::MX*, casadi::MX* >*
+    casadi__DaeBuilder__add_s__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+std::pair< casadi::MX*, casadi::MX* >*
+    casadi__DaeBuilder__add_s__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::pair< casadi::MX, casadi::MX > ret = obj->add_s(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::pair< casadi::MX*, casadi::MX* >*, std::pair< casadi::MX, casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_s" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_s"
+// cWrapperName: "casadi__DaeBuilder__add_s__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: StdPair (UserType (Namespace ["casadi"]) (Name "MX")) (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::pair< casadi::MX*, casadi::MX* >*"
+// proto: "std::pair< casadi::MX*, casadi::MX* >*\n    casadi__DaeBuilder__add_s__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// call: "        std::pair< casadi::MX, casadi::MX > ret = obj->add_s(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::pair< casadi::MX*, casadi::MX* >*
+    casadi__DaeBuilder__add_s__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
+std::pair< casadi::MX*, casadi::MX* >*
+    casadi__DaeBuilder__add_s__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::pair< casadi::MX, casadi::MX > ret = obj->add_s(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::pair< casadi::MX*, casadi::MX* >*, std::pair< casadi::MX, casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_u" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_u"
+// cWrapperName: "casadi__DaeBuilder__add_u__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_u__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        casadi::MX ret = obj->add_u();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_u__0(std::string ** err_msg, casadi::DaeBuilder* obj);
+casadi::MX*
+    casadi__DaeBuilder__add_u__0(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        casadi::MX ret = obj->add_u();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_u" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_u"
+// cWrapperName: "casadi__DaeBuilder__add_u__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_u__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        casadi::MX ret = obj->add_u(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_u__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+casadi::MX*
+    casadi__DaeBuilder__add_u__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::MX ret = obj->add_u(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_u" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_u"
+// cWrapperName: "casadi__DaeBuilder__add_u__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_u__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// call: "        casadi::MX ret = obj->add_u(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_u__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
+casadi::MX*
+    casadi__DaeBuilder__add_u__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = obj->add_u(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_variable" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_variable"
+// cWrapperName: "casadi__DaeBuilder__add_variable__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1)"
+// call: "        casadi::MX ret = obj->add_variable(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1);
+casadi::MX*
+    casadi__DaeBuilder__add_variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::MX ret = obj->add_variable(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_variable" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_variable"
+// cWrapperName: "casadi__DaeBuilder__add_variable__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        casadi::MX ret = obj->add_variable(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+casadi::MX*
+    casadi__DaeBuilder__add_variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::MX ret = obj->add_variable(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_variable" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_variable"
+// cWrapperName: "casadi__DaeBuilder__add_variable__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_variable__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// call: "        casadi::MX ret = obj->add_variable(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_variable__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
+casadi::MX*
+    casadi__DaeBuilder__add_variable__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = obj->add_variable(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_variable" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_variable"
+// cWrapperName: "casadi__DaeBuilder__add_variable__3"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__add_variable__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1)"
+// call: "        obj->add_variable(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Variable"))),SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__add_variable__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1);
+void
+    casadi__DaeBuilder__add_variable__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Variable& x1_ = Marshaling<casadi::Variable&,casadi::Variable*>::marshal(x1);
+
+        obj->add_variable(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "add_x" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_x"
+// cWrapperName: "casadi__DaeBuilder__add_x__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_x__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        casadi::MX ret = obj->add_x();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_x__0(std::string ** err_msg, casadi::DaeBuilder* obj);
+casadi::MX*
+    casadi__DaeBuilder__add_x__0(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        casadi::MX ret = obj->add_x();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_x" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_x"
+// cWrapperName: "casadi__DaeBuilder__add_x__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_x__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        casadi::MX ret = obj->add_x(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_x__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+casadi::MX*
+    casadi__DaeBuilder__add_x__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::MX ret = obj->add_x(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_x" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_x"
+// cWrapperName: "casadi__DaeBuilder__add_x__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_x__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// call: "        casadi::MX ret = obj->add_x(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_x__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
+casadi::MX*
+    casadi__DaeBuilder__add_x__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = obj->add_x(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_y" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_y"
+// cWrapperName: "casadi__DaeBuilder__add_y"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_y(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
+// call: "        casadi::MX ret = obj->add_y(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_y(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1);
+casadi::MX*
+    casadi__DaeBuilder__add_y(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = obj->add_y(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_z" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_z"
+// cWrapperName: "casadi__DaeBuilder__add_z__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_z__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        casadi::MX ret = obj->add_z();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_z__0(std::string ** err_msg, casadi::DaeBuilder* obj);
+casadi::MX*
+    casadi__DaeBuilder__add_z__0(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        casadi::MX ret = obj->add_z();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_z" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_z"
+// cWrapperName: "casadi__DaeBuilder__add_z__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_z__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        casadi::MX ret = obj->add_z(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_z__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+casadi::MX*
+    casadi__DaeBuilder__add_z__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::MX ret = obj->add_z(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_z" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::add_z"
+// cWrapperName: "casadi__DaeBuilder__add_z__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__add_z__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
+// call: "        casadi::MX ret = obj->add_z(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__add_z__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
+casadi::MX*
+    casadi__DaeBuilder__add_z__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = obj->add_z(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "create" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::create"
+// cWrapperName: "casadi__DaeBuilder__create"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__DaeBuilder__create(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
+// call: "        casadi::Function ret = obj->create(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__DaeBuilder__create(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2);
+casadi::Function*
+    casadi__DaeBuilder__create(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+
+        casadi::Function ret = obj->create(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "der" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::der"
+// cWrapperName: "casadi__DaeBuilder__der__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__der__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// call: "        casadi::MX ret = obj->der(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__der__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
+casadi::MX*
+    casadi__DaeBuilder__der__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = obj->der(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "der" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::der"
+// cWrapperName: "casadi__DaeBuilder__der__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__der__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        casadi::MX ret = obj->der(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__der__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+casadi::MX*
+    casadi__DaeBuilder__der__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::MX ret = obj->der(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "derivative_start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::derivative_start"
+// cWrapperName: "casadi__DaeBuilder__derivative_start__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__DaeBuilder__derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// call: "        std::vector< double > ret = obj->derivative_start(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+std::vector< double >*
+    casadi__DaeBuilder__derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
+std::vector< double >*
+    casadi__DaeBuilder__derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::vector< double > ret = obj->derivative_start(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "derivative_start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::derivative_start"
+// cWrapperName: "casadi__DaeBuilder__derivative_start__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__DaeBuilder__derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
+// call: "        std::vector< double > ret = obj->derivative_start(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+std::vector< double >*
+    casadi__DaeBuilder__derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
+std::vector< double >*
+    casadi__DaeBuilder__derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        std::vector< double > ret = obj->derivative_start(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "derivative_start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::derivative_start"
+// cWrapperName: "casadi__DaeBuilder__derivative_start__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__DaeBuilder__derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        double ret = obj->derivative_start(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+double
+    casadi__DaeBuilder__derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+double
+    casadi__DaeBuilder__derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        double ret = obj->derivative_start(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "derivative_start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::derivative_start"
+// cWrapperName: "casadi__DaeBuilder__derivative_start__3"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__DaeBuilder__derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
+// call: "        double ret = obj->derivative_start(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+double
+    casadi__DaeBuilder__derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
+double
+    casadi__DaeBuilder__derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        double ret = obj->derivative_start(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "eliminate_alg" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::eliminate_alg"
+// cWrapperName: "casadi__DaeBuilder__eliminate_alg"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__eliminate_alg(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        obj->eliminate_alg();"
+// params: []
+extern "C"
+void
+    casadi__DaeBuilder__eliminate_alg(std::string ** err_msg, casadi::DaeBuilder* obj);
+void
+    casadi__DaeBuilder__eliminate_alg(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        obj->eliminate_alg();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "eliminate_d" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::eliminate_d"
+// cWrapperName: "casadi__DaeBuilder__eliminate_d"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__eliminate_d(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        obj->eliminate_d();"
+// params: []
+extern "C"
+void
+    casadi__DaeBuilder__eliminate_d(std::string ** err_msg, casadi::DaeBuilder* obj);
+void
+    casadi__DaeBuilder__eliminate_d(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        obj->eliminate_d();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "eliminate_quad" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::eliminate_quad"
+// cWrapperName: "casadi__DaeBuilder__eliminate_quad"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__eliminate_quad(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        obj->eliminate_quad();"
+// params: []
+extern "C"
+void
+    casadi__DaeBuilder__eliminate_quad(std::string ** err_msg, casadi::DaeBuilder* obj);
+void
+    casadi__DaeBuilder__eliminate_quad(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        obj->eliminate_quad();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "fun" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::fun"
+// cWrapperName: "casadi__DaeBuilder__fun"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__DaeBuilder__fun(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        casadi::Function ret = obj->fun(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__DaeBuilder__fun(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+casadi::Function*
+    casadi__DaeBuilder__fun(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Function ret = obj->fun(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::get_str"
+// cWrapperName: "casadi__DaeBuilder__get_str__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__DaeBuilder__get_str__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        std::string ret = obj->get_str();"
+// params: []
+extern "C"
+std::string*
+    casadi__DaeBuilder__get_str__0(std::string ** err_msg, casadi::DaeBuilder* obj);
+std::string*
+    casadi__DaeBuilder__get_str__0(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        std::string ret = obj->get_str();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::get_str"
+// cWrapperName: "casadi__DaeBuilder__get_str__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__DaeBuilder__get_str__1(std::string ** err_msg, casadi::DaeBuilder* obj, int x0)"
+// call: "        std::string ret = obj->get_str(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__DaeBuilder__get_str__1(std::string ** err_msg, casadi::DaeBuilder* obj, int x0);
+std::string*
+    casadi__DaeBuilder__get_str__1(std::string ** err_msg, casadi::DaeBuilder* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->get_str(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "guess" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::guess"
+// cWrapperName: "casadi__DaeBuilder__guess__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__DaeBuilder__guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// call: "        std::vector< double > ret = obj->guess(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+std::vector< double >*
+    casadi__DaeBuilder__guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
+std::vector< double >*
+    casadi__DaeBuilder__guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::vector< double > ret = obj->guess(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "guess" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::guess"
+// cWrapperName: "casadi__DaeBuilder__guess__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__DaeBuilder__guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
+// call: "        std::vector< double > ret = obj->guess(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+std::vector< double >*
+    casadi__DaeBuilder__guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
+std::vector< double >*
+    casadi__DaeBuilder__guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        std::vector< double > ret = obj->guess(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "guess" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::guess"
+// cWrapperName: "casadi__DaeBuilder__guess__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__DaeBuilder__guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        double ret = obj->guess(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+double
+    casadi__DaeBuilder__guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+double
+    casadi__DaeBuilder__guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        double ret = obj->guess(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "guess" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::guess"
+// cWrapperName: "casadi__DaeBuilder__guess__3"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__DaeBuilder__guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
+// call: "        double ret = obj->guess(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+double
+    casadi__DaeBuilder__guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
+double
+    casadi__DaeBuilder__guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        double ret = obj->guess(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_fun" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::has_fun"
+// cWrapperName: "casadi__DaeBuilder__has_fun"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__DaeBuilder__has_fun(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        bool ret = obj->has_fun(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+int
+    casadi__DaeBuilder__has_fun(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+int
+    casadi__DaeBuilder__has_fun(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = obj->has_fun(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "make_explicit" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::make_explicit"
+// cWrapperName: "casadi__DaeBuilder__make_explicit"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__make_explicit(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        obj->make_explicit();"
+// params: []
+extern "C"
+void
+    casadi__DaeBuilder__make_explicit(std::string ** err_msg, casadi::DaeBuilder* obj);
+void
+    casadi__DaeBuilder__make_explicit(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        obj->make_explicit();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "make_semi_explicit" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::make_semi_explicit"
+// cWrapperName: "casadi__DaeBuilder__make_semi_explicit"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__make_semi_explicit(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        obj->make_semi_explicit();"
+// params: []
+extern "C"
+void
+    casadi__DaeBuilder__make_semi_explicit(std::string ** err_msg, casadi::DaeBuilder* obj);
+void
+    casadi__DaeBuilder__make_semi_explicit(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        obj->make_semi_explicit();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "max" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::max"
+// cWrapperName: "casadi__DaeBuilder__max__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__DaeBuilder__max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// call: "        std::vector< double > ret = obj->max(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+std::vector< double >*
+    casadi__DaeBuilder__max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
+std::vector< double >*
+    casadi__DaeBuilder__max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::vector< double > ret = obj->max(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "max" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::max"
+// cWrapperName: "casadi__DaeBuilder__max__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__DaeBuilder__max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
+// call: "        std::vector< double > ret = obj->max(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+std::vector< double >*
+    casadi__DaeBuilder__max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
+std::vector< double >*
+    casadi__DaeBuilder__max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        std::vector< double > ret = obj->max(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "max" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::max"
+// cWrapperName: "casadi__DaeBuilder__max__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__DaeBuilder__max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        double ret = obj->max(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+double
+    casadi__DaeBuilder__max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+double
+    casadi__DaeBuilder__max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        double ret = obj->max(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "max" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::max"
+// cWrapperName: "casadi__DaeBuilder__max__3"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__DaeBuilder__max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
+// call: "        double ret = obj->max(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+double
+    casadi__DaeBuilder__max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
+double
+    casadi__DaeBuilder__max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        double ret = obj->max(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "min" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::min"
+// cWrapperName: "casadi__DaeBuilder__min__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__DaeBuilder__min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// call: "        std::vector< double > ret = obj->min(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+std::vector< double >*
+    casadi__DaeBuilder__min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
+std::vector< double >*
+    casadi__DaeBuilder__min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::vector< double > ret = obj->min(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "min" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::min"
+// cWrapperName: "casadi__DaeBuilder__min__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__DaeBuilder__min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
+// call: "        std::vector< double > ret = obj->min(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+std::vector< double >*
+    casadi__DaeBuilder__min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
+std::vector< double >*
+    casadi__DaeBuilder__min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        std::vector< double > ret = obj->min(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "min" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::min"
+// cWrapperName: "casadi__DaeBuilder__min__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__DaeBuilder__min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        double ret = obj->min(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+double
+    casadi__DaeBuilder__min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+double
+    casadi__DaeBuilder__min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        double ret = obj->min(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "min" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::min"
+// cWrapperName: "casadi__DaeBuilder__min__3"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__DaeBuilder__min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
+// call: "        double ret = obj->min(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+double
+    casadi__DaeBuilder__min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
+double
+    casadi__DaeBuilder__min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        double ret = obj->min(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nominal" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::nominal"
+// cWrapperName: "casadi__DaeBuilder__nominal__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__DaeBuilder__nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// call: "        std::vector< double > ret = obj->nominal(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+std::vector< double >*
+    casadi__DaeBuilder__nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
+std::vector< double >*
+    casadi__DaeBuilder__nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::vector< double > ret = obj->nominal(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nominal" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::nominal"
+// cWrapperName: "casadi__DaeBuilder__nominal__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__DaeBuilder__nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        double ret = obj->nominal(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+double
+    casadi__DaeBuilder__nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+double
+    casadi__DaeBuilder__nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        double ret = obj->nominal(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator ()" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::operator ()"
+// cWrapperName: "casadi__DaeBuilder__operator__call"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__operator__call(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        casadi::MX ret = obj->operator ()(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__operator__call(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+casadi::MX*
+    casadi__DaeBuilder__operator__call(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::MX ret = obj->operator ()(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "parse_fmi" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::parse_fmi"
+// cWrapperName: "casadi__DaeBuilder__parse_fmi"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__parse_fmi(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        obj->parse_fmi(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__parse_fmi(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+void
+    casadi__DaeBuilder__parse_fmi(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->parse_fmi(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "sanity_check" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::sanity_check"
+// cWrapperName: "casadi__DaeBuilder__sanity_check"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__sanity_check(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        obj->sanity_check();"
+// params: []
+extern "C"
+void
+    casadi__DaeBuilder__sanity_check(std::string ** err_msg, casadi::DaeBuilder* obj);
+void
+    casadi__DaeBuilder__sanity_check(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        obj->sanity_check();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "scale_equations" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::scale_equations"
+// cWrapperName: "casadi__DaeBuilder__scale_equations"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__scale_equations(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        obj->scale_equations();"
+// params: []
+extern "C"
+void
+    casadi__DaeBuilder__scale_equations(std::string ** err_msg, casadi::DaeBuilder* obj);
+void
+    casadi__DaeBuilder__scale_equations(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        obj->scale_equations();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "scale_variables" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::scale_variables"
+// cWrapperName: "casadi__DaeBuilder__scale_variables"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__scale_variables(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        obj->scale_variables();"
+// params: []
+extern "C"
+void
+    casadi__DaeBuilder__scale_variables(std::string ** err_msg, casadi::DaeBuilder* obj);
+void
+    casadi__DaeBuilder__scale_variables(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        obj->scale_variables();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_derivative_start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_derivative_start"
+// cWrapperName: "casadi__DaeBuilder__set_derivative_start__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
+// call: "        obj->set_derivative_start(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
+void
+    casadi__DaeBuilder__set_derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+
+        obj->set_derivative_start(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_derivative_start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_derivative_start"
+// cWrapperName: "casadi__DaeBuilder__set_derivative_start__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
+// call: "        obj->set_derivative_start(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
+void
+    casadi__DaeBuilder__set_derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->set_derivative_start(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_derivative_start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_derivative_start"
+// cWrapperName: "casadi__DaeBuilder__set_derivative_start__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
+// call: "        obj->set_derivative_start(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
+void
+    casadi__DaeBuilder__set_derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+
+        obj->set_derivative_start(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_derivative_start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_derivative_start"
+// cWrapperName: "casadi__DaeBuilder__set_derivative_start__3"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
+// call: "        obj->set_derivative_start(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
+void
+    casadi__DaeBuilder__set_derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->set_derivative_start(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_guess" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_guess"
+// cWrapperName: "casadi__DaeBuilder__set_guess__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
+// call: "        obj->set_guess(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
+void
+    casadi__DaeBuilder__set_guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+
+        obj->set_guess(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_guess" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_guess"
+// cWrapperName: "casadi__DaeBuilder__set_guess__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
+// call: "        obj->set_guess(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
+void
+    casadi__DaeBuilder__set_guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->set_guess(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_guess" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_guess"
+// cWrapperName: "casadi__DaeBuilder__set_guess__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
+// call: "        obj->set_guess(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
+void
+    casadi__DaeBuilder__set_guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+
+        obj->set_guess(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_guess" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_guess"
+// cWrapperName: "casadi__DaeBuilder__set_guess__3"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
+// call: "        obj->set_guess(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
+void
+    casadi__DaeBuilder__set_guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->set_guess(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_max" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_max"
+// cWrapperName: "casadi__DaeBuilder__set_max__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
+// call: "        obj->set_max(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
+void
+    casadi__DaeBuilder__set_max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+
+        obj->set_max(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_max" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_max"
+// cWrapperName: "casadi__DaeBuilder__set_max__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
+// call: "        obj->set_max(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
+void
+    casadi__DaeBuilder__set_max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->set_max(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_max" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_max"
+// cWrapperName: "casadi__DaeBuilder__set_max__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
+// call: "        obj->set_max(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
+void
+    casadi__DaeBuilder__set_max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+
+        obj->set_max(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_max" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_max"
+// cWrapperName: "casadi__DaeBuilder__set_max__3"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
+// call: "        obj->set_max(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
+void
+    casadi__DaeBuilder__set_max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->set_max(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_min" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_min"
+// cWrapperName: "casadi__DaeBuilder__set_min__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
+// call: "        obj->set_min(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
+void
+    casadi__DaeBuilder__set_min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+
+        obj->set_min(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_min" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_min"
+// cWrapperName: "casadi__DaeBuilder__set_min__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
+// call: "        obj->set_min(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
+void
+    casadi__DaeBuilder__set_min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->set_min(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_min" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_min"
+// cWrapperName: "casadi__DaeBuilder__set_min__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
+// call: "        obj->set_min(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
+void
+    casadi__DaeBuilder__set_min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+
+        obj->set_min(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_min" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_min"
+// cWrapperName: "casadi__DaeBuilder__set_min__3"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
+// call: "        obj->set_min(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
+void
+    casadi__DaeBuilder__set_min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->set_min(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_nominal" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_nominal"
+// cWrapperName: "casadi__DaeBuilder__set_nominal__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
+// call: "        obj->set_nominal(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
+void
+    casadi__DaeBuilder__set_nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+
+        obj->set_nominal(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_nominal" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_nominal"
+// cWrapperName: "casadi__DaeBuilder__set_nominal__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
+// call: "        obj->set_nominal(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
+void
+    casadi__DaeBuilder__set_nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+
+        obj->set_nominal(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_start"
+// cWrapperName: "casadi__DaeBuilder__set_start__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
+// call: "        obj->set_start(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
+void
+    casadi__DaeBuilder__set_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+
+        obj->set_start(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_start"
+// cWrapperName: "casadi__DaeBuilder__set_start__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
+// call: "        obj->set_start(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
+void
+    casadi__DaeBuilder__set_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->set_start(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_start"
+// cWrapperName: "casadi__DaeBuilder__set_start__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
+// call: "        obj->set_start(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
+void
+    casadi__DaeBuilder__set_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+
+        obj->set_start(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_start"
+// cWrapperName: "casadi__DaeBuilder__set_start__3"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
+// call: "        obj->set_start(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
+void
+    casadi__DaeBuilder__set_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->set_start(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_unit" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::set_unit"
+// cWrapperName: "casadi__DaeBuilder__set_unit"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__set_unit(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1)"
+// call: "        obj->set_unit(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__DaeBuilder__set_unit(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1);
+void
+    casadi__DaeBuilder__set_unit(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        obj->set_unit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "sort_alg" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::sort_alg"
+// cWrapperName: "casadi__DaeBuilder__sort_alg"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__sort_alg(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        obj->sort_alg();"
+// params: []
+extern "C"
+void
+    casadi__DaeBuilder__sort_alg(std::string ** err_msg, casadi::DaeBuilder* obj);
+void
+    casadi__DaeBuilder__sort_alg(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        obj->sort_alg();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "sort_d" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::sort_d"
+// cWrapperName: "casadi__DaeBuilder__sort_d"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__sort_d(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        obj->sort_d();"
+// params: []
+extern "C"
+void
+    casadi__DaeBuilder__sort_d(std::string ** err_msg, casadi::DaeBuilder* obj);
+void
+    casadi__DaeBuilder__sort_d(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        obj->sort_d();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "sort_dae" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::sort_dae"
+// cWrapperName: "casadi__DaeBuilder__sort_dae"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__sort_dae(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        obj->sort_dae();"
+// params: []
+extern "C"
+void
+    casadi__DaeBuilder__sort_dae(std::string ** err_msg, casadi::DaeBuilder* obj);
+void
+    casadi__DaeBuilder__sort_dae(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        obj->sort_dae();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "split_d" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::split_d"
+// cWrapperName: "casadi__DaeBuilder__split_d"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__split_d(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        obj->split_d();"
+// params: []
+extern "C"
+void
+    casadi__DaeBuilder__split_d(std::string ** err_msg, casadi::DaeBuilder* obj);
+void
+    casadi__DaeBuilder__split_d(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        obj->split_d();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "split_dae" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::split_dae"
+// cWrapperName: "casadi__DaeBuilder__split_dae"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__DaeBuilder__split_dae(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        obj->split_dae();"
+// params: []
+extern "C"
+void
+    casadi__DaeBuilder__split_dae(std::string ** err_msg, casadi::DaeBuilder* obj);
+void
+    casadi__DaeBuilder__split_dae(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        obj->split_dae();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::start"
+// cWrapperName: "casadi__DaeBuilder__start__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__DaeBuilder__start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// call: "        std::vector< double > ret = obj->start(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+std::vector< double >*
+    casadi__DaeBuilder__start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
+std::vector< double >*
+    casadi__DaeBuilder__start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::vector< double > ret = obj->start(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::start"
+// cWrapperName: "casadi__DaeBuilder__start__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__DaeBuilder__start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
+// call: "        std::vector< double > ret = obj->start(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+std::vector< double >*
+    casadi__DaeBuilder__start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
+std::vector< double >*
+    casadi__DaeBuilder__start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        std::vector< double > ret = obj->start(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::start"
+// cWrapperName: "casadi__DaeBuilder__start__2"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__DaeBuilder__start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        double ret = obj->start(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+double
+    casadi__DaeBuilder__start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+double
+    casadi__DaeBuilder__start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        double ret = obj->start(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "start" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::start"
+// cWrapperName: "casadi__DaeBuilder__start__3"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__DaeBuilder__start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
+// call: "        double ret = obj->start(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+double
+    casadi__DaeBuilder__start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
+double
+    casadi__DaeBuilder__start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        double ret = obj->start(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "type_name" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::type_name"
+// cWrapperName: "casadi__DaeBuilder__type_name"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__DaeBuilder__type_name(std::string ** err_msg, casadi::DaeBuilder* obj)"
+// call: "        std::string ret = obj->type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__DaeBuilder__type_name(std::string ** err_msg, casadi::DaeBuilder* obj);
+std::string*
+    casadi__DaeBuilder__type_name(std::string ** err_msg, casadi::DaeBuilder* obj){
+    try {
+
+        std::string ret = obj->type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "unit" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::unit"
+// cWrapperName: "casadi__DaeBuilder__unit__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__DaeBuilder__unit__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
+// call: "        std::string ret = obj->unit(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__DaeBuilder__unit__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
+std::string*
+    casadi__DaeBuilder__unit__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::string ret = obj->unit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "unit" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::unit"
+// cWrapperName: "casadi__DaeBuilder__unit__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__DaeBuilder__unit__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        std::string ret = obj->unit(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__DaeBuilder__unit__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+std::string*
+    casadi__DaeBuilder__unit__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = obj->unit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "var" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::var"
+// cWrapperName: "casadi__DaeBuilder__var"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__DaeBuilder__var(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        casadi::MX ret = obj->var(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__DaeBuilder__var(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+casadi::MX*
+    casadi__DaeBuilder__var(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::MX ret = obj->var(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "variable" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::variable"
+// cWrapperName: "casadi__DaeBuilder__variable__0"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Variable"))
+// cWrapperRetType: "casadi::Variable*"
+// proto: "casadi::Variable*\n    casadi__DaeBuilder__variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        casadi::Variable ret = obj->variable(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Variable*
+    casadi__DaeBuilder__variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+casadi::Variable*
+    casadi__DaeBuilder__variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Variable ret = obj->variable(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Variable*, casadi::Variable >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "variable" ===============
+// class: "casadi::DaeBuilder"
+// cppName: "casadi::DaeBuilder::variable"
+// cWrapperName: "casadi__DaeBuilder__variable__1"
+// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
+// cWrapperRetType: "casadi::Variable*"
+// proto: "casadi::Variable*\n    casadi__DaeBuilder__variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
+// call: "        casadi::Variable ret = obj->variable(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Variable*
+    casadi__DaeBuilder__variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
+casadi::Variable*
+    casadi__DaeBuilder__variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Variable ret = obj->variable(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Variable*, casadi::Variable >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "Function")===============
+// classType: UserType (Namespace ["casadi"]) (Name "Function")
+extern "C"
+void delete_casadi__Function(casadi::Function* obj);
+void delete_casadi__Function(casadi::Function* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function"
+// cWrapperName: "casadi__Function__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
+// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3);
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::map< std::string, casadi::MX > x1_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+
+        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function"
+// cWrapperName: "casadi__Function__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::map< std::string, casadi::MX > x1_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
+
+        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function"
+// cWrapperName: "casadi__Function__CONSTRUCTOR__2"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
+// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4);
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
+
+        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function"
+// cWrapperName: "casadi__Function__CONSTRUCTOR__3"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
+// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_, x5_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5);
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
+        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);
+
+        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function"
+// cWrapperName: "casadi__Function__CONSTRUCTOR__4"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
+
+        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function"
+// cWrapperName: "casadi__Function__CONSTRUCTOR__5"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function"
+// cWrapperName: "casadi__Function__CONSTRUCTOR__6"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
+// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3);
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::map< std::string, casadi::SX > x1_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+
+        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function"
+// cWrapperName: "casadi__Function__CONSTRUCTOR__7"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::map< std::string, casadi::SX > x1_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
+
+        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function"
+// cWrapperName: "casadi__Function__CONSTRUCTOR__8"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__8(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
+// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__8(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4);
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__8(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
+
+        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function"
+// cWrapperName: "casadi__Function__CONSTRUCTOR__9"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__9(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
+// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_, x5_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__9(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5);
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__9(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
+        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);
+
+        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function"
+// cWrapperName: "casadi__Function__CONSTRUCTOR__10"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
+// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2);
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
+
+        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function"
+// cWrapperName: "casadi__Function__CONSTRUCTOR__11"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__11(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__11(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__11(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function"
+// cWrapperName: "casadi__Function__CONSTRUCTOR__12"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__12(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__12(std::string ** err_msg, std::string* x0);
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__12(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function"
+// cWrapperName: "casadi__Function__CONSTRUCTOR__13"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__13(std::string ** err_msg)"
+// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function();"
+// params: []
+extern "C"
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__13(std::string ** err_msg);
+casadi::Function*
+    casadi__Function__CONSTRUCTOR__13(std::string ** err_msg){
+    try {
+
+        casadi::Function* ret = (casadi::Function*)new casadi::Function();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "assert_size_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::assert_size_in"
+// cWrapperName: "casadi__Function__assert_size_in"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__assert_size_in(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2)"
+// call: "        obj->assert_size_in(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__assert_size_in(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2);
+void
+    casadi__Function__assert_size_in(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        obj->assert_size_in(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "assert_size_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::assert_size_out"
+// cWrapperName: "casadi__Function__assert_size_out"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__assert_size_out(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2)"
+// call: "        obj->assert_size_out(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__assert_size_out(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2);
+void
+    casadi__Function__assert_size_out(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        obj->assert_size_out(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "bspline" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::bspline"
+// cWrapperName: "casadi__Function__bspline__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__bspline__0(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3)"
+// call: "        casadi::Function ret = casadi::Function::bspline(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__bspline__0(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3);
+casadi::Function*
+    casadi__Function__bspline__0(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
+        std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        casadi::Function ret = casadi::Function::bspline(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "bspline" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::bspline"
+// cWrapperName: "casadi__Function__bspline__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__bspline__1(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4)"
+// call: "        casadi::Function ret = casadi::Function::bspline(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__bspline__1(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4);
+casadi::Function*
+    casadi__Function__bspline__1(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
+        std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+
+        casadi::Function ret = casadi::Function::bspline(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "bspline" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::bspline"
+// cWrapperName: "casadi__Function__bspline__2"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, std::map< std::string, casadi::GenericType* >* x5)"
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__bspline__2(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, std::map< std::string, casadi::GenericType* >* x5)"
+// call: "        casadi::Function ret = casadi::Function::bspline(x0_, x1_, x2_, x3_, x4_, x5_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__bspline__2(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, std::map< std::string, casadi::GenericType* >* x5);
+casadi::Function*
+    casadi__Function__bspline__2(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, std::map< std::string, casadi::GenericType* >* x5){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
+        std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);
+
+        casadi::Function ret = casadi::Function::bspline(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "bspline_dual" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::bspline_dual"
+// cWrapperName: "casadi__Function__bspline_dual__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__bspline_dual__0(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3)"
+// call: "        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__bspline_dual__0(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3);
+casadi::Function*
+    casadi__Function__bspline_dual__0(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
+        std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "bspline_dual" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::bspline_dual"
+// cWrapperName: "casadi__Function__bspline_dual__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__bspline_dual__1(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4)"
+// call: "        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__bspline_dual__1(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4);
+casadi::Function*
+    casadi__Function__bspline_dual__1(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
+        std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+
+        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "bspline_dual" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::bspline_dual"
+// cWrapperName: "casadi__Function__bspline_dual__2"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5)"
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__bspline_dual__2(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5)"
+// call: "        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_, x4_, x5_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__bspline_dual__2(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5);
+casadi::Function*
+    casadi__Function__bspline_dual__2(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
+        std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+        bool x5_ = Marshaling<bool,int>::marshal(x5);
+
+        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "bspline_dual" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::bspline_dual"
+// cWrapperName: "casadi__Function__bspline_dual__3"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5, std::map< std::string, casadi::GenericType* >* x6)"
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__bspline_dual__3(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5, std::map< std::string, casadi::GenericType* >* x6)"
+// call: "        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False),(CBool,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__bspline_dual__3(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5, std::map< std::string, casadi::GenericType* >* x6);
+casadi::Function*
+    casadi__Function__bspline_dual__3(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5, std::map< std::string, casadi::GenericType* >* x6){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
+        std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+        bool x5_ = Marshaling<bool,int>::marshal(x5);
+        std::map< std::string, casadi::GenericType > x6_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x6);
+
+        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__0(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1)"
+// call: "        obj->call(x0_, x1_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True)]
+extern "C"
+void
+    casadi__Function__call__0(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1);
+void
+    casadi__Function__call__0(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1){
+    try {
+        std::map< std::string, casadi::MX > x0_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x0);
+        std::map< std::string, casadi::MX > x1_ = std::map< std::string, casadi::MX >();  // Swig output
+
+        obj->call(x0_, x1_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::map< std::string, casadi::MX* >*, std::map< std::string, casadi::MX > >::wrapReturn( x1_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2)"
+// call: "        obj->call(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__call__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2);
+void
+    casadi__Function__call__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2){
+    try {
+        std::map< std::string, casadi::MX > x0_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x0);
+        std::map< std::string, casadi::MX > x1_ = std::map< std::string, casadi::MX >();  // Swig output
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->call(x0_, x1_, x2_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::map< std::string, casadi::MX* >*, std::map< std::string, casadi::MX > >::wrapReturn( x1_ );
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__2(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2, int x3)"
+// call: "        obj->call(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__call__2(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2, int x3);
+void
+    casadi__Function__call__2(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2, int x3){
+    try {
+        std::map< std::string, casadi::MX > x0_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x0);
+        std::map< std::string, casadi::MX > x1_ = std::map< std::string, casadi::MX >();  // Swig output
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        obj->call(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::map< std::string, casadi::MX* >*, std::map< std::string, casadi::MX > >::wrapReturn( x1_ );
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__3"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__3(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1)"
+// call: "        obj->call(x0_, x1_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True)]
+extern "C"
+void
+    casadi__Function__call__3(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1);
+void
+    casadi__Function__call__3(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1){
+    try {
+        std::map< std::string, casadi::SX > x0_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x0);
+        std::map< std::string, casadi::SX > x1_ = std::map< std::string, casadi::SX >();  // Swig output
+
+        obj->call(x0_, x1_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::map< std::string, casadi::SX* >*, std::map< std::string, casadi::SX > >::wrapReturn( x1_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__4"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2)"
+// call: "        obj->call(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__call__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2);
+void
+    casadi__Function__call__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2){
+    try {
+        std::map< std::string, casadi::SX > x0_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x0);
+        std::map< std::string, casadi::SX > x1_ = std::map< std::string, casadi::SX >();  // Swig output
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->call(x0_, x1_, x2_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::map< std::string, casadi::SX* >*, std::map< std::string, casadi::SX > >::wrapReturn( x1_ );
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__5"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2, int x3)"
+// call: "        obj->call(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__call__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2, int x3);
+void
+    casadi__Function__call__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2, int x3){
+    try {
+        std::map< std::string, casadi::SX > x0_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x0);
+        std::map< std::string, casadi::SX > x1_ = std::map< std::string, casadi::SX >();  // Swig output
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        obj->call(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::map< std::string, casadi::SX* >*, std::map< std::string, casadi::SX > >::wrapReturn( x1_ );
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__6"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__6(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1)"
+// call: "        obj->call(x0_, x1_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True)]
+extern "C"
+void
+    casadi__Function__call__6(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1);
+void
+    casadi__Function__call__6(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1){
+    try {
+        std::map< std::string, casadi::DM > x0_ = Marshaling<std::map< std::string, casadi::DM >,std::map< std::string, casadi::DM* >*>::marshal(x0);
+        std::map< std::string, casadi::DM > x1_ = std::map< std::string, casadi::DM >();  // Swig output
+
+        obj->call(x0_, x1_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( x1_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__7"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__7(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2)"
+// call: "        obj->call(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__call__7(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2);
+void
+    casadi__Function__call__7(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2){
+    try {
+        std::map< std::string, casadi::DM > x0_ = Marshaling<std::map< std::string, casadi::DM >,std::map< std::string, casadi::DM* >*>::marshal(x0);
+        std::map< std::string, casadi::DM > x1_ = std::map< std::string, casadi::DM >();  // Swig output
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->call(x0_, x1_, x2_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( x1_ );
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__8"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__8(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2, int x3)"
+// call: "        obj->call(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__call__8(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2, int x3);
+void
+    casadi__Function__call__8(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2, int x3){
+    try {
+        std::map< std::string, casadi::DM > x0_ = Marshaling<std::map< std::string, casadi::DM >,std::map< std::string, casadi::DM* >*>::marshal(x0);
+        std::map< std::string, casadi::DM > x1_ = std::map< std::string, casadi::DM >();  // Swig output
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        obj->call(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( x1_ );
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__9"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1)"
+// call: "        obj->call(x0_, x1_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True)]
+extern "C"
+void
+    casadi__Function__call__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1);
+void
+    casadi__Function__call__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = std::vector< casadi::MX >();  // Swig output
+
+        obj->call(x0_, x1_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( x1_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__10"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__10(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2)"
+// call: "        obj->call(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__call__10(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2);
+void
+    casadi__Function__call__10(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = std::vector< casadi::MX >();  // Swig output
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->call(x0_, x1_, x2_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( x1_ );
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__11"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__11(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2, int x3)"
+// call: "        obj->call(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__call__11(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2, int x3);
+void
+    casadi__Function__call__11(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2, int x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = std::vector< casadi::MX >();  // Swig output
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        obj->call(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( x1_ );
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__12"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__12(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1)"
+// call: "        obj->call(x0_, x1_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True)]
+extern "C"
+void
+    casadi__Function__call__12(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1);
+void
+    casadi__Function__call__12(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = std::vector< casadi::SX >();  // Swig output
+
+        obj->call(x0_, x1_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( x1_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__13"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__13(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2)"
+// call: "        obj->call(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__call__13(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2);
+void
+    casadi__Function__call__13(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = std::vector< casadi::SX >();  // Swig output
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->call(x0_, x1_, x2_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( x1_ );
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__14"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__14(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2, int x3)"
+// call: "        obj->call(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__call__14(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2, int x3);
+void
+    casadi__Function__call__14(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2, int x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = std::vector< casadi::SX >();  // Swig output
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        obj->call(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( x1_ );
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__15"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__15(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1)"
+// call: "        obj->call(x0_, x1_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True)]
+extern "C"
+void
+    casadi__Function__call__15(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1);
+void
+    casadi__Function__call__15(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = std::vector< casadi::DM >();  // Swig output
+
+        obj->call(x0_, x1_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( x1_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__16"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__16(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2)"
+// call: "        obj->call(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__call__16(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2);
+void
+    casadi__Function__call__16(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = std::vector< casadi::DM >();  // Swig output
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->call(x0_, x1_, x2_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( x1_ );
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::call"
+// cWrapperName: "casadi__Function__call__17"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__call__17(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2, int x3)"
+// call: "        obj->call(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__call__17(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2, int x3);
+void
+    casadi__Function__call__17(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2, int x3){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = std::vector< casadi::DM >();  // Swig output
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        obj->call(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( x1_ );
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "check_name" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::check_name"
+// cWrapperName: "casadi__Function__check_name"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Function__check_name(std::string ** err_msg, std::string* x0)"
+// call: "        bool ret = casadi::Function::check_name(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+int
+    casadi__Function__check_name(std::string ** err_msg, std::string* x0);
+int
+    casadi__Function__check_name(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = casadi::Function::check_name(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "checkout" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::checkout"
+// cWrapperName: "casadi__Function__checkout"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__checkout(std::string ** err_msg, casadi::Function* obj)"
+// call: "        long long ret = obj->checkout();"
+// params: []
+extern "C"
+long long
+    casadi__Function__checkout(std::string ** err_msg, casadi::Function* obj);
+long long
+    casadi__Function__checkout(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        long long ret = obj->checkout();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "conditional" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::conditional"
+// cWrapperName: "casadi__Function__conditional__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__conditional__0(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2)"
+// call: "        casadi::Function ret = casadi::Function::conditional(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Function")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__conditional__0(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2);
+casadi::Function*
+    casadi__Function__conditional__0(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< casadi::Function > x1_ = Marshaling<std::vector< casadi::Function >,std::vector< casadi::Function* >*>::marshal(x1);
+        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
+
+        casadi::Function ret = casadi::Function::conditional(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "conditional" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::conditional"
+// cWrapperName: "casadi__Function__conditional__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__conditional__1(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// call: "        casadi::Function ret = casadi::Function::conditional(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Function")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__conditional__1(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    casadi__Function__conditional__1(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< casadi::Function > x1_ = Marshaling<std::vector< casadi::Function >,std::vector< casadi::Function* >*>::marshal(x1);
+        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::Function::conditional(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "default_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::default_in"
+// cWrapperName: "casadi__Function__default_in"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__Function__default_in(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        double ret = obj->default_in(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+double
+    casadi__Function__default_in(std::string ** err_msg, casadi::Function* obj, long long x0);
+double
+    casadi__Function__default_in(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        double ret = obj->default_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "deserialize" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::deserialize"
+// cWrapperName: "casadi__Function__deserialize"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__deserialize(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::Function ret = casadi::Function::deserialize(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__deserialize(std::string ** err_msg, std::string* x0);
+casadi::Function*
+    casadi__Function__deserialize(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Function ret = casadi::Function::deserialize(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "expand" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::expand"
+// cWrapperName: "casadi__Function__expand__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__expand__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        casadi::Function ret = obj->expand(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__expand__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+casadi::Function*
+    casadi__Function__expand__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Function ret = obj->expand(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "expand" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::expand"
+// cWrapperName: "casadi__Function__expand__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__expand__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// call: "        casadi::Function ret = obj->expand(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__expand__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
+casadi::Function*
+    casadi__Function__expand__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
+
+        casadi::Function ret = obj->expand(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "expand" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::expand"
+// cWrapperName: "casadi__Function__expand__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__expand__2(std::string ** err_msg, casadi::Function* obj)"
+// call: "        casadi::Function ret = obj->expand();"
+// params: []
+extern "C"
+casadi::Function*
+    casadi__Function__expand__2(std::string ** err_msg, casadi::Function* obj);
+casadi::Function*
+    casadi__Function__expand__2(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        casadi::Function ret = obj->expand();
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "export_code" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::export_code"
+// cWrapperName: "casadi__Function__export_code__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Function__export_code__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        std::string ret = obj->export_code(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Function__export_code__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+std::string*
+    casadi__Function__export_code__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = obj->export_code(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "export_code" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::export_code"
+// cWrapperName: "casadi__Function__export_code__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Function__export_code__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// call: "        std::string ret = obj->export_code(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Function__export_code__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
+std::string*
+    casadi__Function__export_code__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
+
+        std::string ret = obj->export_code(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "export_code" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::export_code"
+// cWrapperName: "casadi__Function__export_code__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__export_code__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
+// call: "        obj->export_code(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__Function__export_code__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1);
+void
+    casadi__Function__export_code__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        obj->export_code(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "export_code" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::export_code"
+// cWrapperName: "casadi__Function__export_code__3"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__export_code__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// call: "        obj->export_code(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+void
+    casadi__Function__export_code__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
+void
+    casadi__Function__export_code__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        obj->export_code(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "factory" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::factory"
+// cWrapperName: "casadi__Function__factory__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__factory__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
+// call: "        casadi::Function ret = obj->factory(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__factory__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2);
+casadi::Function*
+    casadi__Function__factory__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+
+        casadi::Function ret = obj->factory(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "factory" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::factory"
+// cWrapperName: "casadi__Function__factory__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__factory__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3)"
+// call: "        casadi::Function ret = obj->factory(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (StdVec StdString))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__factory__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3);
+casadi::Function*
+    casadi__Function__factory__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::map< std::string, std::vector< std::string > > x3_ = Marshaling<std::map< std::string, std::vector< std::string > >,std::map< std::string, std::vector< std::string* >* >*>::marshal(x3);
+
+        casadi::Function ret = obj->factory(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "factory" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::factory"
+// cWrapperName: "casadi__Function__factory__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__factory__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// call: "        casadi::Function ret = obj->factory(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (StdVec StdString))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__factory__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4);
+casadi::Function*
+    casadi__Function__factory__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::map< std::string, std::vector< std::string > > x3_ = Marshaling<std::map< std::string, std::vector< std::string > >,std::map< std::string, std::vector< std::string* >* >*>::marshal(x3);
+        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
+
+        casadi::Function ret = obj->factory(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "fix_name" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::fix_name"
+// cWrapperName: "casadi__Function__fix_name"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Function__fix_name(std::string ** err_msg, std::string* x0)"
+// call: "        std::string ret = casadi::Function::fix_name(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Function__fix_name(std::string ** err_msg, std::string* x0);
+std::string*
+    casadi__Function__fix_name(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = casadi::Function::fix_name(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "fold" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::fold"
+// cWrapperName: "casadi__Function__fold__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__fold__0(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        casadi::Function ret = obj->fold(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__fold__0(std::string ** err_msg, casadi::Function* obj, long long x0);
+casadi::Function*
+    casadi__Function__fold__0(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Function ret = obj->fold(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "fold" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::fold"
+// cWrapperName: "casadi__Function__fold__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__fold__1(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1)"
+// call: "        casadi::Function ret = obj->fold(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__fold__1(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1);
+casadi::Function*
+    casadi__Function__fold__1(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
+
+        casadi::Function ret = obj->fold(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "forward" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::forward"
+// cWrapperName: "casadi__Function__forward"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__forward(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        casadi::Function ret = obj->forward(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__forward(std::string ** err_msg, casadi::Function* obj, long long x0);
+casadi::Function*
+    casadi__Function__forward(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Function ret = obj->forward(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "free_mx" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::free_mx"
+// cWrapperName: "casadi__Function__free_mx"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__Function__free_mx(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::vector< casadi::MX > ret = obj->free_mx();"
+// params: []
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__Function__free_mx(std::string ** err_msg, casadi::Function* obj);
+std::vector< casadi::MX* >*
+    casadi__Function__free_mx(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::vector< casadi::MX > ret = obj->free_mx();
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "free_sx" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::free_sx"
+// cWrapperName: "casadi__Function__free_sx"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi__Function__free_sx(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::vector< casadi::SX > ret = obj->free_sx();"
+// params: []
+extern "C"
+std::vector< casadi::SX* >*
+    casadi__Function__free_sx(std::string ** err_msg, casadi::Function* obj);
+std::vector< casadi::SX* >*
+    casadi__Function__free_sx(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::vector< casadi::SX > ret = obj->free_sx();
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "generate" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::generate"
+// cWrapperName: "casadi__Function__generate__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::string ret = obj->generate();"
+// params: []
+extern "C"
+std::string*
+    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj);
+std::string*
+    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::string ret = obj->generate();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "generate" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::generate"
+// cWrapperName: "casadi__Function__generate__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Function__generate__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0)"
+// call: "        std::string ret = obj->generate(x0_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Function__generate__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0);
+std::string*
+    casadi__Function__generate__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0){
+    try {
+        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);
+
+        std::string ret = obj->generate(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "generate" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::generate"
+// cWrapperName: "casadi__Function__generate__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Function__generate__2(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        std::string ret = obj->generate(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Function__generate__2(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+std::string*
+    casadi__Function__generate__2(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = obj->generate(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "generate" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::generate"
+// cWrapperName: "casadi__Function__generate__3"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Function__generate__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// call: "        std::string ret = obj->generate(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Function__generate__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
+std::string*
+    casadi__Function__generate__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
+
+        std::string ret = obj->generate(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "generate_dependencies" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::generate_dependencies"
+// cWrapperName: "casadi__Function__generate_dependencies__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Function__generate_dependencies__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        std::string ret = obj->generate_dependencies(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Function__generate_dependencies__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+std::string*
+    casadi__Function__generate_dependencies__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = obj->generate_dependencies(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "generate_dependencies" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::generate_dependencies"
+// cWrapperName: "casadi__Function__generate_dependencies__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Function__generate_dependencies__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// call: "        std::string ret = obj->generate_dependencies(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Function__generate_dependencies__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
+std::string*
+    casadi__Function__generate_dependencies__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
+
+        std::string ret = obj->generate_dependencies(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "generate_lifted" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::generate_lifted"
+// cWrapperName: "casadi__Function__generate_lifted"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function** x0, casadi::Function** x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__generate_lifted(std::string ** err_msg, casadi::Function* obj, casadi::Function** x0, casadi::Function** x1)"
+// call: "        obj->generate_lifted(x0_, x1_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "Function")),SwigOutput True),(Ref (UserType (Namespace ["casadi"]) (Name "Function")),SwigOutput True)]
+extern "C"
+void
+    casadi__Function__generate_lifted(std::string ** err_msg, casadi::Function* obj, casadi::Function** x0, casadi::Function** x1);
+void
+    casadi__Function__generate_lifted(std::string ** err_msg, casadi::Function* obj, casadi::Function** x0, casadi::Function** x1){
+    try {
+        casadi::Function x0_ = casadi::Function();  // Swig output
+        casadi::Function x1_ = casadi::Function();  // Swig output
+
+        obj->generate_lifted(x0_, x1_);
+        *x0 = WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( x0_ );
+        *x1 = WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( x1_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_free" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::get_free"
+// cWrapperName: "casadi__Function__get_free"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: StdVec StdString
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    casadi__Function__get_free(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::vector< std::string > ret = obj->get_free();"
+// params: []
+extern "C"
+std::vector< std::string* >*
+    casadi__Function__get_free(std::string ** err_msg, casadi::Function* obj);
+std::vector< std::string* >*
+    casadi__Function__get_free(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::vector< std::string > ret = obj->get_free();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_function" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::get_function"
+// cWrapperName: "casadi__Function__get_function__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__get_function__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        casadi::Function ret = obj->get_function(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__get_function__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+casadi::Function*
+    casadi__Function__get_function__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Function ret = obj->get_function(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_function" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::get_function"
+// cWrapperName: "casadi__Function__get_function__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: StdVec StdString
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    casadi__Function__get_function__1(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::vector< std::string > ret = obj->get_function();"
+// params: []
+extern "C"
+std::vector< std::string* >*
+    casadi__Function__get_function__1(std::string ** err_msg, casadi::Function* obj);
+std::vector< std::string* >*
+    casadi__Function__get_function__1(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::vector< std::string > ret = obj->get_function();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_free" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::has_free"
+// cWrapperName: "casadi__Function__has_free"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Function__has_free(std::string ** err_msg, casadi::Function* obj)"
+// call: "        bool ret = obj->has_free();"
+// params: []
+extern "C"
+int
+    casadi__Function__has_free(std::string ** err_msg, casadi::Function* obj);
+int
+    casadi__Function__has_free(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        bool ret = obj->has_free();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_function" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::has_function"
+// cWrapperName: "casadi__Function__has_function"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Function__has_function(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        bool ret = obj->has_function(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+int
+    casadi__Function__has_function(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+int
+    casadi__Function__has_function(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = obj->has_function(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_spfwd" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::has_spfwd"
+// cWrapperName: "casadi__Function__has_spfwd"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Function__has_spfwd(std::string ** err_msg, casadi::Function* obj)"
+// call: "        bool ret = obj->has_spfwd();"
+// params: []
+extern "C"
+int
+    casadi__Function__has_spfwd(std::string ** err_msg, casadi::Function* obj);
+int
+    casadi__Function__has_spfwd(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        bool ret = obj->has_spfwd();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_sprev" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::has_sprev"
+// cWrapperName: "casadi__Function__has_sprev"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Function__has_sprev(std::string ** err_msg, casadi::Function* obj)"
+// call: "        bool ret = obj->has_sprev();"
+// params: []
+extern "C"
+int
+    casadi__Function__has_sprev(std::string ** err_msg, casadi::Function* obj);
+int
+    casadi__Function__has_sprev(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        bool ret = obj->has_sprev();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "hessian_old" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::hessian_old"
+// cWrapperName: "casadi__Function__hessian_old"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__hessian_old(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1)"
+// call: "        casadi::Function ret = obj->hessian_old(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__hessian_old(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1);
+casadi::Function*
+    casadi__Function__hessian_old(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Function ret = obj->hessian_old(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "if_else" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::if_else"
+// cWrapperName: "casadi__Function__if_else__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__if_else__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2)"
+// call: "        casadi::Function ret = casadi::Function::if_else(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__if_else__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2);
+casadi::Function*
+    casadi__Function__if_else__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
+        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
+
+        casadi::Function ret = casadi::Function::if_else(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "if_else" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::if_else"
+// cWrapperName: "casadi__Function__if_else__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__if_else__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// call: "        casadi::Function ret = casadi::Function::if_else(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__if_else__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    casadi__Function__if_else__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
+        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::Function::if_else(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "index_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::index_in"
+// cWrapperName: "casadi__Function__index_in"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__index_in(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        long long ret = obj->index_in(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__index_in(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+long long
+    casadi__Function__index_in(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        long long ret = obj->index_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "index_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::index_out"
+// cWrapperName: "casadi__Function__index_out"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__index_out(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        long long ret = obj->index_out(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__index_out(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+long long
+    casadi__Function__index_out(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        long long ret = obj->index_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "info" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::info"
+// cWrapperName: "casadi__Function__info"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
+// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
+// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Function__info(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::map< std::string, casadi::GenericType > ret = obj->info();"
+// params: []
+extern "C"
+std::map< std::string, casadi::GenericType* >*
+    casadi__Function__info(std::string ** err_msg, casadi::Function* obj);
+std::map< std::string, casadi::GenericType* >*
+    casadi__Function__info(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::map< std::string, casadi::GenericType > ret = obj->info();
+
+        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "instruction_MX" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::instruction_MX"
+// cWrapperName: "casadi__Function__instruction_MX"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Function__instruction_MX(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        casadi::MX ret = obj->instruction_MX(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Function__instruction_MX(std::string ** err_msg, casadi::Function* obj, long long x0);
+casadi::MX*
+    casadi__Function__instruction_MX(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX ret = obj->instruction_MX(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "instruction_constant" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::instruction_constant"
+// cWrapperName: "casadi__Function__instruction_constant"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__Function__instruction_constant(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        double ret = obj->instruction_constant(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+double
+    casadi__Function__instruction_constant(std::string ** err_msg, casadi::Function* obj, long long x0);
+double
+    casadi__Function__instruction_constant(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        double ret = obj->instruction_constant(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "instruction_id" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::instruction_id"
+// cWrapperName: "casadi__Function__instruction_id"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__instruction_id(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        long long ret = obj->instruction_id(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__instruction_id(std::string ** err_msg, casadi::Function* obj, long long x0);
+long long
+    casadi__Function__instruction_id(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->instruction_id(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "instruction_input" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::instruction_input"
+// cWrapperName: "casadi__Function__instruction_input"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Function__instruction_input(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        std::vector< long long > ret = obj->instruction_input(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< long long >*
+    casadi__Function__instruction_input(std::string ** err_msg, casadi::Function* obj, long long x0);
+std::vector< long long >*
+    casadi__Function__instruction_input(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::vector< long long > ret = obj->instruction_input(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "instruction_output" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::instruction_output"
+// cWrapperName: "casadi__Function__instruction_output"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Function__instruction_output(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        std::vector< long long > ret = obj->instruction_output(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< long long >*
+    casadi__Function__instruction_output(std::string ** err_msg, casadi::Function* obj, long long x0);
+std::vector< long long >*
+    casadi__Function__instruction_output(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::vector< long long > ret = obj->instruction_output(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_a" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::is_a"
+// cWrapperName: "casadi__Function__is_a__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Function__is_a__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        bool ret = obj->is_a(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+int
+    casadi__Function__is_a__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+int
+    casadi__Function__is_a__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = obj->is_a(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_a" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::is_a"
+// cWrapperName: "casadi__Function__is_a__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Function__is_a__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
+// call: "        bool ret = obj->is_a(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+int
+    casadi__Function__is_a__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
+int
+    casadi__Function__is_a__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        bool ret = obj->is_a(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "jac" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::jac"
+// cWrapperName: "casadi__Function__jac"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__jac(std::string ** err_msg, casadi::Function* obj)"
+// call: "        casadi::Function ret = obj->jac();"
+// params: []
+extern "C"
+casadi::Function*
+    casadi__Function__jac(std::string ** err_msg, casadi::Function* obj);
+casadi::Function*
+    casadi__Function__jac(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        casadi::Function ret = obj->jac();
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "jacobian" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::jacobian"
+// cWrapperName: "casadi__Function__jacobian"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__jacobian(std::string ** err_msg, casadi::Function* obj)"
+// call: "        casadi::Function ret = obj->jacobian();"
+// params: []
+extern "C"
+casadi::Function*
+    casadi__Function__jacobian(std::string ** err_msg, casadi::Function* obj);
+casadi::Function*
+    casadi__Function__jacobian(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        casadi::Function ret = obj->jacobian();
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "jacobian_old" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::jacobian_old"
+// cWrapperName: "casadi__Function__jacobian_old"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__jacobian_old(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1)"
+// call: "        casadi::Function ret = obj->jacobian_old(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__jacobian_old(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1);
+casadi::Function*
+    casadi__Function__jacobian_old(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Function ret = obj->jacobian_old(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "jit" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::jit"
+// cWrapperName: "casadi__Function__jit__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5)"
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__jit__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5)"
+// call: "        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_, x4_, x5_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__jit__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5);
+casadi::Function*
+    casadi__Function__jit__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+        std::vector< casadi::Sparsity > x4_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x4);
+        std::vector< casadi::Sparsity > x5_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x5);
+
+        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "jit" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::jit"
+// cWrapperName: "casadi__Function__jit__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5, std::map< std::string, casadi::GenericType* >* x6)"
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__jit__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5, std::map< std::string, casadi::GenericType* >* x6)"
+// call: "        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__jit__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5, std::map< std::string, casadi::GenericType* >* x6);
+casadi::Function*
+    casadi__Function__jit__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5, std::map< std::string, casadi::GenericType* >* x6){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+        std::vector< casadi::Sparsity > x4_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x4);
+        std::vector< casadi::Sparsity > x5_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x5);
+        std::map< std::string, casadi::GenericType > x6_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x6);
+
+        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "jit" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::jit"
+// cWrapperName: "casadi__Function__jit__2"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__jit__2(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
+// call: "        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__jit__2(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3);
+casadi::Function*
+    casadi__Function__jit__2(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "jit" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::jit"
+// cWrapperName: "casadi__Function__jit__3"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__jit__3(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// call: "        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__jit__3(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
+casadi::Function*
+    casadi__Function__jit__3(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
+
+        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "map" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::map"
+// cWrapperName: "casadi__Function__map__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__map__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
+// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__map__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4);
+casadi::Function*
+    casadi__Function__map__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
+
+        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "map" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::map"
+// cWrapperName: "casadi__Function__map__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__map__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
+// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_, x5_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__map__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5);
+casadi::Function*
+    casadi__Function__map__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
+        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);
+
+        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "map" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::map"
+// cWrapperName: "casadi__Function__map__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__map__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4)"
+// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__map__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4);
+casadi::Function*
+    casadi__Function__map__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+
+        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "map" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::map"
+// cWrapperName: "casadi__Function__map__3"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4, std::map< std::string, casadi::GenericType* >* x5)"
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__map__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4, std::map< std::string, casadi::GenericType* >* x5)"
+// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_, x5_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__map__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4, std::map< std::string, casadi::GenericType* >* x5);
+casadi::Function*
+    casadi__Function__map__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4, std::map< std::string, casadi::GenericType* >* x5){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);
+
+        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "map" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::map"
+// cWrapperName: "casadi__Function__map__4"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, long long x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, long long x2)"
+// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, long long x2);
+casadi::Function*
+    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, long long x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::Function ret = obj->map(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "map" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::map"
+// cWrapperName: "casadi__Function__map__5"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        casadi::Function ret = obj->map(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, long long x0);
+casadi::Function*
+    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Function ret = obj->map(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "map" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::map"
+// cWrapperName: "casadi__Function__map__6"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__map__6(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1)"
+// call: "        casadi::Function ret = obj->map(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__map__6(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1);
+casadi::Function*
+    casadi__Function__map__6(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::Function ret = obj->map(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mapaccum" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mapaccum"
+// cWrapperName: "casadi__Function__mapaccum__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__mapaccum__0(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        casadi::Function ret = obj->mapaccum(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__mapaccum__0(std::string ** err_msg, casadi::Function* obj, long long x0);
+casadi::Function*
+    casadi__Function__mapaccum__0(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Function ret = obj->mapaccum(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mapaccum" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mapaccum"
+// cWrapperName: "casadi__Function__mapaccum__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__mapaccum__1(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1)"
+// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__mapaccum__1(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1);
+casadi::Function*
+    casadi__Function__mapaccum__1(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
+
+        casadi::Function ret = obj->mapaccum(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mapaccum" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mapaccum"
+// cWrapperName: "casadi__Function__mapaccum__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__mapaccum__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
+// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__mapaccum__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3);
+casadi::Function*
+    casadi__Function__mapaccum__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+
+        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mapaccum" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mapaccum"
+// cWrapperName: "casadi__Function__mapaccum__3"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__mapaccum__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__mapaccum__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
+casadi::Function*
+    casadi__Function__mapaccum__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
+        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
+        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
+
+        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mapaccum" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mapaccum"
+// cWrapperName: "casadi__Function__mapaccum__4"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__mapaccum__4(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__mapaccum__4(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
+casadi::Function*
+    casadi__Function__mapaccum__4(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mapaccum" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mapaccum"
+// cWrapperName: "casadi__Function__mapaccum__5"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__mapaccum__5(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__mapaccum__5(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::map< std::string, casadi::GenericType* >* x4);
+casadi::Function*
+    casadi__Function__mapaccum__5(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::map< std::string, casadi::GenericType* >* x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
+
+        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mapaccum" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mapaccum"
+// cWrapperName: "casadi__Function__mapaccum__6"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__mapaccum__6(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2)"
+// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__mapaccum__6(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2);
+casadi::Function*
+    casadi__Function__mapaccum__6(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mapaccum" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mapaccum"
+// cWrapperName: "casadi__Function__mapaccum__7"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2, std::map< std::string, casadi::GenericType* >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__mapaccum__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2, std::map< std::string, casadi::GenericType* >* x3)"
+// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__mapaccum__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    casadi__Function__mapaccum__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mapaccum" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mapaccum"
+// cWrapperName: "casadi__Function__mapaccum__8"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__mapaccum__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1)"
+// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__mapaccum__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1);
+casadi::Function*
+    casadi__Function__mapaccum__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Function ret = obj->mapaccum(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mapaccum" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mapaccum"
+// cWrapperName: "casadi__Function__mapaccum__9"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::map< std::string, casadi::GenericType* >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__mapaccum__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::map< std::string, casadi::GenericType* >* x2)"
+// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__mapaccum__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::Function*
+    casadi__Function__mapaccum__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mapsum" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mapsum"
+// cWrapperName: "casadi__Function__mapsum__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0)"
+// args: "(x0_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__Function__mapsum__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0)"
+// call: "        std::vector< casadi::MX > ret = obj->mapsum(x0_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__Function__mapsum__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >*
+    casadi__Function__mapsum__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = obj->mapsum(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mapsum" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mapsum"
+// cWrapperName: "casadi__Function__mapsum__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__Function__mapsum__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "        std::vector< casadi::MX > ret = obj->mapsum(x0_, x1_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__Function__mapsum__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >*
+    casadi__Function__mapsum__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = obj->mapsum(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "max_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::max_in"
+// cWrapperName: "casadi__Function__max_in"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__Function__max_in(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        double ret = obj->max_in(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+double
+    casadi__Function__max_in(std::string ** err_msg, casadi::Function* obj, long long x0);
+double
+    casadi__Function__max_in(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        double ret = obj->max_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "min_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::min_in"
+// cWrapperName: "casadi__Function__min_in"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__Function__min_in(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        double ret = obj->min_in(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+double
+    casadi__Function__min_in(std::string ** err_msg, casadi::Function* obj, long long x0);
+double
+    casadi__Function__min_in(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        double ret = obj->min_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mx_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mx_in"
+// cWrapperName: "casadi__Function__mx_in__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__Function__mx_in__0(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::vector< casadi::MX > ret = obj->mx_in();"
+// params: []
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__Function__mx_in__0(std::string ** err_msg, casadi::Function* obj);
+std::vector< casadi::MX* >*
+    casadi__Function__mx_in__0(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::vector< casadi::MX > ret = obj->mx_in();
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mx_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mx_in"
+// cWrapperName: "casadi__Function__mx_in__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Function__mx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        casadi::MX ret = obj->mx_in(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Function__mx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+casadi::MX*
+    casadi__Function__mx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::MX ret = obj->mx_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mx_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mx_in"
+// cWrapperName: "casadi__Function__mx_in__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Function__mx_in__2(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        casadi::MX ret = obj->mx_in(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Function__mx_in__2(std::string ** err_msg, casadi::Function* obj, long long x0);
+casadi::MX*
+    casadi__Function__mx_in__2(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX ret = obj->mx_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mx_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mx_out"
+// cWrapperName: "casadi__Function__mx_out__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__Function__mx_out__0(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::vector< casadi::MX > ret = obj->mx_out();"
+// params: []
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__Function__mx_out__0(std::string ** err_msg, casadi::Function* obj);
+std::vector< casadi::MX* >*
+    casadi__Function__mx_out__0(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::vector< casadi::MX > ret = obj->mx_out();
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mx_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mx_out"
+// cWrapperName: "casadi__Function__mx_out__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Function__mx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        casadi::MX ret = obj->mx_out(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Function__mx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+casadi::MX*
+    casadi__Function__mx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::MX ret = obj->mx_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mx_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::mx_out"
+// cWrapperName: "casadi__Function__mx_out__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Function__mx_out__2(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        casadi::MX ret = obj->mx_out(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Function__mx_out__2(std::string ** err_msg, casadi::Function* obj, long long x0);
+casadi::MX*
+    casadi__Function__mx_out__2(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX ret = obj->mx_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "n_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::n_in"
+// cWrapperName: "casadi__Function__n_in"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__n_in(std::string ** err_msg, casadi::Function* obj)"
+// call: "        long long ret = obj->n_in();"
+// params: []
+extern "C"
+long long
+    casadi__Function__n_in(std::string ** err_msg, casadi::Function* obj);
+long long
+    casadi__Function__n_in(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        long long ret = obj->n_in();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "n_instructions" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::n_instructions"
+// cWrapperName: "casadi__Function__n_instructions"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__n_instructions(std::string ** err_msg, casadi::Function* obj)"
+// call: "        long long ret = obj->n_instructions();"
+// params: []
+extern "C"
+long long
+    casadi__Function__n_instructions(std::string ** err_msg, casadi::Function* obj);
+long long
+    casadi__Function__n_instructions(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        long long ret = obj->n_instructions();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "n_nodes" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::n_nodes"
+// cWrapperName: "casadi__Function__n_nodes"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__n_nodes(std::string ** err_msg, casadi::Function* obj)"
+// call: "        long long ret = obj->n_nodes();"
+// params: []
+extern "C"
+long long
+    casadi__Function__n_nodes(std::string ** err_msg, casadi::Function* obj);
+long long
+    casadi__Function__n_nodes(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        long long ret = obj->n_nodes();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "n_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::n_out"
+// cWrapperName: "casadi__Function__n_out"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__n_out(std::string ** err_msg, casadi::Function* obj)"
+// call: "        long long ret = obj->n_out();"
+// params: []
+extern "C"
+long long
+    casadi__Function__n_out(std::string ** err_msg, casadi::Function* obj);
+long long
+    casadi__Function__n_out(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        long long ret = obj->n_out();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "name" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::name"
+// cWrapperName: "casadi__Function__name"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Function__name(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::string ret = obj->name();"
+// params: []
+extern "C"
+std::string*
+    casadi__Function__name(std::string ** err_msg, casadi::Function* obj);
+std::string*
+    casadi__Function__name(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::string ret = obj->name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "name_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::name_in"
+// cWrapperName: "casadi__Function__name_in__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: Const StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Function__name_in__0(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        std::string ret = obj->name_in(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Function__name_in__0(std::string ** err_msg, casadi::Function* obj, long long x0);
+std::string*
+    casadi__Function__name_in__0(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = obj->name_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "name_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::name_in"
+// cWrapperName: "casadi__Function__name_in__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: Const (StdVec StdString)
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    casadi__Function__name_in__1(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::vector< std::string > ret = obj->name_in();"
+// params: []
+extern "C"
+std::vector< std::string* >*
+    casadi__Function__name_in__1(std::string ** err_msg, casadi::Function* obj);
+std::vector< std::string* >*
+    casadi__Function__name_in__1(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::vector< std::string > ret = obj->name_in();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "name_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::name_out"
+// cWrapperName: "casadi__Function__name_out__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: Const StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Function__name_out__0(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        std::string ret = obj->name_out(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Function__name_out__0(std::string ** err_msg, casadi::Function* obj, long long x0);
+std::string*
+    casadi__Function__name_out__0(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = obj->name_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "name_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::name_out"
+// cWrapperName: "casadi__Function__name_out__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: Const (StdVec StdString)
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    casadi__Function__name_out__1(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::vector< std::string > ret = obj->name_out();"
+// params: []
+extern "C"
+std::vector< std::string* >*
+    casadi__Function__name_out__1(std::string ** err_msg, casadi::Function* obj);
+std::vector< std::string* >*
+    casadi__Function__name_out__1(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::vector< std::string > ret = obj->name_out();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::nnz_in"
+// cWrapperName: "casadi__Function__nnz_in__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__nnz_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        long long ret = obj->nnz_in(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__nnz_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+long long
+    casadi__Function__nnz_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        long long ret = obj->nnz_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::nnz_in"
+// cWrapperName: "casadi__Function__nnz_in__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__nnz_in__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        long long ret = obj->nnz_in(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__nnz_in__1(std::string ** err_msg, casadi::Function* obj, long long x0);
+long long
+    casadi__Function__nnz_in__1(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->nnz_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::nnz_in"
+// cWrapperName: "casadi__Function__nnz_in__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__nnz_in__2(std::string ** err_msg, casadi::Function* obj)"
+// call: "        long long ret = obj->nnz_in();"
+// params: []
+extern "C"
+long long
+    casadi__Function__nnz_in__2(std::string ** err_msg, casadi::Function* obj);
+long long
+    casadi__Function__nnz_in__2(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        long long ret = obj->nnz_in();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::nnz_out"
+// cWrapperName: "casadi__Function__nnz_out__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__nnz_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        long long ret = obj->nnz_out(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__nnz_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+long long
+    casadi__Function__nnz_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        long long ret = obj->nnz_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::nnz_out"
+// cWrapperName: "casadi__Function__nnz_out__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__nnz_out__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        long long ret = obj->nnz_out(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__nnz_out__1(std::string ** err_msg, casadi::Function* obj, long long x0);
+long long
+    casadi__Function__nnz_out__1(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->nnz_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::nnz_out"
+// cWrapperName: "casadi__Function__nnz_out__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__nnz_out__2(std::string ** err_msg, casadi::Function* obj)"
+// call: "        long long ret = obj->nnz_out();"
+// params: []
+extern "C"
+long long
+    casadi__Function__nnz_out__2(std::string ** err_msg, casadi::Function* obj);
+long long
+    casadi__Function__nnz_out__2(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        long long ret = obj->nnz_out();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "numel_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::numel_in"
+// cWrapperName: "casadi__Function__numel_in__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__numel_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        long long ret = obj->numel_in(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__numel_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+long long
+    casadi__Function__numel_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        long long ret = obj->numel_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "numel_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::numel_in"
+// cWrapperName: "casadi__Function__numel_in__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__numel_in__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        long long ret = obj->numel_in(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__numel_in__1(std::string ** err_msg, casadi::Function* obj, long long x0);
+long long
+    casadi__Function__numel_in__1(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->numel_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "numel_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::numel_in"
+// cWrapperName: "casadi__Function__numel_in__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__numel_in__2(std::string ** err_msg, casadi::Function* obj)"
+// call: "        long long ret = obj->numel_in();"
+// params: []
+extern "C"
+long long
+    casadi__Function__numel_in__2(std::string ** err_msg, casadi::Function* obj);
+long long
+    casadi__Function__numel_in__2(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        long long ret = obj->numel_in();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "numel_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::numel_out"
+// cWrapperName: "casadi__Function__numel_out__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__numel_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        long long ret = obj->numel_out(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__numel_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+long long
+    casadi__Function__numel_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        long long ret = obj->numel_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "numel_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::numel_out"
+// cWrapperName: "casadi__Function__numel_out__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__numel_out__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        long long ret = obj->numel_out(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__numel_out__1(std::string ** err_msg, casadi::Function* obj, long long x0);
+long long
+    casadi__Function__numel_out__1(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->numel_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "numel_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::numel_out"
+// cWrapperName: "casadi__Function__numel_out__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__numel_out__2(std::string ** err_msg, casadi::Function* obj)"
+// call: "        long long ret = obj->numel_out();"
+// params: []
+extern "C"
+long long
+    casadi__Function__numel_out__2(std::string ** err_msg, casadi::Function* obj);
+long long
+    casadi__Function__numel_out__2(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        long long ret = obj->numel_out();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "oracle" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::oracle"
+// cWrapperName: "casadi__Function__oracle"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__oracle(std::string ** err_msg, casadi::Function* obj)"
+// call: "        casadi::Function ret = obj->oracle();"
+// params: []
+extern "C"
+casadi::Function*
+    casadi__Function__oracle(std::string ** err_msg, casadi::Function* obj);
+casadi::Function*
+    casadi__Function__oracle(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        casadi::Function ret = obj->oracle();
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "print_dimensions" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::print_dimensions"
+// cWrapperName: "casadi__Function__print_dimensions"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__print_dimensions(std::string ** err_msg, casadi::Function* obj)"
+// call: "        obj->print_dimensions();"
+// params: []
+extern "C"
+void
+    casadi__Function__print_dimensions(std::string ** err_msg, casadi::Function* obj);
+void
+    casadi__Function__print_dimensions(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        obj->print_dimensions();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "print_option" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::print_option"
+// cWrapperName: "casadi__Function__print_option"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__print_option(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        obj->print_option(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__Function__print_option(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+void
+    casadi__Function__print_option(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->print_option(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "print_options" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::print_options"
+// cWrapperName: "casadi__Function__print_options"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__print_options(std::string ** err_msg, casadi::Function* obj)"
+// call: "        obj->print_options();"
+// params: []
+extern "C"
+void
+    casadi__Function__print_options(std::string ** err_msg, casadi::Function* obj);
+void
+    casadi__Function__print_options(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        obj->print_options();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "release" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::release"
+// cWrapperName: "casadi__Function__release"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Function__release(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        obj->release(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__Function__release(std::string ** err_msg, casadi::Function* obj, long long x0);
+void
+    casadi__Function__release(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        obj->release(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "reverse" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::reverse"
+// cWrapperName: "casadi__Function__reverse"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__reverse(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        casadi::Function ret = obj->reverse(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__reverse(std::string ** err_msg, casadi::Function* obj, long long x0);
+casadi::Function*
+    casadi__Function__reverse(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Function ret = obj->reverse(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "serialize" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::serialize"
+// cWrapperName: "casadi__Function__serialize"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Function__serialize(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::string ret = obj->serialize();"
+// params: []
+extern "C"
+std::string*
+    casadi__Function__serialize(std::string ** err_msg, casadi::Function* obj);
+std::string*
+    casadi__Function__serialize(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::string ret = obj->serialize();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size1_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::size1_in"
+// cWrapperName: "casadi__Function__size1_in__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__size1_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        long long ret = obj->size1_in(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__size1_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+long long
+    casadi__Function__size1_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        long long ret = obj->size1_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size1_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::size1_in"
+// cWrapperName: "casadi__Function__size1_in__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__size1_in__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        long long ret = obj->size1_in(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__size1_in__1(std::string ** err_msg, casadi::Function* obj, long long x0);
+long long
+    casadi__Function__size1_in__1(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->size1_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size1_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::size1_out"
+// cWrapperName: "casadi__Function__size1_out__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__size1_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        long long ret = obj->size1_out(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__size1_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+long long
+    casadi__Function__size1_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        long long ret = obj->size1_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size1_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::size1_out"
+// cWrapperName: "casadi__Function__size1_out__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__size1_out__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        long long ret = obj->size1_out(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__size1_out__1(std::string ** err_msg, casadi::Function* obj, long long x0);
+long long
+    casadi__Function__size1_out__1(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->size1_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size2_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::size2_in"
+// cWrapperName: "casadi__Function__size2_in__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__size2_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        long long ret = obj->size2_in(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__size2_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+long long
+    casadi__Function__size2_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        long long ret = obj->size2_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size2_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::size2_in"
+// cWrapperName: "casadi__Function__size2_in__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__size2_in__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        long long ret = obj->size2_in(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__size2_in__1(std::string ** err_msg, casadi::Function* obj, long long x0);
+long long
+    casadi__Function__size2_in__1(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->size2_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size2_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::size2_out"
+// cWrapperName: "casadi__Function__size2_out__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__size2_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        long long ret = obj->size2_out(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__size2_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+long long
+    casadi__Function__size2_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        long long ret = obj->size2_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size2_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::size2_out"
+// cWrapperName: "casadi__Function__size2_out__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Function__size2_out__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        long long ret = obj->size2_out(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Function__size2_out__1(std::string ** err_msg, casadi::Function* obj, long long x0);
+long long
+    casadi__Function__size2_out__1(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->size2_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::size_in"
+// cWrapperName: "casadi__Function__size_in__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdPair CLongLong CLongLong
+// cWrapperRetType: "std::pair< long long, long long >*"
+// proto: "std::pair< long long, long long >*\n    casadi__Function__size_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        std::pair< long long, long long > ret = obj->size_in(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::pair< long long, long long >*
+    casadi__Function__size_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+std::pair< long long, long long >*
+    casadi__Function__size_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::pair< long long, long long > ret = obj->size_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::size_in"
+// cWrapperName: "casadi__Function__size_in__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: StdPair CLongLong CLongLong
+// cWrapperRetType: "std::pair< long long, long long >*"
+// proto: "std::pair< long long, long long >*\n    casadi__Function__size_in__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        std::pair< long long, long long > ret = obj->size_in(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+std::pair< long long, long long >*
+    casadi__Function__size_in__1(std::string ** err_msg, casadi::Function* obj, long long x0);
+std::pair< long long, long long >*
+    casadi__Function__size_in__1(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::pair< long long, long long > ret = obj->size_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::size_out"
+// cWrapperName: "casadi__Function__size_out__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdPair CLongLong CLongLong
+// cWrapperRetType: "std::pair< long long, long long >*"
+// proto: "std::pair< long long, long long >*\n    casadi__Function__size_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        std::pair< long long, long long > ret = obj->size_out(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::pair< long long, long long >*
+    casadi__Function__size_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+std::pair< long long, long long >*
+    casadi__Function__size_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::pair< long long, long long > ret = obj->size_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::size_out"
+// cWrapperName: "casadi__Function__size_out__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: StdPair CLongLong CLongLong
+// cWrapperRetType: "std::pair< long long, long long >*"
+// proto: "std::pair< long long, long long >*\n    casadi__Function__size_out__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        std::pair< long long, long long > ret = obj->size_out(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+std::pair< long long, long long >*
+    casadi__Function__size_out__1(std::string ** err_msg, casadi::Function* obj, long long x0);
+std::pair< long long, long long >*
+    casadi__Function__size_out__1(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::pair< long long, long long > ret = obj->size_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "slice" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::slice"
+// cWrapperName: "casadi__Function__slice__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__slice__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// call: "        casadi::Function ret = obj->slice(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__slice__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2);
+casadi::Function*
+    casadi__Function__slice__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+
+        casadi::Function ret = obj->slice(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "slice" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::slice"
+// cWrapperName: "casadi__Function__slice__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__slice__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// call: "        casadi::Function ret = obj->slice(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Function*
+    casadi__Function__slice__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    casadi__Function__slice__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = obj->slice(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_in"
+// cWrapperName: "casadi__Function__sparsity_in__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        casadi::Sparsity ret = obj->sparsity_in(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+casadi::Sparsity*
+    casadi__Function__sparsity_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Sparsity ret = obj->sparsity_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_in"
+// cWrapperName: "casadi__Function__sparsity_in__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_in__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        casadi::Sparsity ret = obj->sparsity_in(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_in__1(std::string ** err_msg, casadi::Function* obj, long long x0);
+casadi::Sparsity*
+    casadi__Function__sparsity_in__1(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Sparsity ret = obj->sparsity_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_jac" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_jac"
+// cWrapperName: "casadi__Function__sparsity_jac__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
+// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1);
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_jac" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_jac"
+// cWrapperName: "casadi__Function__sparsity_jac__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2)"
+// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2);
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_jac" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_jac"
+// cWrapperName: "casadi__Function__sparsity_jac__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3)"
+// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3);
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_jac" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_jac"
+// cWrapperName: "casadi__Function__sparsity_jac__3"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__3(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1)"
+// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__3(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1);
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__3(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_jac" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_jac"
+// cWrapperName: "casadi__Function__sparsity_jac__4"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__4(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2)"
+// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__4(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2);
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__4(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_jac" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_jac"
+// cWrapperName: "casadi__Function__sparsity_jac__5"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__5(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2, int x3)"
+// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__5(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2, int x3);
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__5(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2, int x3){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_jac" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_jac"
+// cWrapperName: "casadi__Function__sparsity_jac__6"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__6(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__6(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__6(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Sparsity ret = obj->sparsity_jac(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_jac" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_jac"
+// cWrapperName: "casadi__Function__sparsity_jac__7"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1)"
+// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1);
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_jac" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_jac"
+// cWrapperName: "casadi__Function__sparsity_jac__8"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2)"
+// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2);
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_jac" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_jac"
+// cWrapperName: "casadi__Function__sparsity_jac__9"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2, int x3)"
+// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2, int x3);
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2, int x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_jac" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_jac"
+// cWrapperName: "casadi__Function__sparsity_jac__10"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__10(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1)"
+// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__10(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1);
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__10(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_jac" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_jac"
+// cWrapperName: "casadi__Function__sparsity_jac__11"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__11(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2)"
+// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__11(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2);
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__11(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_jac" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_jac"
+// cWrapperName: "casadi__Function__sparsity_jac__12"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__12(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2, int x3)"
+// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__12(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2, int x3);
+casadi::Sparsity*
+    casadi__Function__sparsity_jac__12(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2, int x3){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_out"
+// cWrapperName: "casadi__Function__sparsity_out__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        casadi::Sparsity ret = obj->sparsity_out(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+casadi::Sparsity*
+    casadi__Function__sparsity_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Sparsity ret = obj->sparsity_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sparsity_out"
+// cWrapperName: "casadi__Function__sparsity_out__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_out__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        casadi::Sparsity ret = obj->sparsity_out(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Function__sparsity_out__1(std::string ** err_msg, casadi::Function* obj, long long x0);
+casadi::Sparsity*
+    casadi__Function__sparsity_out__1(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Sparsity ret = obj->sparsity_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "stats" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::stats"
+// cWrapperName: "casadi__Function__stats__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
+// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
+// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Function__stats__0(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::map< std::string, casadi::GenericType > ret = obj->stats();"
+// params: []
+extern "C"
+std::map< std::string, casadi::GenericType* >*
+    casadi__Function__stats__0(std::string ** err_msg, casadi::Function* obj);
+std::map< std::string, casadi::GenericType* >*
+    casadi__Function__stats__0(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::map< std::string, casadi::GenericType > ret = obj->stats();
+
+        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "stats" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::stats"
+// cWrapperName: "casadi__Function__stats__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
+// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
+// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Function__stats__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        std::map< std::string, casadi::GenericType > ret = obj->stats(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+std::map< std::string, casadi::GenericType* >*
+    casadi__Function__stats__1(std::string ** err_msg, casadi::Function* obj, long long x0);
+std::map< std::string, casadi::GenericType* >*
+    casadi__Function__stats__1(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::map< std::string, casadi::GenericType > ret = obj->stats(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sx_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sx_in"
+// cWrapperName: "casadi__Function__sx_in__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi__Function__sx_in__0(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::vector< casadi::SX > ret = obj->sx_in();"
+// params: []
+extern "C"
+std::vector< casadi::SX* >*
+    casadi__Function__sx_in__0(std::string ** err_msg, casadi::Function* obj);
+std::vector< casadi::SX* >*
+    casadi__Function__sx_in__0(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::vector< casadi::SX > ret = obj->sx_in();
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sx_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sx_in"
+// cWrapperName: "casadi__Function__sx_in__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__Function__sx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        casadi::SX ret = obj->sx_in(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__Function__sx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+casadi::SX*
+    casadi__Function__sx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::SX ret = obj->sx_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sx_in" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sx_in"
+// cWrapperName: "casadi__Function__sx_in__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__Function__sx_in__2(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        casadi::SX ret = obj->sx_in(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__Function__sx_in__2(std::string ** err_msg, casadi::Function* obj, long long x0);
+casadi::SX*
+    casadi__Function__sx_in__2(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::SX ret = obj->sx_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sx_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sx_out"
+// cWrapperName: "casadi__Function__sx_out__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi__Function__sx_out__0(std::string ** err_msg, casadi::Function* obj)"
+// call: "        std::vector< casadi::SX > ret = obj->sx_out();"
+// params: []
+extern "C"
+std::vector< casadi::SX* >*
+    casadi__Function__sx_out__0(std::string ** err_msg, casadi::Function* obj);
+std::vector< casadi::SX* >*
+    casadi__Function__sx_out__0(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        std::vector< casadi::SX > ret = obj->sx_out();
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sx_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sx_out"
+// cWrapperName: "casadi__Function__sx_out__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__Function__sx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
+// call: "        casadi::SX ret = obj->sx_out(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__Function__sx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0);
+casadi::SX*
+    casadi__Function__sx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::SX ret = obj->sx_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sx_out" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sx_out"
+// cWrapperName: "casadi__Function__sx_out__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// args: "(x0_)"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__Function__sx_out__2(std::string ** err_msg, casadi::Function* obj, long long x0)"
+// call: "        casadi::SX ret = obj->sx_out(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__Function__sx_out__2(std::string ** err_msg, casadi::Function* obj, long long x0);
+casadi::SX*
+    casadi__Function__sx_out__2(std::string ** err_msg, casadi::Function* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::SX ret = obj->sx_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sz_arg" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sz_arg"
+// cWrapperName: "casadi__Function__sz_arg"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CSize
+// cWrapperRetType: "size_t"
+// proto: "size_t\n    casadi__Function__sz_arg(std::string ** err_msg, casadi::Function* obj)"
+// call: "        size_t ret = obj->sz_arg();"
+// params: []
+extern "C"
+size_t
+    casadi__Function__sz_arg(std::string ** err_msg, casadi::Function* obj);
+size_t
+    casadi__Function__sz_arg(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        size_t ret = obj->sz_arg();
+
+        return WrapReturn< size_t, size_t >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sz_iw" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sz_iw"
+// cWrapperName: "casadi__Function__sz_iw"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CSize
+// cWrapperRetType: "size_t"
+// proto: "size_t\n    casadi__Function__sz_iw(std::string ** err_msg, casadi::Function* obj)"
+// call: "        size_t ret = obj->sz_iw();"
+// params: []
+extern "C"
+size_t
+    casadi__Function__sz_iw(std::string ** err_msg, casadi::Function* obj);
+size_t
+    casadi__Function__sz_iw(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        size_t ret = obj->sz_iw();
+
+        return WrapReturn< size_t, size_t >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sz_res" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sz_res"
+// cWrapperName: "casadi__Function__sz_res"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CSize
+// cWrapperRetType: "size_t"
+// proto: "size_t\n    casadi__Function__sz_res(std::string ** err_msg, casadi::Function* obj)"
+// call: "        size_t ret = obj->sz_res();"
+// params: []
+extern "C"
+size_t
+    casadi__Function__sz_res(std::string ** err_msg, casadi::Function* obj);
+size_t
+    casadi__Function__sz_res(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        size_t ret = obj->sz_res();
+
+        return WrapReturn< size_t, size_t >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sz_w" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::sz_w"
+// cWrapperName: "casadi__Function__sz_w"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CSize
+// cWrapperRetType: "size_t"
+// proto: "size_t\n    casadi__Function__sz_w(std::string ** err_msg, casadi::Function* obj)"
+// call: "        size_t ret = obj->sz_w();"
+// params: []
+extern "C"
+size_t
+    casadi__Function__sz_w(std::string ** err_msg, casadi::Function* obj);
+size_t
+    casadi__Function__sz_w(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        size_t ret = obj->sz_w();
+
+        return WrapReturn< size_t, size_t >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "type_name" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::type_name"
+// cWrapperName: "casadi__Function__type_name"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Function__type_name(std::string ** err_msg)"
+// call: "        std::string ret = casadi::Function::type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__Function__type_name(std::string ** err_msg);
+std::string*
+    casadi__Function__type_name(std::string ** err_msg){
+    try {
+
+        std::string ret = casadi::Function::type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "uses_output" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::uses_output"
+// cWrapperName: "casadi__Function__uses_output"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Function__uses_output(std::string ** err_msg, casadi::Function* obj)"
+// call: "        bool ret = obj->uses_output();"
+// params: []
+extern "C"
+int
+    casadi__Function__uses_output(std::string ** err_msg, casadi::Function* obj);
+int
+    casadi__Function__uses_output(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        bool ret = obj->uses_output();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "which_depends" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::which_depends"
+// cWrapperName: "casadi__Function__which_depends__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: StdVec CBool
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >*\n    casadi__Function__which_depends__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1)"
+// call: "        std::vector< bool > ret = obj->which_depends(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+extern "C"
+std::vector< int >*
+    casadi__Function__which_depends__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1);
+std::vector< int >*
+    casadi__Function__which_depends__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+
+        std::vector< bool > ret = obj->which_depends(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< int >*, std::vector< bool > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "which_depends" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::which_depends"
+// cWrapperName: "casadi__Function__which_depends__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: StdVec CBool
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >*\n    casadi__Function__which_depends__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2)"
+// call: "        std::vector< bool > ret = obj->which_depends(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< int >*
+    casadi__Function__which_depends__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2);
+std::vector< int >*
+    casadi__Function__which_depends__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< bool > ret = obj->which_depends(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< int >*, std::vector< bool > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "which_depends" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::which_depends"
+// cWrapperName: "casadi__Function__which_depends__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: StdVec CBool
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >*\n    casadi__Function__which_depends__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2, int x3)"
+// call: "        std::vector< bool > ret = obj->which_depends(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(CLongLong,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+std::vector< int >*
+    casadi__Function__which_depends__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2, int x3);
+std::vector< int >*
+    casadi__Function__which_depends__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2, int x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        std::vector< bool > ret = obj->which_depends(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< int >*, std::vector< bool > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "wrap" ===============
+// class: "casadi::Function"
+// cppName: "casadi::Function::wrap"
+// cWrapperName: "casadi__Function__wrap"
+// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__Function__wrap(std::string ** err_msg, casadi::Function* obj)"
+// call: "        casadi::Function ret = obj->wrap();"
+// params: []
+extern "C"
+casadi::Function*
+    casadi__Function__wrap(std::string ** err_msg, casadi::Function* obj);
+casadi::Function*
+    casadi__Function__wrap(std::string ** err_msg, casadi::Function* obj){
+    try {
+
+        casadi::Function ret = obj->wrap();
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "GenericExpressionCommon")===============
+// classType: UserType (Namespace ["casadi"]) (Name "GenericExpressionCommon")
+extern "C"
+void delete_casadi__GenericExpressionCommon(casadi::GenericExpressionCommon* obj);
+void delete_casadi__GenericExpressionCommon(casadi::GenericExpressionCommon* obj){
+    delete obj;
+}
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "GenericMatrixCommon")===============
+// classType: UserType (Namespace ["casadi"]) (Name "GenericMatrixCommon")
+extern "C"
+void delete_casadi__GenericMatrixCommon(casadi::GenericMatrixCommon* obj);
+void delete_casadi__GenericMatrixCommon(casadi::GenericMatrixCommon* obj){
+    delete obj;
+}
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "GenericType")===============
+// classType: UserType (Namespace ["casadi"]) (Name "GenericType")
+extern "C"
+void delete_casadi__GenericType(casadi::GenericType* obj);
+void delete_casadi__GenericType(casadi::GenericType* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__0(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__0(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__0(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0){
+    try {
+        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Function* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::Function* >* x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Function")))),SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::Function* >* x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::Function* >* x0){
+    try {
+        std::vector< casadi::Function > x0_ = Marshaling<std::vector< casadi::Function >,std::vector< casadi::Function* >*>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__2(std::string ** err_msg, casadi::Function* x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__2(std::string ** err_msg, casadi::Function* x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__2(std::string ** err_msg, casadi::Function* x0){
+    try {
+        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__3"
+// protoArgs: "(std::string ** err_msg, std::vector< std::string* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__3(std::string ** err_msg, std::vector< std::string* >* x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(Ref (Const (StdVec StdString)),SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__3(std::string ** err_msg, std::vector< std::string* >* x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__3(std::string ** err_msg, std::vector< std::string* >* x0){
+    try {
+        std::vector< std::string > x0_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__4"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0){
+    try {
+        std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__5"
+// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__5(std::string ** err_msg, std::vector< double >* x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(Ref (Const (StdVec CDouble)),SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__5(std::string ** err_msg, std::vector< double >* x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__5(std::string ** err_msg, std::vector< double >* x0){
+    try {
+        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__6"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< long long >* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__6(std::string ** err_msg, std::vector< std::vector< long long >* >* x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(Ref (Const (StdVec (StdVec CLongLong))),SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__6(std::string ** err_msg, std::vector< std::vector< long long >* >* x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__6(std::string ** err_msg, std::vector< std::vector< long long >* >* x0){
+    try {
+        std::vector< std::vector< long long > > x0_ = Marshaling<std::vector< std::vector< long long > >,std::vector< std::vector< long long >* >*>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__7"
+// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__7(std::string ** err_msg, std::vector< int >* x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__7(std::string ** err_msg, std::vector< int >* x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__7(std::string ** err_msg, std::vector< int >* x0){
+    try {
+        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__8"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__8(std::string ** err_msg, std::vector< long long >* x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__8(std::string ** err_msg, std::vector< long long >* x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__8(std::string ** err_msg, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__9"
+// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__9(std::string ** err_msg, std::vector< int >* x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(Ref (Const (StdVec CBool)),SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__9(std::string ** err_msg, std::vector< int >* x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__9(std::string ** err_msg, std::vector< int >* x0){
+    try {
+        std::vector< bool > x0_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__10"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__11"
+// protoArgs: "(std::string ** err_msg, double x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__11(std::string ** err_msg, double x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(CDouble,SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__11(std::string ** err_msg, double x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__11(std::string ** err_msg, double x0){
+    try {
+        double x0_ = Marshaling<double,double>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__12"
+// protoArgs: "(std::string ** err_msg, int x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__12(std::string ** err_msg, int x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(CInt,SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__12(std::string ** err_msg, int x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__12(std::string ** err_msg, int x0){
+    try {
+        int x0_ = Marshaling<int,int>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__13"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__13(std::string ** err_msg, long long x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__13(std::string ** err_msg, long long x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__13(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__14"
+// protoArgs: "(std::string ** err_msg, int x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__14(std::string ** err_msg, int x0)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__14(std::string ** err_msg, int x0);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__14(std::string ** err_msg, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType"
+// cWrapperName: "casadi__GenericType__CONSTRUCTOR__15"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
+// cWrapperRetType: "casadi::GenericType*"
+// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__15(std::string ** err_msg)"
+// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType();"
+// params: []
+extern "C"
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__15(std::string ** err_msg);
+casadi::GenericType*
+    casadi__GenericType__CONSTRUCTOR__15(std::string ** err_msg){
+    try {
+
+        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "as_bool" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::as_bool"
+// cWrapperName: "casadi__GenericType__as_bool"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: Const CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__as_bool(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->as_bool();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__as_bool(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__as_bool(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->as_bool();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "as_bool_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::as_bool_vector"
+// cWrapperName: "casadi__GenericType__as_bool_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: Const (StdVec CLongLong)
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__GenericType__as_bool_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< long long > ret = obj->as_bool_vector();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__GenericType__as_bool_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< long long >*
+    casadi__GenericType__as_bool_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< long long > ret = obj->as_bool_vector();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "as_dict" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::as_dict"
+// cWrapperName: "casadi__GenericType__as_dict"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))
+// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
+// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__GenericType__as_dict(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::map< std::string, casadi::GenericType > ret = obj->as_dict();"
+// params: []
+extern "C"
+std::map< std::string, casadi::GenericType* >*
+    casadi__GenericType__as_dict(std::string ** err_msg, casadi::GenericType* obj);
+std::map< std::string, casadi::GenericType* >*
+    casadi__GenericType__as_dict(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::map< std::string, casadi::GenericType > ret = obj->as_dict();
+
+        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "as_double" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::as_double"
+// cWrapperName: "casadi__GenericType__as_double"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: Const CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__GenericType__as_double(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        double ret = obj->as_double();"
+// params: []
+extern "C"
+double
+    casadi__GenericType__as_double(std::string ** err_msg, casadi::GenericType* obj);
+double
+    casadi__GenericType__as_double(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        double ret = obj->as_double();
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "as_double_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::as_double_vector"
+// cWrapperName: "casadi__GenericType__as_double_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: Const (StdVec CDouble)
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__GenericType__as_double_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< double > ret = obj->as_double_vector();"
+// params: []
+extern "C"
+std::vector< double >*
+    casadi__GenericType__as_double_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< double >*
+    casadi__GenericType__as_double_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< double > ret = obj->as_double_vector();
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "as_double_vector_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::as_double_vector_vector"
+// cWrapperName: "casadi__GenericType__as_double_vector_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: Const (StdVec (StdVec CDouble))
+// cWrapperRetType: "std::vector< std::vector< double >* >*"
+// proto: "std::vector< std::vector< double >* >*\n    casadi__GenericType__as_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< std::vector< double > > ret = obj->as_double_vector_vector();"
+// params: []
+extern "C"
+std::vector< std::vector< double >* >*
+    casadi__GenericType__as_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< std::vector< double >* >*
+    casadi__GenericType__as_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< std::vector< double > > ret = obj->as_double_vector_vector();
+
+        return WrapReturn< std::vector< std::vector< double >* >*, std::vector< std::vector< double > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "as_function" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::as_function"
+// cWrapperName: "casadi__GenericType__as_function"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Function"))
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__GenericType__as_function(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        casadi::Function ret = obj->as_function();"
+// params: []
+extern "C"
+casadi::Function*
+    casadi__GenericType__as_function(std::string ** err_msg, casadi::GenericType* obj);
+casadi::Function*
+    casadi__GenericType__as_function(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        casadi::Function ret = obj->as_function();
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "as_function_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::as_function_vector"
+// cWrapperName: "casadi__GenericType__as_function_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "Function")))
+// cWrapperRetType: "std::vector< casadi::Function* >*"
+// proto: "std::vector< casadi::Function* >*\n    casadi__GenericType__as_function_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< casadi::Function > ret = obj->as_function_vector();"
+// params: []
+extern "C"
+std::vector< casadi::Function* >*
+    casadi__GenericType__as_function_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< casadi::Function* >*
+    casadi__GenericType__as_function_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< casadi::Function > ret = obj->as_function_vector();
+
+        return WrapReturn< std::vector< casadi::Function* >*, std::vector< casadi::Function > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "as_int" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::as_int"
+// cWrapperName: "casadi__GenericType__as_int"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: Const CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__GenericType__as_int(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        long long ret = obj->as_int();"
+// params: []
+extern "C"
+long long
+    casadi__GenericType__as_int(std::string ** err_msg, casadi::GenericType* obj);
+long long
+    casadi__GenericType__as_int(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        long long ret = obj->as_int();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "as_int_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::as_int_vector"
+// cWrapperName: "casadi__GenericType__as_int_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: Const (StdVec CLongLong)
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__GenericType__as_int_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< long long > ret = obj->as_int_vector();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__GenericType__as_int_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< long long >*
+    casadi__GenericType__as_int_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< long long > ret = obj->as_int_vector();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "as_int_vector_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::as_int_vector_vector"
+// cWrapperName: "casadi__GenericType__as_int_vector_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: Const (StdVec (StdVec CLongLong))
+// cWrapperRetType: "std::vector< std::vector< long long >* >*"
+// proto: "std::vector< std::vector< long long >* >*\n    casadi__GenericType__as_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< std::vector< long long > > ret = obj->as_int_vector_vector();"
+// params: []
+extern "C"
+std::vector< std::vector< long long >* >*
+    casadi__GenericType__as_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< std::vector< long long >* >*
+    casadi__GenericType__as_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< std::vector< long long > > ret = obj->as_int_vector_vector();
+
+        return WrapReturn< std::vector< std::vector< long long >* >*, std::vector< std::vector< long long > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "as_string" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::as_string"
+// cWrapperName: "casadi__GenericType__as_string"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: Const StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__GenericType__as_string(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::string ret = obj->as_string();"
+// params: []
+extern "C"
+std::string*
+    casadi__GenericType__as_string(std::string ** err_msg, casadi::GenericType* obj);
+std::string*
+    casadi__GenericType__as_string(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::string ret = obj->as_string();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "as_string_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::as_string_vector"
+// cWrapperName: "casadi__GenericType__as_string_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: Const (StdVec StdString)
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    casadi__GenericType__as_string_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< std::string > ret = obj->as_string_vector();"
+// params: []
+extern "C"
+std::vector< std::string* >*
+    casadi__GenericType__as_string_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< std::string* >*
+    casadi__GenericType__as_string_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< std::string > ret = obj->as_string_vector();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "as_void_pointer" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::as_void_pointer"
+// cWrapperName: "casadi__GenericType__as_void_pointer"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__GenericType__as_void_pointer(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        obj->as_void_pointer();"
+// params: []
+extern "C"
+void
+    casadi__GenericType__as_void_pointer(std::string ** err_msg, casadi::GenericType* obj);
+void
+    casadi__GenericType__as_void_pointer(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        obj->as_void_pointer();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "getType" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::getType"
+// cWrapperName: "casadi__GenericType__getType"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CEnum (Namespace ["casadi"]) (Name "TypeID")
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__getType(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        casadi::TypeID ret = obj->getType();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__getType(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__getType(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        casadi::TypeID ret = obj->getType();
+
+        return WrapReturn< int, casadi::TypeID >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_description" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::get_description"
+// cWrapperName: "casadi__GenericType__get_description"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__GenericType__get_description(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::string ret = obj->get_description();"
+// params: []
+extern "C"
+std::string*
+    casadi__GenericType__get_description(std::string ** err_msg, casadi::GenericType* obj);
+std::string*
+    casadi__GenericType__get_description(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::string ret = obj->get_description();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_bool" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_bool"
+// cWrapperName: "casadi__GenericType__is_bool"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_bool(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_bool();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_bool(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_bool(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_bool();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_bool_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_bool_vector"
+// cWrapperName: "casadi__GenericType__is_bool_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_bool_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_bool_vector();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_bool_vector(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_bool_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_bool_vector();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_dict" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_dict"
+// cWrapperName: "casadi__GenericType__is_dict"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_dict(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_dict();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_dict(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_dict(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_dict();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_double" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_double"
+// cWrapperName: "casadi__GenericType__is_double"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_double(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_double();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_double(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_double(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_double();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_double_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_double_vector"
+// cWrapperName: "casadi__GenericType__is_double_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_double_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_double_vector();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_double_vector(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_double_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_double_vector();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_double_vector_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_double_vector_vector"
+// cWrapperName: "casadi__GenericType__is_double_vector_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_double_vector_vector();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_double_vector_vector();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_empty_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_empty_vector"
+// cWrapperName: "casadi__GenericType__is_empty_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_empty_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_empty_vector();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_empty_vector(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_empty_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_empty_vector();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_function" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_function"
+// cWrapperName: "casadi__GenericType__is_function"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_function(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_function();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_function(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_function(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_function();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_function_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_function_vector"
+// cWrapperName: "casadi__GenericType__is_function_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_function_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_function_vector();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_function_vector(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_function_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_function_vector();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_int" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_int"
+// cWrapperName: "casadi__GenericType__is_int"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_int(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_int();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_int(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_int(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_int();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_int_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_int_vector"
+// cWrapperName: "casadi__GenericType__is_int_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_int_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_int_vector();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_int_vector(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_int_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_int_vector();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_int_vector_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_int_vector_vector"
+// cWrapperName: "casadi__GenericType__is_int_vector_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_int_vector_vector();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_int_vector_vector();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_string" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_string"
+// cWrapperName: "casadi__GenericType__is_string"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_string(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_string();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_string(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_string(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_string();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_string_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_string_vector"
+// cWrapperName: "casadi__GenericType__is_string_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_string_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_string_vector();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_string_vector(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_string_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_string_vector();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_void_pointer" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::is_void_pointer"
+// cWrapperName: "casadi__GenericType__is_void_pointer"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__is_void_pointer(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->is_void_pointer();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__is_void_pointer(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__is_void_pointer(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->is_void_pointer();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator !=" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::operator !="
+// cWrapperName: "casadi__GenericType__operator__nequals"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__operator__nequals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
+// call: "        bool ret = obj->operator !=(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "GenericType"))),SwigOutput False)]
+extern "C"
+int
+    casadi__GenericType__operator__nequals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0);
+int
+    casadi__GenericType__operator__nequals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0){
+    try {
+        casadi::GenericType& x0_ = Marshaling<casadi::GenericType&,casadi::GenericType*>::marshal(x0);
+
+        bool ret = obj->operator !=(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator ==" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::operator =="
+// cWrapperName: "casadi__GenericType__operator__equals"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__operator__equals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
+// call: "        bool ret = obj->operator ==(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "GenericType"))),SwigOutput False)]
+extern "C"
+int
+    casadi__GenericType__operator__equals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0);
+int
+    casadi__GenericType__operator__equals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0){
+    try {
+        casadi::GenericType& x0_ = Marshaling<casadi::GenericType&,casadi::GenericType*>::marshal(x0);
+
+        bool ret = obj->operator ==(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_bool" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_bool"
+// cWrapperName: "casadi__GenericType__to_bool"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GenericType__to_bool(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        bool ret = obj->to_bool();"
+// params: []
+extern "C"
+int
+    casadi__GenericType__to_bool(std::string ** err_msg, casadi::GenericType* obj);
+int
+    casadi__GenericType__to_bool(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        bool ret = obj->to_bool();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_bool_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_bool_vector"
+// cWrapperName: "casadi__GenericType__to_bool_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: StdVec CBool
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >*\n    casadi__GenericType__to_bool_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< bool > ret = obj->to_bool_vector();"
+// params: []
+extern "C"
+std::vector< int >*
+    casadi__GenericType__to_bool_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< int >*
+    casadi__GenericType__to_bool_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< bool > ret = obj->to_bool_vector();
+
+        return WrapReturn< std::vector< int >*, std::vector< bool > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_dict" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_dict"
+// cWrapperName: "casadi__GenericType__to_dict"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
+// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
+// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__GenericType__to_dict(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::map< std::string, casadi::GenericType > ret = obj->to_dict();"
+// params: []
+extern "C"
+std::map< std::string, casadi::GenericType* >*
+    casadi__GenericType__to_dict(std::string ** err_msg, casadi::GenericType* obj);
+std::map< std::string, casadi::GenericType* >*
+    casadi__GenericType__to_dict(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::map< std::string, casadi::GenericType > ret = obj->to_dict();
+
+        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_double" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_double"
+// cWrapperName: "casadi__GenericType__to_double"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__GenericType__to_double(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        double ret = obj->to_double();"
+// params: []
+extern "C"
+double
+    casadi__GenericType__to_double(std::string ** err_msg, casadi::GenericType* obj);
+double
+    casadi__GenericType__to_double(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        double ret = obj->to_double();
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_double_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_double_vector"
+// cWrapperName: "casadi__GenericType__to_double_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    casadi__GenericType__to_double_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< double > ret = obj->to_double_vector();"
+// params: []
+extern "C"
+std::vector< double >*
+    casadi__GenericType__to_double_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< double >*
+    casadi__GenericType__to_double_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< double > ret = obj->to_double_vector();
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_double_vector_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_double_vector_vector"
+// cWrapperName: "casadi__GenericType__to_double_vector_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: StdVec (StdVec CDouble)
+// cWrapperRetType: "std::vector< std::vector< double >* >*"
+// proto: "std::vector< std::vector< double >* >*\n    casadi__GenericType__to_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< std::vector< double > > ret = obj->to_double_vector_vector();"
+// params: []
+extern "C"
+std::vector< std::vector< double >* >*
+    casadi__GenericType__to_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< std::vector< double >* >*
+    casadi__GenericType__to_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< std::vector< double > > ret = obj->to_double_vector_vector();
+
+        return WrapReturn< std::vector< std::vector< double >* >*, std::vector< std::vector< double > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_function" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_function"
+// cWrapperName: "casadi__GenericType__to_function"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__GenericType__to_function(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        casadi::Function ret = obj->to_function();"
+// params: []
+extern "C"
+casadi::Function*
+    casadi__GenericType__to_function(std::string ** err_msg, casadi::GenericType* obj);
+casadi::Function*
+    casadi__GenericType__to_function(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        casadi::Function ret = obj->to_function();
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_function_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_function_vector"
+// cWrapperName: "casadi__GenericType__to_function_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "Function"))
+// cWrapperRetType: "std::vector< casadi::Function* >*"
+// proto: "std::vector< casadi::Function* >*\n    casadi__GenericType__to_function_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< casadi::Function > ret = obj->to_function_vector();"
+// params: []
+extern "C"
+std::vector< casadi::Function* >*
+    casadi__GenericType__to_function_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< casadi::Function* >*
+    casadi__GenericType__to_function_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< casadi::Function > ret = obj->to_function_vector();
+
+        return WrapReturn< std::vector< casadi::Function* >*, std::vector< casadi::Function > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_int" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_int"
+// cWrapperName: "casadi__GenericType__to_int"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__GenericType__to_int(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        long long ret = obj->to_int();"
+// params: []
+extern "C"
+long long
+    casadi__GenericType__to_int(std::string ** err_msg, casadi::GenericType* obj);
+long long
+    casadi__GenericType__to_int(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        long long ret = obj->to_int();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_int_type_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_int_type_vector"
+// cWrapperName: "casadi__GenericType__to_int_type_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: StdVec CInt
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >*\n    casadi__GenericType__to_int_type_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< int > ret = obj->to_int_type_vector();"
+// params: []
+extern "C"
+std::vector< int >*
+    casadi__GenericType__to_int_type_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< int >*
+    casadi__GenericType__to_int_type_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< int > ret = obj->to_int_type_vector();
+
+        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_int_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_int_vector"
+// cWrapperName: "casadi__GenericType__to_int_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__GenericType__to_int_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< long long > ret = obj->to_int_vector();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__GenericType__to_int_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< long long >*
+    casadi__GenericType__to_int_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< long long > ret = obj->to_int_vector();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_int_vector_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_int_vector_vector"
+// cWrapperName: "casadi__GenericType__to_int_vector_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: StdVec (StdVec CLongLong)
+// cWrapperRetType: "std::vector< std::vector< long long >* >*"
+// proto: "std::vector< std::vector< long long >* >*\n    casadi__GenericType__to_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< std::vector< long long > > ret = obj->to_int_vector_vector();"
+// params: []
+extern "C"
+std::vector< std::vector< long long >* >*
+    casadi__GenericType__to_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< std::vector< long long >* >*
+    casadi__GenericType__to_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< std::vector< long long > > ret = obj->to_int_vector_vector();
+
+        return WrapReturn< std::vector< std::vector< long long >* >*, std::vector< std::vector< long long > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_string" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_string"
+// cWrapperName: "casadi__GenericType__to_string"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__GenericType__to_string(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::string ret = obj->to_string();"
+// params: []
+extern "C"
+std::string*
+    casadi__GenericType__to_string(std::string ** err_msg, casadi::GenericType* obj);
+std::string*
+    casadi__GenericType__to_string(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::string ret = obj->to_string();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_string_vector" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_string_vector"
+// cWrapperName: "casadi__GenericType__to_string_vector"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: StdVec StdString
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    casadi__GenericType__to_string_vector(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        std::vector< std::string > ret = obj->to_string_vector();"
+// params: []
+extern "C"
+std::vector< std::string* >*
+    casadi__GenericType__to_string_vector(std::string ** err_msg, casadi::GenericType* obj);
+std::vector< std::string* >*
+    casadi__GenericType__to_string_vector(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        std::vector< std::string > ret = obj->to_string_vector();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_void_pointer" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::to_void_pointer"
+// cWrapperName: "casadi__GenericType__to_void_pointer"
+// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__GenericType__to_void_pointer(std::string ** err_msg, casadi::GenericType* obj)"
+// call: "        obj->to_void_pointer();"
+// params: []
+extern "C"
+void
+    casadi__GenericType__to_void_pointer(std::string ** err_msg, casadi::GenericType* obj);
+void
+    casadi__GenericType__to_void_pointer(std::string ** err_msg, casadi::GenericType* obj){
+    try {
+
+        obj->to_void_pointer();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "type_name" ===============
+// class: "casadi::GenericType"
+// cppName: "casadi::GenericType::type_name"
+// cWrapperName: "casadi__GenericType__type_name"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__GenericType__type_name(std::string ** err_msg)"
+// call: "        std::string ret = casadi::GenericType::type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__GenericType__type_name(std::string ** err_msg);
+std::string*
+    casadi__GenericType__type_name(std::string ** err_msg){
+    try {
+
+        std::string ret = casadi::GenericType::type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "GlobalOptions")===============
+// classType: UserType (Namespace ["casadi"]) (Name "GlobalOptions")
+extern "C"
+void delete_casadi__GlobalOptions(casadi::GlobalOptions* obj);
+void delete_casadi__GlobalOptions(casadi::GlobalOptions* obj){
+    delete obj;
+}
+
+// ================== Static method: "getCasadiPath" ===============
+// class: "casadi::GlobalOptions"
+// cppName: "casadi::GlobalOptions::getCasadiPath"
+// cWrapperName: "casadi__GlobalOptions__getCasadiPath"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__GlobalOptions__getCasadiPath(std::string ** err_msg)"
+// call: "        std::string ret = casadi::GlobalOptions::getCasadiPath();"
+// params: []
+extern "C"
+std::string*
+    casadi__GlobalOptions__getCasadiPath(std::string ** err_msg);
+std::string*
+    casadi__GlobalOptions__getCasadiPath(std::string ** err_msg){
+    try {
+
+        std::string ret = casadi::GlobalOptions::getCasadiPath();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "getHierarchicalSparsity" ===============
+// class: "casadi::GlobalOptions"
+// cppName: "casadi::GlobalOptions::getHierarchicalSparsity"
+// cWrapperName: "casadi__GlobalOptions__getHierarchicalSparsity"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GlobalOptions__getHierarchicalSparsity(std::string ** err_msg)"
+// call: "        bool ret = casadi::GlobalOptions::getHierarchicalSparsity();"
+// params: []
+extern "C"
+int
+    casadi__GlobalOptions__getHierarchicalSparsity(std::string ** err_msg);
+int
+    casadi__GlobalOptions__getHierarchicalSparsity(std::string ** err_msg){
+    try {
+
+        bool ret = casadi::GlobalOptions::getHierarchicalSparsity();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "getMaxNumDir" ===============
+// class: "casadi::GlobalOptions"
+// cppName: "casadi::GlobalOptions::getMaxNumDir"
+// cWrapperName: "casadi__GlobalOptions__getMaxNumDir"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__GlobalOptions__getMaxNumDir(std::string ** err_msg)"
+// call: "        long long ret = casadi::GlobalOptions::getMaxNumDir();"
+// params: []
+extern "C"
+long long
+    casadi__GlobalOptions__getMaxNumDir(std::string ** err_msg);
+long long
+    casadi__GlobalOptions__getMaxNumDir(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::GlobalOptions::getMaxNumDir();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "getSimplificationOnTheFly" ===============
+// class: "casadi::GlobalOptions"
+// cppName: "casadi::GlobalOptions::getSimplificationOnTheFly"
+// cWrapperName: "casadi__GlobalOptions__getSimplificationOnTheFly"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__GlobalOptions__getSimplificationOnTheFly(std::string ** err_msg)"
+// call: "        bool ret = casadi::GlobalOptions::getSimplificationOnTheFly();"
+// params: []
+extern "C"
+int
+    casadi__GlobalOptions__getSimplificationOnTheFly(std::string ** err_msg);
+int
+    casadi__GlobalOptions__getSimplificationOnTheFly(std::string ** err_msg){
+    try {
+
+        bool ret = casadi::GlobalOptions::getSimplificationOnTheFly();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "setCasadiPath" ===============
+// class: "casadi::GlobalOptions"
+// cppName: "casadi::GlobalOptions::setCasadiPath"
+// cWrapperName: "casadi__GlobalOptions__setCasadiPath"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__GlobalOptions__setCasadiPath(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::GlobalOptions::setCasadiPath(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__GlobalOptions__setCasadiPath(std::string ** err_msg, std::string* x0);
+void
+    casadi__GlobalOptions__setCasadiPath(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::GlobalOptions::setCasadiPath(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "setHierarchicalSparsity" ===============
+// class: "casadi::GlobalOptions"
+// cppName: "casadi::GlobalOptions::setHierarchicalSparsity"
+// cWrapperName: "casadi__GlobalOptions__setHierarchicalSparsity"
+// protoArgs: "(std::string ** err_msg, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__GlobalOptions__setHierarchicalSparsity(std::string ** err_msg, int x0)"
+// call: "        casadi::GlobalOptions::setHierarchicalSparsity(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__GlobalOptions__setHierarchicalSparsity(std::string ** err_msg, int x0);
+void
+    casadi__GlobalOptions__setHierarchicalSparsity(std::string ** err_msg, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        casadi::GlobalOptions::setHierarchicalSparsity(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "setMaxNumDir" ===============
+// class: "casadi::GlobalOptions"
+// cppName: "casadi::GlobalOptions::setMaxNumDir"
+// cWrapperName: "casadi__GlobalOptions__setMaxNumDir"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__GlobalOptions__setMaxNumDir(std::string ** err_msg, long long x0)"
+// call: "        casadi::GlobalOptions::setMaxNumDir(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__GlobalOptions__setMaxNumDir(std::string ** err_msg, long long x0);
+void
+    casadi__GlobalOptions__setMaxNumDir(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::GlobalOptions::setMaxNumDir(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "setSimplificationOnTheFly" ===============
+// class: "casadi::GlobalOptions"
+// cppName: "casadi::GlobalOptions::setSimplificationOnTheFly"
+// cWrapperName: "casadi__GlobalOptions__setSimplificationOnTheFly"
+// protoArgs: "(std::string ** err_msg, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__GlobalOptions__setSimplificationOnTheFly(std::string ** err_msg, int x0)"
+// call: "        casadi::GlobalOptions::setSimplificationOnTheFly(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__GlobalOptions__setSimplificationOnTheFly(std::string ** err_msg, int x0);
+void
+    casadi__GlobalOptions__setSimplificationOnTheFly(std::string ** err_msg, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        casadi::GlobalOptions::setSimplificationOnTheFly(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "IM")===============
+// classType: UserType (Namespace ["casadi"]) (Name "IM")
+extern "C"
+void delete_casadi__IM(casadi::IM* obj);
+void delete_casadi__IM(casadi::IM* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM"
+// cWrapperName: "casadi__IM__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0)"
+// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0);
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM"
+// cWrapperName: "casadi__IM__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SXElem* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0)"
+// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SXElem")))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0);
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0){
+    try {
+        std::vector< casadi::SXElem > x0_ = Marshaling<std::vector< casadi::SXElem >,std::vector< casadi::SXElem* >*>::marshal(x0);
+
+        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM"
+// cWrapperName: "casadi__IM__CONSTRUCTOR__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__2(std::string ** err_msg, casadi::DM* x0)"
+// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__2(std::string ** err_msg, casadi::DM* x0);
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM"
+// cWrapperName: "casadi__IM__CONSTRUCTOR__3"
+// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< double >* x0)"
+// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
+// params: [(Ref (Const (StdVec CDouble)),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< double >* x0);
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< double >* x0){
+    try {
+        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM"
+// cWrapperName: "casadi__IM__CONSTRUCTOR__4"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
+// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
+// params: [(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0);
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0){
+    try {
+        std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);
+
+        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM"
+// cWrapperName: "casadi__IM__CONSTRUCTOR__5"
+// protoArgs: "(std::string ** err_msg, double x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__5(std::string ** err_msg, double x0)"
+// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
+// params: [(CDouble,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__5(std::string ** err_msg, double x0);
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__5(std::string ** err_msg, double x0){
+    try {
+        double x0_ = Marshaling<double,double>::marshal(x0);
+
+        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM"
+// cWrapperName: "casadi__IM__CONSTRUCTOR__6"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::IM* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::IM* x1)"
+// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::IM* x1);
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::IM* x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM"
+// cWrapperName: "casadi__IM__CONSTRUCTOR__7"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM"
+// cWrapperName: "casadi__IM__CONSTRUCTOR__8"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1);
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM"
+// cWrapperName: "casadi__IM__CONSTRUCTOR__9"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__9(std::string ** err_msg, casadi::IM* x0)"
+// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__9(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__9(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM"
+// cWrapperName: "casadi__IM__CONSTRUCTOR__10"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__10(std::string ** err_msg)"
+// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM();"
+// params: []
+extern "C"
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__10(std::string ** err_msg);
+casadi::IM*
+    casadi__IM__CONSTRUCTOR__10(std::string ** err_msg){
+    try {
+
+        casadi::IM* ret = (casadi::IM*)new casadi::IM();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "T" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::T"
+// cWrapperName: "casadi__IM__T"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__T(std::string ** err_msg, casadi::IM* obj)"
+// call: "        casadi::IM ret = obj->T();"
+// params: []
+extern "C"
+casadi::IM*
+    casadi__IM__T(std::string ** err_msg, casadi::IM* obj);
+casadi::IM*
+    casadi__IM__T(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        casadi::IM ret = obj->T();
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "__nonzero__" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::__nonzero__"
+// cWrapperName: "casadi__IM____nonzero__"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM____nonzero__(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->__nonzero__();"
+// params: []
+extern "C"
+int
+    casadi__IM____nonzero__(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM____nonzero__(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->__nonzero__();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "binary" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::binary"
+// cWrapperName: "casadi__IM__binary"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__binary(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
+// call: "        casadi::IM ret = casadi::IM::binary(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__binary(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi__IM__binary(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = casadi::IM::binary(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "clear" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::clear"
+// cWrapperName: "casadi__IM__clear"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__clear(std::string ** err_msg, casadi::IM* obj)"
+// call: "        obj->clear();"
+// params: []
+extern "C"
+void
+    casadi__IM__clear(std::string ** err_msg, casadi::IM* obj);
+void
+    casadi__IM__clear(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        obj->clear();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "colind" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::colind"
+// cWrapperName: "casadi__IM__colind"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__colind(std::string ** err_msg, casadi::IM* obj, long long x0)"
+// call: "        long long ret = obj->colind(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__IM__colind(std::string ** err_msg, casadi::IM* obj, long long x0);
+long long
+    casadi__IM__colind(std::string ** err_msg, casadi::IM* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->colind(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "columns" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::columns"
+// cWrapperName: "casadi__IM__columns"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__columns(std::string ** err_msg, casadi::IM* obj)"
+// call: "        long long ret = obj->columns();"
+// params: []
+extern "C"
+long long
+    casadi__IM__columns(std::string ** err_msg, casadi::IM* obj);
+long long
+    casadi__IM__columns(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        long long ret = obj->columns();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dep" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::dep"
+// cWrapperName: "casadi__IM__dep__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__dep__0(std::string ** err_msg, casadi::IM* obj)"
+// call: "        casadi::IM ret = obj->dep();"
+// params: []
+extern "C"
+casadi::IM*
+    casadi__IM__dep__0(std::string ** err_msg, casadi::IM* obj);
+casadi::IM*
+    casadi__IM__dep__0(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        casadi::IM ret = obj->dep();
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dep" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::dep"
+// cWrapperName: "casadi__IM__dep__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__dep__1(std::string ** err_msg, casadi::IM* obj, long long x0)"
+// call: "        casadi::IM ret = obj->dep(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__dep__1(std::string ** err_msg, casadi::IM* obj, long long x0);
+casadi::IM*
+    casadi__IM__dep__1(std::string ** err_msg, casadi::IM* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::IM ret = obj->dep(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dim" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::dim"
+// cWrapperName: "casadi__IM__dim__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__IM__dim__0(std::string ** err_msg, casadi::IM* obj)"
+// call: "        std::string ret = obj->dim();"
+// params: []
+extern "C"
+std::string*
+    casadi__IM__dim__0(std::string ** err_msg, casadi::IM* obj);
+std::string*
+    casadi__IM__dim__0(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        std::string ret = obj->dim();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dim" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::dim"
+// cWrapperName: "casadi__IM__dim__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__IM__dim__1(std::string ** err_msg, casadi::IM* obj, int x0)"
+// call: "        std::string ret = obj->dim(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__IM__dim__1(std::string ** err_msg, casadi::IM* obj, int x0);
+std::string*
+    casadi__IM__dim__1(std::string ** err_msg, casadi::IM* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->dim(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "element_hash" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::element_hash"
+// cWrapperName: "casadi__IM__element_hash"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__element_hash(std::string ** err_msg, casadi::IM* obj)"
+// call: "        long long ret = obj->element_hash();"
+// params: []
+extern "C"
+long long
+    casadi__IM__element_hash(std::string ** err_msg, casadi::IM* obj);
+long long
+    casadi__IM__element_hash(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        long long ret = obj->element_hash();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "enlarge" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::enlarge"
+// cWrapperName: "casadi__IM__enlarge__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__enlarge__0(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__enlarge__0(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
+void
+    casadi__IM__enlarge__0(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        obj->enlarge(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "enlarge" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::enlarge"
+// cWrapperName: "casadi__IM__enlarge__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__enlarge__1(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
+// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__IM__enlarge__1(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4);
+void
+    casadi__IM__enlarge__1(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        bool x4_ = Marshaling<bool,int>::marshal(x4);
+
+        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::erase"
+// cWrapperName: "casadi__IM__erase__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__erase__0(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0)"
+// call: "        obj->erase(x0_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__erase__0(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0);
+void
+    casadi__IM__erase__0(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        obj->erase(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::erase"
+// cWrapperName: "casadi__IM__erase__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__erase__1(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, int x1)"
+// call: "        obj->erase(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__IM__erase__1(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, int x1);
+void
+    casadi__IM__erase__1(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, int x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        obj->erase(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::erase"
+// cWrapperName: "casadi__IM__erase__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__erase__2(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// call: "        obj->erase(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__erase__2(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1);
+void
+    casadi__IM__erase__2(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        obj->erase(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::erase"
+// cWrapperName: "casadi__IM__erase__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__erase__3(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
+// call: "        obj->erase(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__IM__erase__3(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2);
+void
+    casadi__IM__erase__3(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->erase(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "export_code" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::export_code"
+// cWrapperName: "casadi__IM__export_code"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__export_code(std::string ** err_msg, casadi::IM* obj, std::string* x0)"
+// call: "        obj->export_code(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__export_code(std::string ** err_msg, casadi::IM* obj, std::string* x0);
+void
+    casadi__IM__export_code(std::string ** err_msg, casadi::IM* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->export_code(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "eye" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::eye"
+// cWrapperName: "casadi__IM__eye"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__eye(std::string ** err_msg, long long x0)"
+// call: "        casadi::IM ret = casadi::IM::eye(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__eye(std::string ** err_msg, long long x0);
+casadi::IM*
+    casadi__IM__eye(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::eye(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "from_info" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::from_info"
+// cWrapperName: "casadi__IM__from_info"
+// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
+// call: "        casadi::IM ret = casadi::IM::from_info(x0_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0);
+casadi::IM*
+    casadi__IM__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0){
+    try {
+        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::from_info(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get"
+// cWrapperName: "casadi__IM__get__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__get__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__get__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::IM* x3);
+void
+    casadi__IM__get__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::IM* x3){
+    try {
+        casadi::IM x0_ = casadi::IM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get"
+// cWrapperName: "casadi__IM__get__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__get__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__get__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::Slice* x3);
+void
+    casadi__IM__get__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::Slice* x3){
+    try {
+        casadi::IM x0_ = casadi::IM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get"
+// cWrapperName: "casadi__IM__get__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__get__2(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__get__2(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::IM* x3);
+void
+    casadi__IM__get__2(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::IM* x3){
+    try {
+        casadi::IM x0_ = casadi::IM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get"
+// cWrapperName: "casadi__IM__get__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__get__3(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__get__3(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
+void
+    casadi__IM__get__3(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
+    try {
+        casadi::IM x0_ = casadi::IM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get"
+// cWrapperName: "casadi__IM__get__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Sparsity* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__get__4(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Sparsity* x2)"
+// call: "        obj->get(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__get__4(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Sparsity* x2);
+void
+    casadi__IM__get__4(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Sparsity* x2){
+    try {
+        casadi::IM x0_ = casadi::IM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
+
+        obj->get(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get"
+// cWrapperName: "casadi__IM__get__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__get__5(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2)"
+// call: "        obj->get(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__get__5(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2);
+void
+    casadi__IM__get__5(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2){
+    try {
+        casadi::IM x0_ = casadi::IM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->get(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get"
+// cWrapperName: "casadi__IM__get__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__get__6(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2)"
+// call: "        obj->get(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__get__6(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2);
+void
+    casadi__IM__get__6(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::IM x0_ = casadi::IM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->get(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_colind" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get_colind"
+// cWrapperName: "casadi__IM__get_colind"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__IM__get_colind(std::string ** err_msg, casadi::IM* obj)"
+// call: "        std::vector< long long > ret = obj->get_colind();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__IM__get_colind(std::string ** err_msg, casadi::IM* obj);
+std::vector< long long >*
+    casadi__IM__get_colind(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_colind();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_elements" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get_elements"
+// cWrapperName: "casadi__IM__get_elements"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__IM__get_elements(std::string ** err_msg, casadi::IM* obj)"
+// call: "        std::vector< long long > ret = obj->get_elements();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__IM__get_elements(std::string ** err_msg, casadi::IM* obj);
+std::vector< long long >*
+    casadi__IM__get_elements(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_elements();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "get_free" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get_free"
+// cWrapperName: "casadi__IM__get_free"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
+// args: "(x0_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi__IM__get_free(std::string ** err_msg, casadi::Function* x0)"
+// call: "        std::vector< casadi::IM > ret = casadi::IM::get_free(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
+extern "C"
+std::vector< casadi::IM* >*
+    casadi__IM__get_free(std::string ** err_msg, casadi::Function* x0);
+std::vector< casadi::IM* >*
+    casadi__IM__get_free(std::string ** err_msg, casadi::Function* x0){
+    try {
+        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
+
+        std::vector< casadi::IM > ret = casadi::IM::get_free(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "get_input" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get_input"
+// cWrapperName: "casadi__IM__get_input"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
+// args: "(x0_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi__IM__get_input(std::string ** err_msg, casadi::Function* x0)"
+// call: "        std::vector< casadi::IM > ret = casadi::IM::get_input(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
+extern "C"
+std::vector< casadi::IM* >*
+    casadi__IM__get_input(std::string ** err_msg, casadi::Function* x0);
+std::vector< casadi::IM* >*
+    casadi__IM__get_input(std::string ** err_msg, casadi::Function* x0){
+    try {
+        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
+
+        std::vector< casadi::IM > ret = casadi::IM::get_input(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "get_max_depth" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get_max_depth"
+// cWrapperName: "casadi__IM__get_max_depth"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__get_max_depth(std::string ** err_msg)"
+// call: "        long long ret = casadi::IM::get_max_depth();"
+// params: []
+extern "C"
+long long
+    casadi__IM__get_max_depth(std::string ** err_msg);
+long long
+    casadi__IM__get_max_depth(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::IM::get_max_depth();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_nonzeros" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get_nonzeros"
+// cWrapperName: "casadi__IM__get_nonzeros"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__IM__get_nonzeros(std::string ** err_msg, casadi::IM* obj)"
+// call: "        std::vector< long long > ret = obj->get_nonzeros();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__IM__get_nonzeros(std::string ** err_msg, casadi::IM* obj);
+std::vector< long long >*
+    casadi__IM__get_nonzeros(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_nonzeros();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_nz" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get_nz"
+// cWrapperName: "casadi__IM__get_nz__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__get_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2)"
+// call: "        obj->get_nz(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__get_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2);
+void
+    casadi__IM__get_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2){
+    try {
+        casadi::IM x0_ = casadi::IM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->get_nz(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_nz" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get_nz"
+// cWrapperName: "casadi__IM__get_nz__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__get_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2)"
+// call: "        obj->get_nz(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__get_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2);
+void
+    casadi__IM__get_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::IM x0_ = casadi::IM();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->get_nz(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_row" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get_row"
+// cWrapperName: "casadi__IM__get_row"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__IM__get_row(std::string ** err_msg, casadi::IM* obj)"
+// call: "        std::vector< long long > ret = obj->get_row();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__IM__get_row(std::string ** err_msg, casadi::IM* obj);
+std::vector< long long >*
+    casadi__IM__get_row(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_row();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_sparsity" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get_sparsity"
+// cWrapperName: "casadi__IM__get_sparsity"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__IM__get_sparsity(std::string ** err_msg, casadi::IM* obj)"
+// call: "        casadi::Sparsity ret = obj->get_sparsity();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__IM__get_sparsity(std::string ** err_msg, casadi::IM* obj);
+casadi::Sparsity*
+    casadi__IM__get_sparsity(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        casadi::Sparsity ret = obj->get_sparsity();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get_str"
+// cWrapperName: "casadi__IM__get_str__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__IM__get_str__0(std::string ** err_msg, casadi::IM* obj)"
+// call: "        std::string ret = obj->get_str();"
+// params: []
+extern "C"
+std::string*
+    casadi__IM__get_str__0(std::string ** err_msg, casadi::IM* obj);
+std::string*
+    casadi__IM__get_str__0(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        std::string ret = obj->get_str();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::get_str"
+// cWrapperName: "casadi__IM__get_str__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__IM__get_str__1(std::string ** err_msg, casadi::IM* obj, int x0)"
+// call: "        std::string ret = obj->get_str(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__IM__get_str__1(std::string ** err_msg, casadi::IM* obj, int x0);
+std::string*
+    casadi__IM__get_str__1(std::string ** err_msg, casadi::IM* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->get_str(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_duplicates" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::has_duplicates"
+// cWrapperName: "casadi__IM__has_duplicates"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__has_duplicates(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->has_duplicates();"
+// params: []
+extern "C"
+int
+    casadi__IM__has_duplicates(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__has_duplicates(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->has_duplicates();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_nz" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::has_nz"
+// cWrapperName: "casadi__IM__has_nz"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__has_nz(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1)"
+// call: "        bool ret = obj->has_nz(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+int
+    casadi__IM__has_nz(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1);
+int
+    casadi__IM__has_nz(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        bool ret = obj->has_nz(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_zeros" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::has_zeros"
+// cWrapperName: "casadi__IM__has_zeros"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__has_zeros(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->has_zeros();"
+// params: []
+extern "C"
+int
+    casadi__IM__has_zeros(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__has_zeros(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->has_zeros();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::inf"
+// cWrapperName: "casadi__IM__inf__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::IM ret = casadi::IM::inf(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::IM*
+    casadi__IM__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::inf"
+// cWrapperName: "casadi__IM__inf__1"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__inf__1(std::string ** err_msg)"
+// call: "        casadi::IM ret = casadi::IM::inf();"
+// params: []
+extern "C"
+casadi::IM*
+    casadi__IM__inf__1(std::string ** err_msg);
+casadi::IM*
+    casadi__IM__inf__1(std::string ** err_msg){
+    try {
+
+        casadi::IM ret = casadi::IM::inf();
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::inf"
+// cWrapperName: "casadi__IM__inf__2"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__inf__2(std::string ** err_msg, long long x0)"
+// call: "        casadi::IM ret = casadi::IM::inf(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__inf__2(std::string ** err_msg, long long x0);
+casadi::IM*
+    casadi__IM__inf__2(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::inf"
+// cWrapperName: "casadi__IM__inf__3"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__inf__3(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::IM ret = casadi::IM::inf(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__inf__3(std::string ** err_msg, long long x0, long long x1);
+casadi::IM*
+    casadi__IM__inf__3(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::IM ret = casadi::IM::inf(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::inf"
+// cWrapperName: "casadi__IM__inf__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::IM ret = casadi::IM::inf(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::IM*
+    casadi__IM__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "info" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::info"
+// cWrapperName: "casadi__IM__info"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
+// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
+// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__IM__info(std::string ** err_msg, casadi::IM* obj)"
+// call: "        std::map< std::string, casadi::GenericType > ret = obj->info();"
+// params: []
+extern "C"
+std::map< std::string, casadi::GenericType* >*
+    casadi__IM__info(std::string ** err_msg, casadi::IM* obj);
+std::map< std::string, casadi::GenericType* >*
+    casadi__IM__info(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        std::map< std::string, casadi::GenericType > ret = obj->info();
+
+        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_column" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_column"
+// cWrapperName: "casadi__IM__is_column"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_column(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_column();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_column(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_column(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_column();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_commutative" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_commutative"
+// cWrapperName: "casadi__IM__is_commutative"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_commutative(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_commutative();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_commutative(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_commutative(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_commutative();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_constant" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_constant"
+// cWrapperName: "casadi__IM__is_constant"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_constant(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_constant();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_constant(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_constant(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_constant();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_dense" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_dense"
+// cWrapperName: "casadi__IM__is_dense"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_dense(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_dense();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_dense(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_dense(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_dense();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_empty" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_empty"
+// cWrapperName: "casadi__IM__is_empty__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_empty__0(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_empty();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_empty__0(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_empty__0(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_empty();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_empty" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_empty"
+// cWrapperName: "casadi__IM__is_empty__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_empty__1(std::string ** err_msg, casadi::IM* obj, int x0)"
+// call: "        bool ret = obj->is_empty(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+int
+    casadi__IM__is_empty__1(std::string ** err_msg, casadi::IM* obj, int x0);
+int
+    casadi__IM__is_empty__1(std::string ** err_msg, casadi::IM* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        bool ret = obj->is_empty(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_eye" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_eye"
+// cWrapperName: "casadi__IM__is_eye"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_eye(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_eye();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_eye(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_eye(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_eye();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_integer" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_integer"
+// cWrapperName: "casadi__IM__is_integer"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_integer(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_integer();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_integer(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_integer(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_integer();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_leaf" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_leaf"
+// cWrapperName: "casadi__IM__is_leaf"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_leaf(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_leaf();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_leaf(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_leaf(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_leaf();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_minus_one" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_minus_one"
+// cWrapperName: "casadi__IM__is_minus_one"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_minus_one(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_minus_one();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_minus_one(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_minus_one(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_minus_one();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_one" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_one"
+// cWrapperName: "casadi__IM__is_one"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_one(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_one();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_one(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_one(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_one();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_op" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_op"
+// cWrapperName: "casadi__IM__is_op"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_op(std::string ** err_msg, casadi::IM* obj, long long x0)"
+// call: "        bool ret = obj->is_op(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+int
+    casadi__IM__is_op(std::string ** err_msg, casadi::IM* obj, long long x0);
+int
+    casadi__IM__is_op(std::string ** err_msg, casadi::IM* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        bool ret = obj->is_op(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_regular" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_regular"
+// cWrapperName: "casadi__IM__is_regular"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_regular(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_regular();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_regular(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_regular(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_regular();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_row" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_row"
+// cWrapperName: "casadi__IM__is_row"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_row(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_row();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_row(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_row(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_row();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_scalar" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_scalar"
+// cWrapperName: "casadi__IM__is_scalar__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_scalar__0(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_scalar();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_scalar__0(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_scalar__0(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_scalar();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_scalar" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_scalar"
+// cWrapperName: "casadi__IM__is_scalar__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_scalar__1(std::string ** err_msg, casadi::IM* obj, int x0)"
+// call: "        bool ret = obj->is_scalar(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+int
+    casadi__IM__is_scalar__1(std::string ** err_msg, casadi::IM* obj, int x0);
+int
+    casadi__IM__is_scalar__1(std::string ** err_msg, casadi::IM* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        bool ret = obj->is_scalar(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_smooth" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_smooth"
+// cWrapperName: "casadi__IM__is_smooth"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_smooth(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_smooth();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_smooth(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_smooth(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_smooth();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_square" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_square"
+// cWrapperName: "casadi__IM__is_square"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_square(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_square();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_square(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_square(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_square();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_symbolic" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_symbolic"
+// cWrapperName: "casadi__IM__is_symbolic"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_symbolic(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_symbolic();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_symbolic(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_symbolic(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_symbolic();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_tril" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_tril"
+// cWrapperName: "casadi__IM__is_tril"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_tril(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_tril();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_tril(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_tril(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_tril();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_triu" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_triu"
+// cWrapperName: "casadi__IM__is_triu"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_triu(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_triu();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_triu(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_triu(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_triu();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_valid_input" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_valid_input"
+// cWrapperName: "casadi__IM__is_valid_input"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_valid_input(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_valid_input();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_valid_input(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_valid_input(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_valid_input();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_vector" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_vector"
+// cWrapperName: "casadi__IM__is_vector"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_vector(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_vector();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_vector(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_vector(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_vector();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_zero" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::is_zero"
+// cWrapperName: "casadi__IM__is_zero"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__IM__is_zero(std::string ** err_msg, casadi::IM* obj)"
+// call: "        bool ret = obj->is_zero();"
+// params: []
+extern "C"
+int
+    casadi__IM__is_zero(std::string ** err_msg, casadi::IM* obj);
+int
+    casadi__IM__is_zero(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        bool ret = obj->is_zero();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "matrix_matrix" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::matrix_matrix"
+// cWrapperName: "casadi__IM__matrix_matrix"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__matrix_matrix(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
+// call: "        casadi::IM ret = casadi::IM::matrix_matrix(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__matrix_matrix(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi__IM__matrix_matrix(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = casadi::IM::matrix_matrix(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "matrix_scalar" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::matrix_scalar"
+// cWrapperName: "casadi__IM__matrix_scalar"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__matrix_scalar(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
+// call: "        casadi::IM ret = casadi::IM::matrix_scalar(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__matrix_scalar(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi__IM__matrix_scalar(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = casadi::IM::matrix_scalar(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "n_dep" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::n_dep"
+// cWrapperName: "casadi__IM__n_dep"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__n_dep(std::string ** err_msg, casadi::IM* obj)"
+// call: "        long long ret = obj->n_dep();"
+// params: []
+extern "C"
+long long
+    casadi__IM__n_dep(std::string ** err_msg, casadi::IM* obj);
+long long
+    casadi__IM__n_dep(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        long long ret = obj->n_dep();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "name" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::name"
+// cWrapperName: "casadi__IM__name"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__IM__name(std::string ** err_msg, casadi::IM* obj)"
+// call: "        std::string ret = obj->name();"
+// params: []
+extern "C"
+std::string*
+    casadi__IM__name(std::string ** err_msg, casadi::IM* obj);
+std::string*
+    casadi__IM__name(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        std::string ret = obj->name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::nan"
+// cWrapperName: "casadi__IM__nan__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::IM ret = casadi::IM::nan(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::IM*
+    casadi__IM__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::nan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::nan"
+// cWrapperName: "casadi__IM__nan__1"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__nan__1(std::string ** err_msg)"
+// call: "        casadi::IM ret = casadi::IM::nan();"
+// params: []
+extern "C"
+casadi::IM*
+    casadi__IM__nan__1(std::string ** err_msg);
+casadi::IM*
+    casadi__IM__nan__1(std::string ** err_msg){
+    try {
+
+        casadi::IM ret = casadi::IM::nan();
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::nan"
+// cWrapperName: "casadi__IM__nan__2"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__nan__2(std::string ** err_msg, long long x0)"
+// call: "        casadi::IM ret = casadi::IM::nan(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__nan__2(std::string ** err_msg, long long x0);
+casadi::IM*
+    casadi__IM__nan__2(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::nan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::nan"
+// cWrapperName: "casadi__IM__nan__3"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__nan__3(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::IM ret = casadi::IM::nan(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__nan__3(std::string ** err_msg, long long x0, long long x1);
+casadi::IM*
+    casadi__IM__nan__3(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::IM ret = casadi::IM::nan(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::nan"
+// cWrapperName: "casadi__IM__nan__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::IM ret = casadi::IM::nan(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::IM*
+    casadi__IM__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::nan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::nnz"
+// cWrapperName: "casadi__IM__nnz"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__nnz(std::string ** err_msg, casadi::IM* obj)"
+// call: "        long long ret = obj->nnz();"
+// params: []
+extern "C"
+long long
+    casadi__IM__nnz(std::string ** err_msg, casadi::IM* obj);
+long long
+    casadi__IM__nnz(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        long long ret = obj->nnz();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_diag" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::nnz_diag"
+// cWrapperName: "casadi__IM__nnz_diag"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__nnz_diag(std::string ** err_msg, casadi::IM* obj)"
+// call: "        long long ret = obj->nnz_diag();"
+// params: []
+extern "C"
+long long
+    casadi__IM__nnz_diag(std::string ** err_msg, casadi::IM* obj);
+long long
+    casadi__IM__nnz_diag(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        long long ret = obj->nnz_diag();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_lower" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::nnz_lower"
+// cWrapperName: "casadi__IM__nnz_lower"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__nnz_lower(std::string ** err_msg, casadi::IM* obj)"
+// call: "        long long ret = obj->nnz_lower();"
+// params: []
+extern "C"
+long long
+    casadi__IM__nnz_lower(std::string ** err_msg, casadi::IM* obj);
+long long
+    casadi__IM__nnz_lower(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        long long ret = obj->nnz_lower();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_upper" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::nnz_upper"
+// cWrapperName: "casadi__IM__nnz_upper"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__nnz_upper(std::string ** err_msg, casadi::IM* obj)"
+// call: "        long long ret = obj->nnz_upper();"
+// params: []
+extern "C"
+long long
+    casadi__IM__nnz_upper(std::string ** err_msg, casadi::IM* obj);
+long long
+    casadi__IM__nnz_upper(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        long long ret = obj->nnz_upper();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "numel" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::numel"
+// cWrapperName: "casadi__IM__numel"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__numel(std::string ** err_msg, casadi::IM* obj)"
+// call: "        long long ret = obj->numel();"
+// params: []
+extern "C"
+long long
+    casadi__IM__numel(std::string ** err_msg, casadi::IM* obj);
+long long
+    casadi__IM__numel(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        long long ret = obj->numel();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::ones"
+// cWrapperName: "casadi__IM__ones__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::IM ret = casadi::IM::ones(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::IM*
+    casadi__IM__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::ones(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::ones"
+// cWrapperName: "casadi__IM__ones__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::IM ret = casadi::IM::ones(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::IM*
+    casadi__IM__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::ones(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::ones"
+// cWrapperName: "casadi__IM__ones__2"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__ones__2(std::string ** err_msg)"
+// call: "        casadi::IM ret = casadi::IM::ones();"
+// params: []
+extern "C"
+casadi::IM*
+    casadi__IM__ones__2(std::string ** err_msg);
+casadi::IM*
+    casadi__IM__ones__2(std::string ** err_msg){
+    try {
+
+        casadi::IM ret = casadi::IM::ones();
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::ones"
+// cWrapperName: "casadi__IM__ones__3"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__ones__3(std::string ** err_msg, long long x0)"
+// call: "        casadi::IM ret = casadi::IM::ones(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__ones__3(std::string ** err_msg, long long x0);
+casadi::IM*
+    casadi__IM__ones__3(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::ones(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::ones"
+// cWrapperName: "casadi__IM__ones__4"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__ones__4(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::IM ret = casadi::IM::ones(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__ones__4(std::string ** err_msg, long long x0, long long x1);
+casadi::IM*
+    casadi__IM__ones__4(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::IM ret = casadi::IM::ones(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "op" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::op"
+// cWrapperName: "casadi__IM__op"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__op(std::string ** err_msg, casadi::IM* obj)"
+// call: "        long long ret = obj->op();"
+// params: []
+extern "C"
+long long
+    casadi__IM__op(std::string ** err_msg, casadi::IM* obj);
+long long
+    casadi__IM__op(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        long long ret = obj->op();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator +" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::operator +"
+// cWrapperName: "casadi__IM__operator__plus"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__operator__plus(std::string ** err_msg, casadi::IM* obj)"
+// call: "        casadi::IM ret = obj->operator +();"
+// params: []
+extern "C"
+casadi::IM*
+    casadi__IM__operator__plus(std::string ** err_msg, casadi::IM* obj);
+casadi::IM*
+    casadi__IM__operator__plus(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        casadi::IM ret = obj->operator +();
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator -" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::operator -"
+// cWrapperName: "casadi__IM__operator__minus"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__operator__minus(std::string ** err_msg, casadi::IM* obj)"
+// call: "        casadi::IM ret = obj->operator -();"
+// params: []
+extern "C"
+casadi::IM*
+    casadi__IM__operator__minus(std::string ** err_msg, casadi::IM* obj);
+casadi::IM*
+    casadi__IM__operator__minus(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        casadi::IM ret = obj->operator -();
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator casadi_int" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::operator casadi_int"
+// cWrapperName: "casadi__IM__operator_casadi_int"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__operator_casadi_int(std::string ** err_msg, casadi::IM* obj)"
+// call: "        long long ret = obj->operator casadi_int();"
+// params: []
+extern "C"
+long long
+    casadi__IM__operator_casadi_int(std::string ** err_msg, casadi::IM* obj);
+long long
+    casadi__IM__operator_casadi_int(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        long long ret = obj->operator casadi_int();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator double" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::operator double"
+// cWrapperName: "casadi__IM__operator_double"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__IM__operator_double(std::string ** err_msg, casadi::IM* obj)"
+// call: "        double ret = obj->operator double();"
+// params: []
+extern "C"
+double
+    casadi__IM__operator_double(std::string ** err_msg, casadi::IM* obj);
+double
+    casadi__IM__operator_double(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        double ret = obj->operator double();
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "print_split" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::print_split"
+// cWrapperName: "casadi__IM__print_split"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__print_split(std::string ** err_msg, casadi::IM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
+// call: "        obj->print_split(x0_, x1_);"
+// params: [(Ref (StdVec StdString),SwigOutput True),(Ref (StdVec StdString),SwigOutput True)]
+extern "C"
+void
+    casadi__IM__print_split(std::string ** err_msg, casadi::IM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1);
+void
+    casadi__IM__print_split(std::string ** err_msg, casadi::IM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1){
+    try {
+        std::vector< std::string > x0_ = std::vector< std::string >();  // Swig output
+        std::vector< std::string > x1_ = std::vector< std::string >();  // Swig output
+
+        obj->print_split(x0_, x1_);
+        *x0 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x0_ );
+        *x1 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x1_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "printme" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::printme"
+// cWrapperName: "casadi__IM__printme"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__printme(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0)"
+// call: "        casadi::IM ret = obj->printme(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__printme(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0);
+casadi::IM*
+    casadi__IM__printme(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = obj->printme(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::rand"
+// cWrapperName: "casadi__IM__rand__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::IM ret = casadi::IM::rand(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::IM*
+    casadi__IM__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::rand(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::rand"
+// cWrapperName: "casadi__IM__rand__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__rand__1(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::IM ret = casadi::IM::rand(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__rand__1(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::IM*
+    casadi__IM__rand__1(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::rand(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::rand"
+// cWrapperName: "casadi__IM__rand__2"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__rand__2(std::string ** err_msg)"
+// call: "        casadi::IM ret = casadi::IM::rand();"
+// params: []
+extern "C"
+casadi::IM*
+    casadi__IM__rand__2(std::string ** err_msg);
+casadi::IM*
+    casadi__IM__rand__2(std::string ** err_msg){
+    try {
+
+        casadi::IM ret = casadi::IM::rand();
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::rand"
+// cWrapperName: "casadi__IM__rand__3"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__rand__3(std::string ** err_msg, long long x0)"
+// call: "        casadi::IM ret = casadi::IM::rand(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__rand__3(std::string ** err_msg, long long x0);
+casadi::IM*
+    casadi__IM__rand__3(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::rand(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::rand"
+// cWrapperName: "casadi__IM__rand__4"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__rand__4(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::IM ret = casadi::IM::rand(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__rand__4(std::string ** err_msg, long long x0, long long x1);
+casadi::IM*
+    casadi__IM__rand__4(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::IM ret = casadi::IM::rand(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "remove" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::remove"
+// cWrapperName: "casadi__IM__remove"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__remove(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// call: "        obj->remove(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__remove(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1);
+void
+    casadi__IM__remove(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        obj->remove(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "reserve" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::reserve"
+// cWrapperName: "casadi__IM__reserve__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__reserve__0(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1)"
+// call: "        obj->reserve(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__IM__reserve__0(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1);
+void
+    casadi__IM__reserve__0(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        obj->reserve(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "reserve" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::reserve"
+// cWrapperName: "casadi__IM__reserve__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__reserve__1(std::string ** err_msg, casadi::IM* obj, long long x0)"
+// call: "        obj->reserve(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__IM__reserve__1(std::string ** err_msg, casadi::IM* obj, long long x0);
+void
+    casadi__IM__reserve__1(std::string ** err_msg, casadi::IM* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        obj->reserve(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "reset_input" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::reset_input"
+// cWrapperName: "casadi__IM__reset_input"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__reset_input(std::string ** err_msg, casadi::IM* obj)"
+// call: "        obj->reset_input();"
+// params: []
+extern "C"
+void
+    casadi__IM__reset_input(std::string ** err_msg, casadi::IM* obj);
+void
+    casadi__IM__reset_input(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        obj->reset_input();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "resize" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::resize"
+// cWrapperName: "casadi__IM__resize"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__resize(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1)"
+// call: "        obj->resize(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__IM__resize(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1);
+void
+    casadi__IM__resize(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        obj->resize(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "rng" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::rng"
+// cWrapperName: "casadi__IM__rng"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__rng(std::string ** err_msg, long long x0)"
+// call: "        casadi::IM::rng(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__IM__rng(std::string ** err_msg, long long x0);
+void
+    casadi__IM__rng(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::IM::rng(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "row" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::row"
+// cWrapperName: "casadi__IM__row"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__row(std::string ** err_msg, casadi::IM* obj, long long x0)"
+// call: "        long long ret = obj->row(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__IM__row(std::string ** err_msg, casadi::IM* obj, long long x0);
+long long
+    casadi__IM__row(std::string ** err_msg, casadi::IM* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->row(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "rows" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::rows"
+// cWrapperName: "casadi__IM__rows"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__rows(std::string ** err_msg, casadi::IM* obj)"
+// call: "        long long ret = obj->rows();"
+// params: []
+extern "C"
+long long
+    casadi__IM__rows(std::string ** err_msg, casadi::IM* obj);
+long long
+    casadi__IM__rows(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        long long ret = obj->rows();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "scalar_matrix" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::scalar_matrix"
+// cWrapperName: "casadi__IM__scalar_matrix"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__scalar_matrix(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
+// call: "        casadi::IM ret = casadi::IM::scalar_matrix(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__scalar_matrix(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi__IM__scalar_matrix(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = casadi::IM::scalar_matrix(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::set"
+// cWrapperName: "casadi__IM__set__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__set__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__set__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::IM* x3);
+void
+    casadi__IM__set__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::IM* x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::set"
+// cWrapperName: "casadi__IM__set__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__set__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__set__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::Slice* x3);
+void
+    casadi__IM__set__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::Slice* x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::set"
+// cWrapperName: "casadi__IM__set__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__set__2(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__set__2(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::IM* x3);
+void
+    casadi__IM__set__2(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::IM* x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::set"
+// cWrapperName: "casadi__IM__set__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__set__3(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__set__3(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
+void
+    casadi__IM__set__3(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::set"
+// cWrapperName: "casadi__IM__set__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Sparsity* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__set__4(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Sparsity* x2)"
+// call: "        obj->set(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__set__4(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Sparsity* x2);
+void
+    casadi__IM__set__4(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Sparsity* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
+
+        obj->set(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::set"
+// cWrapperName: "casadi__IM__set__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__set__5(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2)"
+// call: "        obj->set(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__set__5(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2);
+void
+    casadi__IM__set__5(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->set(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::set"
+// cWrapperName: "casadi__IM__set__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__set__6(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2)"
+// call: "        obj->set(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__set__6(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2);
+void
+    casadi__IM__set__6(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->set(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_max_depth" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::set_max_depth"
+// cWrapperName: "casadi__IM__set_max_depth__0"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__set_max_depth__0(std::string ** err_msg)"
+// call: "        casadi::IM::set_max_depth();"
+// params: []
+extern "C"
+void
+    casadi__IM__set_max_depth__0(std::string ** err_msg);
+void
+    casadi__IM__set_max_depth__0(std::string ** err_msg){
+    try {
+
+        casadi::IM::set_max_depth();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_max_depth" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::set_max_depth"
+// cWrapperName: "casadi__IM__set_max_depth__1"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__set_max_depth__1(std::string ** err_msg, long long x0)"
+// call: "        casadi::IM::set_max_depth(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__IM__set_max_depth__1(std::string ** err_msg, long long x0);
+void
+    casadi__IM__set_max_depth__1(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::IM::set_max_depth(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_nz" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::set_nz"
+// cWrapperName: "casadi__IM__set_nz__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__set_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2)"
+// call: "        obj->set_nz(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__set_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2);
+void
+    casadi__IM__set_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->set_nz(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_nz" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::set_nz"
+// cWrapperName: "casadi__IM__set_nz__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__set_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2)"
+// call: "        obj->set_nz(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__set_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2);
+void
+    casadi__IM__set_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->set_nz(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_precision" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::set_precision"
+// cWrapperName: "casadi__IM__set_precision"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__set_precision(std::string ** err_msg, long long x0)"
+// call: "        casadi::IM::set_precision(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__IM__set_precision(std::string ** err_msg, long long x0);
+void
+    casadi__IM__set_precision(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::IM::set_precision(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_scientific" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::set_scientific"
+// cWrapperName: "casadi__IM__set_scientific"
+// protoArgs: "(std::string ** err_msg, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__set_scientific(std::string ** err_msg, int x0)"
+// call: "        casadi::IM::set_scientific(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__IM__set_scientific(std::string ** err_msg, int x0);
+void
+    casadi__IM__set_scientific(std::string ** err_msg, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        casadi::IM::set_scientific(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_width" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::set_width"
+// cWrapperName: "casadi__IM__set_width"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__set_width(std::string ** err_msg, long long x0)"
+// call: "        casadi::IM::set_width(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__IM__set_width(std::string ** err_msg, long long x0);
+void
+    casadi__IM__set_width(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::IM::set_width(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::size"
+// cWrapperName: "casadi__IM__size__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__size__0(std::string ** err_msg, casadi::IM* obj, long long x0)"
+// call: "        long long ret = obj->size(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__IM__size__0(std::string ** err_msg, casadi::IM* obj, long long x0);
+long long
+    casadi__IM__size__0(std::string ** err_msg, casadi::IM* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->size(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::size"
+// cWrapperName: "casadi__IM__size__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: StdPair CLongLong CLongLong
+// cWrapperRetType: "std::pair< long long, long long >*"
+// proto: "std::pair< long long, long long >*\n    casadi__IM__size__1(std::string ** err_msg, casadi::IM* obj)"
+// call: "        std::pair< long long, long long > ret = obj->size();"
+// params: []
+extern "C"
+std::pair< long long, long long >*
+    casadi__IM__size__1(std::string ** err_msg, casadi::IM* obj);
+std::pair< long long, long long >*
+    casadi__IM__size__1(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        std::pair< long long, long long > ret = obj->size();
+
+        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size1" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::size1"
+// cWrapperName: "casadi__IM__size1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__size1(std::string ** err_msg, casadi::IM* obj)"
+// call: "        long long ret = obj->size1();"
+// params: []
+extern "C"
+long long
+    casadi__IM__size1(std::string ** err_msg, casadi::IM* obj);
+long long
+    casadi__IM__size1(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        long long ret = obj->size1();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size2" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::size2"
+// cWrapperName: "casadi__IM__size2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__IM__size2(std::string ** err_msg, casadi::IM* obj)"
+// call: "        long long ret = obj->size2();"
+// params: []
+extern "C"
+long long
+    casadi__IM__size2(std::string ** err_msg, casadi::IM* obj);
+long long
+    casadi__IM__size2(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        long long ret = obj->size2();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::sparsity"
+// cWrapperName: "casadi__IM__sparsity"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
+// args: "()"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__IM__sparsity(std::string ** err_msg, casadi::IM* obj)"
+// call: "        casadi::Sparsity ret = obj->sparsity();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__IM__sparsity(std::string ** err_msg, casadi::IM* obj);
+casadi::Sparsity*
+    casadi__IM__sparsity(std::string ** err_msg, casadi::IM* obj){
+    try {
+
+        casadi::Sparsity ret = obj->sparsity();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::sym"
+// cWrapperName: "casadi__IM__sym__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
+// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
+// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi__IM__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
+// call: "        std::vector< std::vector< casadi::IM > > ret = casadi::IM::sym(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< std::vector< casadi::IM* >* >*
+    casadi__IM__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4);
+std::vector< std::vector< casadi::IM* >* >*
+    casadi__IM__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+
+        std::vector< std::vector< casadi::IM > > ret = casadi::IM::sym(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::sym"
+// cWrapperName: "casadi__IM__sym__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
+// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
+// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi__IM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
+// call: "        std::vector< std::vector< casadi::IM > > ret = casadi::IM::sym(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< std::vector< casadi::IM* >* >*
+    casadi__IM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3);
+std::vector< std::vector< casadi::IM* >* >*
+    casadi__IM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        std::vector< std::vector< casadi::IM > > ret = casadi::IM::sym(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::sym"
+// cWrapperName: "casadi__IM__sym__2"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi__IM__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
+// call: "        std::vector< casadi::IM > ret = casadi::IM::sym(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< casadi::IM* >*
+    casadi__IM__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3);
+std::vector< casadi::IM* >*
+    casadi__IM__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        std::vector< casadi::IM > ret = casadi::IM::sym(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::sym"
+// cWrapperName: "casadi__IM__sym__3"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi__IM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
+// call: "        std::vector< casadi::IM > ret = casadi::IM::sym(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< casadi::IM* >*
+    casadi__IM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2);
+std::vector< casadi::IM* >*
+    casadi__IM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< casadi::IM > ret = casadi::IM::sym(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::sym"
+// cWrapperName: "casadi__IM__sym__4"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
+// call: "        casadi::IM ret = casadi::IM::sym(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
+casadi::IM*
+    casadi__IM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::IM ret = casadi::IM::sym(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::sym"
+// cWrapperName: "casadi__IM__sym__5"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
+// call: "        casadi::IM ret = casadi::IM::sym(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1);
+casadi::IM*
+    casadi__IM__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);
+
+        casadi::IM ret = casadi::IM::sym(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::sym"
+// cWrapperName: "casadi__IM__sym__6"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__sym__6(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::IM ret = casadi::IM::sym(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__sym__6(std::string ** err_msg, std::string* x0);
+casadi::IM*
+    casadi__IM__sym__6(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::sym(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::sym"
+// cWrapperName: "casadi__IM__sym__7"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__sym__7(std::string ** err_msg, std::string* x0, long long x1)"
+// call: "        casadi::IM ret = casadi::IM::sym(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__sym__7(std::string ** err_msg, std::string* x0, long long x1);
+casadi::IM*
+    casadi__IM__sym__7(std::string ** err_msg, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::IM ret = casadi::IM::sym(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::sym"
+// cWrapperName: "casadi__IM__sym__8"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
+// call: "        casadi::IM ret = casadi::IM::sym(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2);
+casadi::IM*
+    casadi__IM__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::IM ret = casadi::IM::sym(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_file" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::to_file"
+// cWrapperName: "casadi__IM__to_file__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__to_file__0(std::string ** err_msg, casadi::IM* obj, std::string* x0)"
+// call: "        obj->to_file(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__to_file__0(std::string ** err_msg, casadi::IM* obj, std::string* x0);
+void
+    casadi__IM__to_file__0(std::string ** err_msg, casadi::IM* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->to_file(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "to_file" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::to_file"
+// cWrapperName: "casadi__IM__to_file__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::string* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__IM__to_file__1(std::string ** err_msg, casadi::IM* obj, std::string* x0, std::string* x1)"
+// call: "        obj->to_file(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__IM__to_file__1(std::string ** err_msg, casadi::IM* obj, std::string* x0, std::string* x1);
+void
+    casadi__IM__to_file__1(std::string ** err_msg, casadi::IM* obj, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        obj->to_file(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "triplet" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::triplet"
+// cWrapperName: "casadi__IM__triplet__0"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, std::pair< long long, long long >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, std::pair< long long, long long >* x3)"
+// call: "        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, std::pair< long long, long long >* x3);
+casadi::IM*
+    casadi__IM__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, std::pair< long long, long long >* x3){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        std::pair< long long, long long > x3_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x3);
+
+        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "triplet" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::triplet"
+// cWrapperName: "casadi__IM__triplet__1"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, long long x3, long long x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, long long x3, long long x4)"
+// call: "        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, long long x3, long long x4);
+casadi::IM*
+    casadi__IM__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, long long x3, long long x4){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+
+        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "triplet" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::triplet"
+// cWrapperName: "casadi__IM__triplet__2"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2)"
+// call: "        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2);
+casadi::IM*
+    casadi__IM__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "type_name" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::type_name"
+// cWrapperName: "casadi__IM__type_name"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__IM__type_name(std::string ** err_msg)"
+// call: "        std::string ret = casadi::IM::type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__IM__type_name(std::string ** err_msg);
+std::string*
+    casadi__IM__type_name(std::string ** err_msg){
+    try {
+
+        std::string ret = casadi::IM::type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "unary" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::unary"
+// cWrapperName: "casadi__IM__unary"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::IM* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__unary(std::string ** err_msg, long long x0, casadi::IM* x1)"
+// call: "        casadi::IM ret = casadi::IM::unary(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__unary(std::string ** err_msg, long long x0, casadi::IM* x1);
+casadi::IM*
+    casadi__IM__unary(std::string ** err_msg, long long x0, casadi::IM* x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = casadi::IM::unary(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::zeros"
+// cWrapperName: "casadi__IM__zeros__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::IM ret = casadi::IM::zeros(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::IM*
+    casadi__IM__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::zeros(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::zeros"
+// cWrapperName: "casadi__IM__zeros__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::IM ret = casadi::IM::zeros(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::IM*
+    casadi__IM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::zeros(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::zeros"
+// cWrapperName: "casadi__IM__zeros__2"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__zeros__2(std::string ** err_msg)"
+// call: "        casadi::IM ret = casadi::IM::zeros();"
+// params: []
+extern "C"
+casadi::IM*
+    casadi__IM__zeros__2(std::string ** err_msg);
+casadi::IM*
+    casadi__IM__zeros__2(std::string ** err_msg){
+    try {
+
+        casadi::IM ret = casadi::IM::zeros();
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::zeros"
+// cWrapperName: "casadi__IM__zeros__3"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__zeros__3(std::string ** err_msg, long long x0)"
+// call: "        casadi::IM ret = casadi::IM::zeros(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__zeros__3(std::string ** err_msg, long long x0);
+casadi::IM*
+    casadi__IM__zeros__3(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::IM ret = casadi::IM::zeros(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::IM"
+// cppName: "casadi::IM::zeros"
+// cWrapperName: "casadi__IM__zeros__4"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__IM__zeros__4(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::IM ret = casadi::IM::zeros(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::IM*
+    casadi__IM__zeros__4(std::string ** err_msg, long long x0, long long x1);
+casadi::IM*
+    casadi__IM__zeros__4(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::IM ret = casadi::IM::zeros(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "Importer")===============
+// classType: UserType (Namespace ["casadi"]) (Name "Importer")
+extern "C"
+void delete_casadi__Importer(casadi::Importer* obj);
+void delete_casadi__Importer(casadi::Importer* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer"
+// cWrapperName: "casadi__Importer__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Importer")
+// cWrapperRetType: "casadi::Importer*"
+// proto: "casadi::Importer*\n    casadi__Importer__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1)"
+// call: "        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Importer*
+    casadi__Importer__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1);
+casadi::Importer*
+    casadi__Importer__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer"
+// cWrapperName: "casadi__Importer__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Importer")
+// cWrapperRetType: "casadi::Importer*"
+// proto: "casadi::Importer*\n    casadi__Importer__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// call: "        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Importer*
+    casadi__Importer__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::Importer*
+    casadi__Importer__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer"
+// cWrapperName: "casadi__Importer__CONSTRUCTOR__2"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Importer")
+// cWrapperRetType: "casadi::Importer*"
+// proto: "casadi::Importer*\n    casadi__Importer__CONSTRUCTOR__2(std::string ** err_msg)"
+// call: "        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer();"
+// params: []
+extern "C"
+casadi::Importer*
+    casadi__Importer__CONSTRUCTOR__2(std::string ** err_msg);
+casadi::Importer*
+    casadi__Importer__CONSTRUCTOR__2(std::string ** err_msg){
+    try {
+
+        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "body" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer::body"
+// cWrapperName: "casadi__Importer__body"
+// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Importer__body(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
+// call: "        std::string ret = obj->body(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Importer__body(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
+std::string*
+    casadi__Importer__body(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = obj->body(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "doc" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer::doc"
+// cWrapperName: "casadi__Importer__doc"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Importer__doc(std::string ** err_msg, std::string* x0)"
+// call: "        std::string ret = casadi::Importer::doc(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Importer__doc(std::string ** err_msg, std::string* x0);
+std::string*
+    casadi__Importer__doc(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = casadi::Importer::doc(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_meta" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer::get_meta"
+// cWrapperName: "casadi__Importer__get_meta__0"
+// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Importer__get_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
+// call: "        std::string ret = obj->get_meta(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Importer__get_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
+std::string*
+    casadi__Importer__get_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = obj->get_meta(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_meta" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer::get_meta"
+// cWrapperName: "casadi__Importer__get_meta__1"
+// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Importer__get_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1)"
+// call: "        std::string ret = obj->get_meta(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Importer__get_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1);
+std::string*
+    casadi__Importer__get_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::string ret = obj->get_meta(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_function" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer::has_function"
+// cWrapperName: "casadi__Importer__has_function"
+// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Importer__has_function(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
+// call: "        bool ret = obj->has_function(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+int
+    casadi__Importer__has_function(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
+int
+    casadi__Importer__has_function(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = obj->has_function(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_meta" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer::has_meta"
+// cWrapperName: "casadi__Importer__has_meta__0"
+// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Importer__has_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
+// call: "        bool ret = obj->has_meta(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+int
+    casadi__Importer__has_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
+int
+    casadi__Importer__has_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = obj->has_meta(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_meta" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer::has_meta"
+// cWrapperName: "casadi__Importer__has_meta__1"
+// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Importer__has_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1)"
+// call: "        bool ret = obj->has_meta(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+int
+    casadi__Importer__has_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1);
+int
+    casadi__Importer__has_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        bool ret = obj->has_meta(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "has_plugin" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer::has_plugin"
+// cWrapperName: "casadi__Importer__has_plugin"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Importer__has_plugin(std::string ** err_msg, std::string* x0)"
+// call: "        bool ret = casadi::Importer::has_plugin(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+int
+    casadi__Importer__has_plugin(std::string ** err_msg, std::string* x0);
+int
+    casadi__Importer__has_plugin(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = casadi::Importer::has_plugin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "inlined" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer::inlined"
+// cWrapperName: "casadi__Importer__inlined"
+// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Importer__inlined(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
+// call: "        bool ret = obj->inlined(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+int
+    casadi__Importer__inlined(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
+int
+    casadi__Importer__inlined(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = obj->inlined(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "load_plugin" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer::load_plugin"
+// cWrapperName: "casadi__Importer__load_plugin"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Importer__load_plugin(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::Importer::load_plugin(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__Importer__load_plugin(std::string ** err_msg, std::string* x0);
+void
+    casadi__Importer__load_plugin(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Importer::load_plugin(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "plugin_name" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer::plugin_name"
+// cWrapperName: "casadi__Importer__plugin_name"
+// protoArgs: "(std::string ** err_msg, casadi::Importer* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Importer__plugin_name(std::string ** err_msg, casadi::Importer* obj)"
+// call: "        std::string ret = obj->plugin_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__Importer__plugin_name(std::string ** err_msg, casadi::Importer* obj);
+std::string*
+    casadi__Importer__plugin_name(std::string ** err_msg, casadi::Importer* obj){
+    try {
+
+        std::string ret = obj->plugin_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "type_name" ===============
+// class: "casadi::Importer"
+// cppName: "casadi::Importer::type_name"
+// cWrapperName: "casadi__Importer__type_name"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Importer__type_name(std::string ** err_msg)"
+// call: "        std::string ret = casadi::Importer::type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__Importer__type_name(std::string ** err_msg);
+std::string*
+    casadi__Importer__type_name(std::string ** err_msg){
+    try {
+
+        std::string ret = casadi::Importer::type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "IndexAbstraction")===============
+// classType: UserType (Namespace ["casadi"]) (Name "IndexAbstraction")
+extern "C"
+void delete_casadi__IndexAbstraction(casadi::IndexAbstraction* obj);
+void delete_casadi__IndexAbstraction(casadi::IndexAbstraction* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::IndexAbstraction"
+// cppName: "casadi::IndexAbstraction"
+// cWrapperName: "casadi__IndexAbstraction__CONSTRUCTOR"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "IndexAbstraction")
+// cWrapperRetType: "casadi::IndexAbstraction*"
+// proto: "casadi::IndexAbstraction*\n    casadi__IndexAbstraction__CONSTRUCTOR(std::string ** err_msg)"
+// call: "        casadi::IndexAbstraction* ret = (casadi::IndexAbstraction*)new casadi::IndexAbstraction();"
+// params: []
+extern "C"
+casadi::IndexAbstraction*
+    casadi__IndexAbstraction__CONSTRUCTOR(std::string ** err_msg);
+casadi::IndexAbstraction*
+    casadi__IndexAbstraction__CONSTRUCTOR(std::string ** err_msg){
+    try {
+
+        casadi::IndexAbstraction* ret = (casadi::IndexAbstraction*)new casadi::IndexAbstraction();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "Linsol")===============
+// classType: UserType (Namespace ["casadi"]) (Name "Linsol")
+extern "C"
+void delete_casadi__Linsol(casadi::Linsol* obj);
+void delete_casadi__Linsol(casadi::Linsol* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol"
+// cWrapperName: "casadi__Linsol__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Linsol")
+// cWrapperRetType: "casadi::Linsol*"
+// proto: "casadi::Linsol*\n    casadi__Linsol__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2)"
+// call: "        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::Linsol*
+    casadi__Linsol__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2);
+casadi::Linsol*
+    casadi__Linsol__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
+
+        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol"
+// cWrapperName: "casadi__Linsol__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Linsol")
+// cWrapperRetType: "casadi::Linsol*"
+// proto: "casadi::Linsol*\n    casadi__Linsol__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// call: "        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Linsol*
+    casadi__Linsol__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Linsol*
+    casadi__Linsol__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol"
+// cWrapperName: "casadi__Linsol__CONSTRUCTOR__2"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Linsol")
+// cWrapperRetType: "casadi::Linsol*"
+// proto: "casadi::Linsol*\n    casadi__Linsol__CONSTRUCTOR__2(std::string ** err_msg)"
+// call: "        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol();"
+// params: []
+extern "C"
+casadi::Linsol*
+    casadi__Linsol__CONSTRUCTOR__2(std::string ** err_msg);
+casadi::Linsol*
+    casadi__Linsol__CONSTRUCTOR__2(std::string ** err_msg){
+    try {
+
+        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "doc" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol::doc"
+// cWrapperName: "casadi__Linsol__doc"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Linsol__doc(std::string ** err_msg, std::string* x0)"
+// call: "        std::string ret = casadi::Linsol::doc(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Linsol__doc(std::string ** err_msg, std::string* x0);
+std::string*
+    casadi__Linsol__doc(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = casadi::Linsol::doc(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "has_plugin" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol::has_plugin"
+// cWrapperName: "casadi__Linsol__has_plugin"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Linsol__has_plugin(std::string ** err_msg, std::string* x0)"
+// call: "        bool ret = casadi::Linsol::has_plugin(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+int
+    casadi__Linsol__has_plugin(std::string ** err_msg, std::string* x0);
+int
+    casadi__Linsol__has_plugin(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = casadi::Linsol::has_plugin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "load_plugin" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol::load_plugin"
+// cWrapperName: "casadi__Linsol__load_plugin"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Linsol__load_plugin(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::Linsol::load_plugin(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__Linsol__load_plugin(std::string ** err_msg, std::string* x0);
+void
+    casadi__Linsol__load_plugin(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Linsol::load_plugin(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "neig" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol::neig"
+// cWrapperName: "casadi__Linsol__neig"
+// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Linsol__neig(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
+// call: "        long long ret = obj->neig(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+long long
+    casadi__Linsol__neig(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0);
+long long
+    casadi__Linsol__neig(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        long long ret = obj->neig(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nfact" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol::nfact"
+// cWrapperName: "casadi__Linsol__nfact"
+// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Linsol__nfact(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
+// call: "        obj->nfact(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__Linsol__nfact(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0);
+void
+    casadi__Linsol__nfact(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        obj->nfact(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "plugin_name" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol::plugin_name"
+// cWrapperName: "casadi__Linsol__plugin_name"
+// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Linsol__plugin_name(std::string ** err_msg, casadi::Linsol* obj)"
+// call: "        std::string ret = obj->plugin_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__Linsol__plugin_name(std::string ** err_msg, casadi::Linsol* obj);
+std::string*
+    casadi__Linsol__plugin_name(std::string ** err_msg, casadi::Linsol* obj){
+    try {
+
+        std::string ret = obj->plugin_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "rank" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol::rank"
+// cWrapperName: "casadi__Linsol__rank"
+// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Linsol__rank(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
+// call: "        long long ret = obj->rank(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+long long
+    casadi__Linsol__rank(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0);
+long long
+    casadi__Linsol__rank(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        long long ret = obj->rank(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sfact" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol::sfact"
+// cWrapperName: "casadi__Linsol__sfact"
+// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Linsol__sfact(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
+// call: "        obj->sfact(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__Linsol__sfact(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0);
+void
+    casadi__Linsol__sfact(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        obj->sfact(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "solve" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol::solve"
+// cWrapperName: "casadi__Linsol__solve__0"
+// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Linsol__solve__0(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1)"
+// call: "        casadi::MX ret = obj->solve(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Linsol__solve__0(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi__Linsol__solve__0(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = obj->solve(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "solve" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol::solve"
+// cWrapperName: "casadi__Linsol__solve__1"
+// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Linsol__solve__1(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1, int x2)"
+// call: "        casadi::MX ret = obj->solve(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Linsol__solve__1(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1, int x2);
+casadi::MX*
+    casadi__Linsol__solve__1(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1, int x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        casadi::MX ret = obj->solve(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "solve" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol::solve"
+// cWrapperName: "casadi__Linsol__solve__2"
+// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__Linsol__solve__2(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1)"
+// call: "        casadi::DM ret = obj->solve(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__Linsol__solve__2(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi__Linsol__solve__2(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = obj->solve(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "solve" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol::solve"
+// cWrapperName: "casadi__Linsol__solve__3"
+// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__Linsol__solve__3(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1, int x2)"
+// call: "        casadi::DM ret = obj->solve(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__Linsol__solve__3(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1, int x2);
+casadi::DM*
+    casadi__Linsol__solve__3(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1, int x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        casadi::DM ret = obj->solve(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol::sparsity"
+// cWrapperName: "casadi__Linsol__sparsity"
+// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj)"
+// args: "()"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Linsol__sparsity(std::string ** err_msg, casadi::Linsol* obj)"
+// call: "        casadi::Sparsity ret = obj->sparsity();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__Linsol__sparsity(std::string ** err_msg, casadi::Linsol* obj);
+casadi::Sparsity*
+    casadi__Linsol__sparsity(std::string ** err_msg, casadi::Linsol* obj){
+    try {
+
+        casadi::Sparsity ret = obj->sparsity();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "type_name" ===============
+// class: "casadi::Linsol"
+// cppName: "casadi::Linsol::type_name"
+// cWrapperName: "casadi__Linsol__type_name"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Linsol__type_name(std::string ** err_msg)"
+// call: "        std::string ret = casadi::Linsol::type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__Linsol__type_name(std::string ** err_msg);
+std::string*
+    casadi__Linsol__type_name(std::string ** err_msg){
+    try {
+
+        std::string ret = casadi::Linsol::type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "MX")===============
+// classType: UserType (Namespace ["casadi"]) (Name "MX")
+extern "C"
+void delete_casadi__MX(casadi::MX* obj);
+void delete_casadi__MX(casadi::MX* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX"
+// cWrapperName: "casadi__MX__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0)"
+// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0);
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX"
+// cWrapperName: "casadi__MX__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0)"
+// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
+// params: [(Ref (Const (StdVec CDouble)),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0);
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0){
+    try {
+        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX"
+// cWrapperName: "casadi__MX__CONSTRUCTOR__2"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__2(std::string ** err_msg, casadi::MX* x0)"
+// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__2(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__2(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX"
+// cWrapperName: "casadi__MX__CONSTRUCTOR__3"
+// protoArgs: "(std::string ** err_msg, double x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__3(std::string ** err_msg, double x0)"
+// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
+// params: [(CDouble,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__3(std::string ** err_msg, double x0);
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__3(std::string ** err_msg, double x0){
+    try {
+        double x0_ = Marshaling<double,double>::marshal(x0);
+
+        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX"
+// cWrapperName: "casadi__MX__CONSTRUCTOR__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1)"
+// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1);
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX"
+// cWrapperName: "casadi__MX__CONSTRUCTOR__5"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX"
+// cWrapperName: "casadi__MX__CONSTRUCTOR__6"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__6(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__6(std::string ** err_msg, long long x0, long long x1);
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__6(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX"
+// cWrapperName: "casadi__MX__CONSTRUCTOR__7"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__7(std::string ** err_msg)"
+// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__7(std::string ** err_msg);
+casadi::MX*
+    casadi__MX__CONSTRUCTOR__7(std::string ** err_msg){
+    try {
+
+        casadi::MX* ret = (casadi::MX*)new casadi::MX();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "T" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::T"
+// cWrapperName: "casadi__MX__T"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__T(std::string ** err_msg, casadi::MX* obj)"
+// call: "        casadi::MX ret = obj->T();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__MX__T(std::string ** err_msg, casadi::MX* obj);
+casadi::MX*
+    casadi__MX__T(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        casadi::MX ret = obj->T();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "__nonzero__" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::__nonzero__"
+// cWrapperName: "casadi__MX____nonzero__"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX____nonzero__(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->__nonzero__();"
+// params: []
+extern "C"
+int
+    casadi__MX____nonzero__(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX____nonzero__(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->__nonzero__();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "attachAssert" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::attachAssert"
+// cWrapperName: "casadi__MX__attachAssert__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__attachAssert__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
+// call: "        casadi::MX ret = obj->attachAssert(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__attachAssert__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
+casadi::MX*
+    casadi__MX__attachAssert__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = obj->attachAssert(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "attachAssert" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::attachAssert"
+// cWrapperName: "casadi__MX__attachAssert__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__attachAssert__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1)"
+// call: "        casadi::MX ret = obj->attachAssert(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__attachAssert__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1);
+casadi::MX*
+    casadi__MX__attachAssert__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::MX ret = obj->attachAssert(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "binary" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::binary"
+// cWrapperName: "casadi__MX__binary"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::MX* x1, casadi::MX* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__binary(std::string ** err_msg, long long x0, casadi::MX* x1, casadi::MX* x2)"
+// call: "        casadi::MX ret = casadi::MX::binary(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__binary(std::string ** err_msg, long long x0, casadi::MX* x1, casadi::MX* x2);
+casadi::MX*
+    casadi__MX__binary(std::string ** err_msg, long long x0, casadi::MX* x1, casadi::MX* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+
+        casadi::MX ret = casadi::MX::binary(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "colind" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::colind"
+// cWrapperName: "casadi__MX__colind"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__colind(std::string ** err_msg, casadi::MX* obj, long long x0)"
+// call: "        long long ret = obj->colind(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__MX__colind(std::string ** err_msg, casadi::MX* obj, long long x0);
+long long
+    casadi__MX__colind(std::string ** err_msg, casadi::MX* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->colind(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "columns" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::columns"
+// cWrapperName: "casadi__MX__columns"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__columns(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->columns();"
+// params: []
+extern "C"
+long long
+    casadi__MX__columns(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__columns(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->columns();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dep" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::dep"
+// cWrapperName: "casadi__MX__dep__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__dep__0(std::string ** err_msg, casadi::MX* obj)"
+// call: "        casadi::MX ret = obj->dep();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__MX__dep__0(std::string ** err_msg, casadi::MX* obj);
+casadi::MX*
+    casadi__MX__dep__0(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        casadi::MX ret = obj->dep();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dep" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::dep"
+// cWrapperName: "casadi__MX__dep__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__dep__1(std::string ** err_msg, casadi::MX* obj, long long x0)"
+// call: "        casadi::MX ret = obj->dep(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__dep__1(std::string ** err_msg, casadi::MX* obj, long long x0);
+casadi::MX*
+    casadi__MX__dep__1(std::string ** err_msg, casadi::MX* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX ret = obj->dep(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dim" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::dim"
+// cWrapperName: "casadi__MX__dim__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__MX__dim__0(std::string ** err_msg, casadi::MX* obj)"
+// call: "        std::string ret = obj->dim();"
+// params: []
+extern "C"
+std::string*
+    casadi__MX__dim__0(std::string ** err_msg, casadi::MX* obj);
+std::string*
+    casadi__MX__dim__0(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        std::string ret = obj->dim();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dim" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::dim"
+// cWrapperName: "casadi__MX__dim__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__MX__dim__1(std::string ** err_msg, casadi::MX* obj, int x0)"
+// call: "        std::string ret = obj->dim(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__MX__dim__1(std::string ** err_msg, casadi::MX* obj, int x0);
+std::string*
+    casadi__MX__dim__1(std::string ** err_msg, casadi::MX* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->dim(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "einstein" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::einstein"
+// cWrapperName: "casadi__MX__einstein__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7)"
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__einstein__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7)"
+// call: "        casadi::MX ret = casadi::MX::einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__einstein__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7);
+casadi::MX*
+    casadi__MX__einstein__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        std::vector< long long > x6_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x6);
+        std::vector< long long > x7_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x7);
+
+        casadi::MX ret = casadi::MX::einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+        // x7 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "einstein" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::einstein"
+// cWrapperName: "casadi__MX__einstein__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8)"
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__einstein__1(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8)"
+// call: "        casadi::MX ret = casadi::MX::einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__einstein__1(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8);
+casadi::MX*
+    casadi__MX__einstein__1(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        std::vector< long long > x6_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x6);
+        std::vector< long long > x7_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x7);
+        std::vector< long long > x8_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x8);
+
+        casadi::MX ret = casadi::MX::einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+        // x7 is not a swig output
+        // x8 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "enlarge" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::enlarge"
+// cWrapperName: "casadi__MX__enlarge__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__enlarge__0(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__enlarge__0(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
+void
+    casadi__MX__enlarge__0(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        obj->enlarge(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "enlarge" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::enlarge"
+// cWrapperName: "casadi__MX__enlarge__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__enlarge__1(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
+// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__MX__enlarge__1(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4);
+void
+    casadi__MX__enlarge__1(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        bool x4_ = Marshaling<bool,int>::marshal(x4);
+
+        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::erase"
+// cWrapperName: "casadi__MX__erase__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__erase__0(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0)"
+// call: "        obj->erase(x0_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__erase__0(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0);
+void
+    casadi__MX__erase__0(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        obj->erase(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::erase"
+// cWrapperName: "casadi__MX__erase__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__erase__1(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, int x1)"
+// call: "        obj->erase(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__MX__erase__1(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, int x1);
+void
+    casadi__MX__erase__1(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, int x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        obj->erase(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::erase"
+// cWrapperName: "casadi__MX__erase__2"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__erase__2(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// call: "        obj->erase(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__erase__2(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1);
+void
+    casadi__MX__erase__2(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        obj->erase(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::erase"
+// cWrapperName: "casadi__MX__erase__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__erase__3(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
+// call: "        obj->erase(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__MX__erase__3(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2);
+void
+    casadi__MX__erase__3(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->erase(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "eye" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::eye"
+// cWrapperName: "casadi__MX__eye"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__eye(std::string ** err_msg, long long x0)"
+// call: "        casadi::MX ret = casadi::MX::eye(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__eye(std::string ** err_msg, long long x0);
+casadi::MX*
+    casadi__MX__eye(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX ret = casadi::MX::eye(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get"
+// cWrapperName: "casadi__MX__get__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__get__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__get__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::IM* x3);
+void
+    casadi__MX__get__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::IM* x3){
+    try {
+        casadi::MX x0_ = casadi::MX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get"
+// cWrapperName: "casadi__MX__get__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__get__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__get__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::Slice* x3);
+void
+    casadi__MX__get__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::Slice* x3){
+    try {
+        casadi::MX x0_ = casadi::MX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get"
+// cWrapperName: "casadi__MX__get__2"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__get__2(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__get__2(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::IM* x3);
+void
+    casadi__MX__get__2(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::IM* x3){
+    try {
+        casadi::MX x0_ = casadi::MX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get"
+// cWrapperName: "casadi__MX__get__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__get__3(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__get__3(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
+void
+    casadi__MX__get__3(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
+    try {
+        casadi::MX x0_ = casadi::MX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get"
+// cWrapperName: "casadi__MX__get__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Sparsity* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__get__4(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Sparsity* x2)"
+// call: "        obj->get(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__get__4(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Sparsity* x2);
+void
+    casadi__MX__get__4(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Sparsity* x2){
+    try {
+        casadi::MX x0_ = casadi::MX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
+
+        obj->get(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get"
+// cWrapperName: "casadi__MX__get__5"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__get__5(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2)"
+// call: "        obj->get(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__get__5(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2);
+void
+    casadi__MX__get__5(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2){
+    try {
+        casadi::MX x0_ = casadi::MX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->get(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get"
+// cWrapperName: "casadi__MX__get__6"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__get__6(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2)"
+// call: "        obj->get(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__get__6(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2);
+void
+    casadi__MX__get__6(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::MX x0_ = casadi::MX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->get(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_colind" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get_colind"
+// cWrapperName: "casadi__MX__get_colind"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__MX__get_colind(std::string ** err_msg, casadi::MX* obj)"
+// call: "        std::vector< long long > ret = obj->get_colind();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__MX__get_colind(std::string ** err_msg, casadi::MX* obj);
+std::vector< long long >*
+    casadi__MX__get_colind(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_colind();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "get_free" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get_free"
+// cWrapperName: "casadi__MX__get_free"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
+// args: "(x0_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__MX__get_free(std::string ** err_msg, casadi::Function* x0)"
+// call: "        std::vector< casadi::MX > ret = casadi::MX::get_free(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__MX__get_free(std::string ** err_msg, casadi::Function* x0);
+std::vector< casadi::MX* >*
+    casadi__MX__get_free(std::string ** err_msg, casadi::Function* x0){
+    try {
+        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::MX::get_free(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "get_input" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get_input"
+// cWrapperName: "casadi__MX__get_input"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
+// args: "(x0_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__MX__get_input(std::string ** err_msg, casadi::Function* x0)"
+// call: "        std::vector< casadi::MX > ret = casadi::MX::get_input(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__MX__get_input(std::string ** err_msg, casadi::Function* x0);
+std::vector< casadi::MX* >*
+    casadi__MX__get_input(std::string ** err_msg, casadi::Function* x0){
+    try {
+        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::MX::get_input(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "get_max_depth" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get_max_depth"
+// cWrapperName: "casadi__MX__get_max_depth"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__get_max_depth(std::string ** err_msg)"
+// call: "        long long ret = casadi::MX::get_max_depth();"
+// params: []
+extern "C"
+long long
+    casadi__MX__get_max_depth(std::string ** err_msg);
+long long
+    casadi__MX__get_max_depth(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::MX::get_max_depth();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_nz" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get_nz"
+// cWrapperName: "casadi__MX__get_nz__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__get_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2)"
+// call: "        obj->get_nz(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__get_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2);
+void
+    casadi__MX__get_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2){
+    try {
+        casadi::MX x0_ = casadi::MX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->get_nz(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_nz" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get_nz"
+// cWrapperName: "casadi__MX__get_nz__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__get_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2)"
+// call: "        obj->get_nz(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__get_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2);
+void
+    casadi__MX__get_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::MX x0_ = casadi::MX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->get_nz(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_output" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get_output"
+// cWrapperName: "casadi__MX__get_output"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__get_output(std::string ** err_msg, casadi::MX* obj, long long x0)"
+// call: "        casadi::MX ret = obj->get_output(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__get_output(std::string ** err_msg, casadi::MX* obj, long long x0);
+casadi::MX*
+    casadi__MX__get_output(std::string ** err_msg, casadi::MX* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX ret = obj->get_output(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_row" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get_row"
+// cWrapperName: "casadi__MX__get_row"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__MX__get_row(std::string ** err_msg, casadi::MX* obj)"
+// call: "        std::vector< long long > ret = obj->get_row();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__MX__get_row(std::string ** err_msg, casadi::MX* obj);
+std::vector< long long >*
+    casadi__MX__get_row(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_row();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_sparsity" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get_sparsity"
+// cWrapperName: "casadi__MX__get_sparsity"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__MX__get_sparsity(std::string ** err_msg, casadi::MX* obj)"
+// call: "        casadi::Sparsity ret = obj->get_sparsity();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__MX__get_sparsity(std::string ** err_msg, casadi::MX* obj);
+casadi::Sparsity*
+    casadi__MX__get_sparsity(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        casadi::Sparsity ret = obj->get_sparsity();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_temp" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::get_temp"
+// cWrapperName: "casadi__MX__get_temp"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__get_temp(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->get_temp();"
+// params: []
+extern "C"
+long long
+    casadi__MX__get_temp(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__get_temp(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->get_temp();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_duplicates" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::has_duplicates"
+// cWrapperName: "casadi__MX__has_duplicates"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__has_duplicates(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->has_duplicates();"
+// params: []
+extern "C"
+int
+    casadi__MX__has_duplicates(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__has_duplicates(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->has_duplicates();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::inf"
+// cWrapperName: "casadi__MX__inf__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::MX ret = casadi::MX::inf(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::MX*
+    casadi__MX__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::MX ret = casadi::MX::inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::inf"
+// cWrapperName: "casadi__MX__inf__1"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__inf__1(std::string ** err_msg)"
+// call: "        casadi::MX ret = casadi::MX::inf();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__MX__inf__1(std::string ** err_msg);
+casadi::MX*
+    casadi__MX__inf__1(std::string ** err_msg){
+    try {
+
+        casadi::MX ret = casadi::MX::inf();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::inf"
+// cWrapperName: "casadi__MX__inf__2"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__inf__2(std::string ** err_msg, long long x0)"
+// call: "        casadi::MX ret = casadi::MX::inf(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__inf__2(std::string ** err_msg, long long x0);
+casadi::MX*
+    casadi__MX__inf__2(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX ret = casadi::MX::inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::inf"
+// cWrapperName: "casadi__MX__inf__3"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__inf__3(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::MX ret = casadi::MX::inf(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__inf__3(std::string ** err_msg, long long x0, long long x1);
+casadi::MX*
+    casadi__MX__inf__3(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = casadi::MX::inf(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::inf"
+// cWrapperName: "casadi__MX__inf__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::MX ret = casadi::MX::inf(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::MX*
+    casadi__MX__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::MX ret = casadi::MX::inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "info" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::info"
+// cWrapperName: "casadi__MX__info"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
+// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
+// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__MX__info(std::string ** err_msg, casadi::MX* obj)"
+// call: "        std::map< std::string, casadi::GenericType > ret = obj->info();"
+// params: []
+extern "C"
+std::map< std::string, casadi::GenericType* >*
+    casadi__MX__info(std::string ** err_msg, casadi::MX* obj);
+std::map< std::string, casadi::GenericType* >*
+    casadi__MX__info(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        std::map< std::string, casadi::GenericType > ret = obj->info();
+
+        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_binary" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_binary"
+// cWrapperName: "casadi__MX__is_binary"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_binary(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_binary();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_binary(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_binary(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_binary();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_call" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_call"
+// cWrapperName: "casadi__MX__is_call"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_call(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_call();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_call(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_call(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_call();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_column" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_column"
+// cWrapperName: "casadi__MX__is_column"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_column(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_column();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_column(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_column(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_column();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_commutative" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_commutative"
+// cWrapperName: "casadi__MX__is_commutative"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_commutative(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_commutative();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_commutative(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_commutative(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_commutative();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_constant" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_constant"
+// cWrapperName: "casadi__MX__is_constant"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_constant(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_constant();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_constant(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_constant(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_constant();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_dense" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_dense"
+// cWrapperName: "casadi__MX__is_dense"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_dense(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_dense();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_dense(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_dense(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_dense();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_empty" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_empty"
+// cWrapperName: "casadi__MX__is_empty__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_empty__0(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_empty();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_empty__0(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_empty__0(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_empty();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_empty" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_empty"
+// cWrapperName: "casadi__MX__is_empty__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_empty__1(std::string ** err_msg, casadi::MX* obj, int x0)"
+// call: "        bool ret = obj->is_empty(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+int
+    casadi__MX__is_empty__1(std::string ** err_msg, casadi::MX* obj, int x0);
+int
+    casadi__MX__is_empty__1(std::string ** err_msg, casadi::MX* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        bool ret = obj->is_empty(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_eye" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_eye"
+// cWrapperName: "casadi__MX__is_eye"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_eye(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_eye();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_eye(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_eye(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_eye();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_minus_one" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_minus_one"
+// cWrapperName: "casadi__MX__is_minus_one"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_minus_one(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_minus_one();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_minus_one(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_minus_one(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_minus_one();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_multiplication" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_multiplication"
+// cWrapperName: "casadi__MX__is_multiplication"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_multiplication(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_multiplication();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_multiplication(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_multiplication(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_multiplication();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_norm" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_norm"
+// cWrapperName: "casadi__MX__is_norm"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_norm(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_norm();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_norm(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_norm(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_norm();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_one" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_one"
+// cWrapperName: "casadi__MX__is_one"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_one(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_one();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_one(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_one(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_one();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_op" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_op"
+// cWrapperName: "casadi__MX__is_op"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_op(std::string ** err_msg, casadi::MX* obj, long long x0)"
+// call: "        bool ret = obj->is_op(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+int
+    casadi__MX__is_op(std::string ** err_msg, casadi::MX* obj, long long x0);
+int
+    casadi__MX__is_op(std::string ** err_msg, casadi::MX* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        bool ret = obj->is_op(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_output" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_output"
+// cWrapperName: "casadi__MX__is_output"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_output(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_output();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_output(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_output(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_output();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_regular" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_regular"
+// cWrapperName: "casadi__MX__is_regular"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_regular(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_regular();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_regular(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_regular(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_regular();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_row" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_row"
+// cWrapperName: "casadi__MX__is_row"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_row(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_row();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_row(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_row(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_row();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_scalar" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_scalar"
+// cWrapperName: "casadi__MX__is_scalar__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_scalar__0(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_scalar();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_scalar__0(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_scalar__0(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_scalar();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_scalar" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_scalar"
+// cWrapperName: "casadi__MX__is_scalar__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_scalar__1(std::string ** err_msg, casadi::MX* obj, int x0)"
+// call: "        bool ret = obj->is_scalar(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+int
+    casadi__MX__is_scalar__1(std::string ** err_msg, casadi::MX* obj, int x0);
+int
+    casadi__MX__is_scalar__1(std::string ** err_msg, casadi::MX* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        bool ret = obj->is_scalar(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_square" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_square"
+// cWrapperName: "casadi__MX__is_square"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_square(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_square();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_square(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_square(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_square();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_symbolic" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_symbolic"
+// cWrapperName: "casadi__MX__is_symbolic"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_symbolic(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_symbolic();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_symbolic(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_symbolic(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_symbolic();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_transpose" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_transpose"
+// cWrapperName: "casadi__MX__is_transpose"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_transpose(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_transpose();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_transpose(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_transpose(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_transpose();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_tril" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_tril"
+// cWrapperName: "casadi__MX__is_tril"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_tril(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_tril();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_tril(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_tril(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_tril();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_triu" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_triu"
+// cWrapperName: "casadi__MX__is_triu"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_triu(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_triu();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_triu(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_triu(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_triu();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_unary" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_unary"
+// cWrapperName: "casadi__MX__is_unary"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_unary(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_unary();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_unary(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_unary(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_unary();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_valid_input" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_valid_input"
+// cWrapperName: "casadi__MX__is_valid_input"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_valid_input(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_valid_input();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_valid_input(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_valid_input(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_valid_input();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_vector" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_vector"
+// cWrapperName: "casadi__MX__is_vector"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_vector(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_vector();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_vector(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_vector(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_vector();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_zero" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::is_zero"
+// cWrapperName: "casadi__MX__is_zero"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__MX__is_zero(std::string ** err_msg, casadi::MX* obj)"
+// call: "        bool ret = obj->is_zero();"
+// params: []
+extern "C"
+int
+    casadi__MX__is_zero(std::string ** err_msg, casadi::MX* obj);
+int
+    casadi__MX__is_zero(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        bool ret = obj->is_zero();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "join_primitives" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::join_primitives"
+// cWrapperName: "casadi__MX__join_primitives"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__join_primitives(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0)"
+// call: "        casadi::MX ret = obj->join_primitives(x0_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__join_primitives(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0);
+casadi::MX*
+    casadi__MX__join_primitives(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        casadi::MX ret = obj->join_primitives(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mapping" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::mapping"
+// cWrapperName: "casadi__MX__mapping"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "IM")
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi__MX__mapping(std::string ** err_msg, casadi::MX* obj)"
+// call: "        casadi::IM ret = obj->mapping();"
+// params: []
+extern "C"
+casadi::IM*
+    casadi__MX__mapping(std::string ** err_msg, casadi::MX* obj);
+casadi::IM*
+    casadi__MX__mapping(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        casadi::IM ret = obj->mapping();
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "monitor" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::monitor"
+// cWrapperName: "casadi__MX__monitor"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__monitor(std::string ** err_msg, casadi::MX* obj, std::string* x0)"
+// call: "        casadi::MX ret = obj->monitor(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__monitor(std::string ** err_msg, casadi::MX* obj, std::string* x0);
+casadi::MX*
+    casadi__MX__monitor(std::string ** err_msg, casadi::MX* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::MX ret = obj->monitor(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "n_dep" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::n_dep"
+// cWrapperName: "casadi__MX__n_dep"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__n_dep(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->n_dep();"
+// params: []
+extern "C"
+long long
+    casadi__MX__n_dep(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__n_dep(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->n_dep();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "n_out" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::n_out"
+// cWrapperName: "casadi__MX__n_out"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__n_out(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->n_out();"
+// params: []
+extern "C"
+long long
+    casadi__MX__n_out(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__n_out(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->n_out();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "n_primitives" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::n_primitives"
+// cWrapperName: "casadi__MX__n_primitives"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__n_primitives(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->n_primitives();"
+// params: []
+extern "C"
+long long
+    casadi__MX__n_primitives(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__n_primitives(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->n_primitives();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "name" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::name"
+// cWrapperName: "casadi__MX__name"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__MX__name(std::string ** err_msg, casadi::MX* obj)"
+// call: "        std::string ret = obj->name();"
+// params: []
+extern "C"
+std::string*
+    casadi__MX__name(std::string ** err_msg, casadi::MX* obj);
+std::string*
+    casadi__MX__name(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        std::string ret = obj->name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::nan"
+// cWrapperName: "casadi__MX__nan__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::MX ret = casadi::MX::nan(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::MX*
+    casadi__MX__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::MX ret = casadi::MX::nan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::nan"
+// cWrapperName: "casadi__MX__nan__1"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__nan__1(std::string ** err_msg)"
+// call: "        casadi::MX ret = casadi::MX::nan();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__MX__nan__1(std::string ** err_msg);
+casadi::MX*
+    casadi__MX__nan__1(std::string ** err_msg){
+    try {
+
+        casadi::MX ret = casadi::MX::nan();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::nan"
+// cWrapperName: "casadi__MX__nan__2"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__nan__2(std::string ** err_msg, long long x0)"
+// call: "        casadi::MX ret = casadi::MX::nan(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__nan__2(std::string ** err_msg, long long x0);
+casadi::MX*
+    casadi__MX__nan__2(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX ret = casadi::MX::nan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::nan"
+// cWrapperName: "casadi__MX__nan__3"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__nan__3(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::MX ret = casadi::MX::nan(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__nan__3(std::string ** err_msg, long long x0, long long x1);
+casadi::MX*
+    casadi__MX__nan__3(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = casadi::MX::nan(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::nan"
+// cWrapperName: "casadi__MX__nan__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::MX ret = casadi::MX::nan(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::MX*
+    casadi__MX__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::MX ret = casadi::MX::nan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::nnz"
+// cWrapperName: "casadi__MX__nnz"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__nnz(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->nnz();"
+// params: []
+extern "C"
+long long
+    casadi__MX__nnz(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__nnz(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->nnz();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_diag" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::nnz_diag"
+// cWrapperName: "casadi__MX__nnz_diag"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__nnz_diag(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->nnz_diag();"
+// params: []
+extern "C"
+long long
+    casadi__MX__nnz_diag(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__nnz_diag(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->nnz_diag();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_lower" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::nnz_lower"
+// cWrapperName: "casadi__MX__nnz_lower"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__nnz_lower(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->nnz_lower();"
+// params: []
+extern "C"
+long long
+    casadi__MX__nnz_lower(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__nnz_lower(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->nnz_lower();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_upper" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::nnz_upper"
+// cWrapperName: "casadi__MX__nnz_upper"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__nnz_upper(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->nnz_upper();"
+// params: []
+extern "C"
+long long
+    casadi__MX__nnz_upper(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__nnz_upper(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->nnz_upper();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "numel" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::numel"
+// cWrapperName: "casadi__MX__numel"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__numel(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->numel();"
+// params: []
+extern "C"
+long long
+    casadi__MX__numel(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__numel(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->numel();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::ones"
+// cWrapperName: "casadi__MX__ones__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::MX ret = casadi::MX::ones(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::MX*
+    casadi__MX__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::MX ret = casadi::MX::ones(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::ones"
+// cWrapperName: "casadi__MX__ones__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::MX ret = casadi::MX::ones(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::MX*
+    casadi__MX__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::MX ret = casadi::MX::ones(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::ones"
+// cWrapperName: "casadi__MX__ones__2"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__ones__2(std::string ** err_msg)"
+// call: "        casadi::MX ret = casadi::MX::ones();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__MX__ones__2(std::string ** err_msg);
+casadi::MX*
+    casadi__MX__ones__2(std::string ** err_msg){
+    try {
+
+        casadi::MX ret = casadi::MX::ones();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::ones"
+// cWrapperName: "casadi__MX__ones__3"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__ones__3(std::string ** err_msg, long long x0)"
+// call: "        casadi::MX ret = casadi::MX::ones(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__ones__3(std::string ** err_msg, long long x0);
+casadi::MX*
+    casadi__MX__ones__3(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX ret = casadi::MX::ones(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::ones"
+// cWrapperName: "casadi__MX__ones__4"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__ones__4(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::MX ret = casadi::MX::ones(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__ones__4(std::string ** err_msg, long long x0, long long x1);
+casadi::MX*
+    casadi__MX__ones__4(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = casadi::MX::ones(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "op" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::op"
+// cWrapperName: "casadi__MX__op"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__op(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->op();"
+// params: []
+extern "C"
+long long
+    casadi__MX__op(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__op(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->op();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator -" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::operator -"
+// cWrapperName: "casadi__MX__operator__minus"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__operator__minus(std::string ** err_msg, casadi::MX* obj)"
+// call: "        casadi::MX ret = obj->operator -();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__MX__operator__minus(std::string ** err_msg, casadi::MX* obj);
+casadi::MX*
+    casadi__MX__operator__minus(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        casadi::MX ret = obj->operator -();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator casadi::Matrix<double>" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::operator casadi::Matrix<double>"
+// cWrapperName: "casadi__MX__operator_casadi__Matrix_double_"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__MX__operator_casadi__Matrix_double_(std::string ** err_msg, casadi::MX* obj)"
+// call: "        casadi::DM ret = obj->operator casadi::Matrix<double>();"
+// params: []
+extern "C"
+casadi::DM*
+    casadi__MX__operator_casadi__Matrix_double_(std::string ** err_msg, casadi::MX* obj);
+casadi::DM*
+    casadi__MX__operator_casadi__Matrix_double_(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        casadi::DM ret = obj->operator casadi::Matrix<double>();
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator double" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::operator double"
+// cWrapperName: "casadi__MX__operator_double"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__MX__operator_double(std::string ** err_msg, casadi::MX* obj)"
+// call: "        double ret = obj->operator double();"
+// params: []
+extern "C"
+double
+    casadi__MX__operator_double(std::string ** err_msg, casadi::MX* obj);
+double
+    casadi__MX__operator_double(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        double ret = obj->operator double();
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "primitives" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::primitives"
+// cWrapperName: "casadi__MX__primitives"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__MX__primitives(std::string ** err_msg, casadi::MX* obj)"
+// call: "        std::vector< casadi::MX > ret = obj->primitives();"
+// params: []
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__MX__primitives(std::string ** err_msg, casadi::MX* obj);
+std::vector< casadi::MX* >*
+    casadi__MX__primitives(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        std::vector< casadi::MX > ret = obj->primitives();
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "printme" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::printme"
+// cWrapperName: "casadi__MX__printme"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__printme(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
+// call: "        casadi::MX ret = obj->printme(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__printme(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
+casadi::MX*
+    casadi__MX__printme(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = obj->printme(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "reset_input" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::reset_input"
+// cWrapperName: "casadi__MX__reset_input"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__reset_input(std::string ** err_msg, casadi::MX* obj)"
+// call: "        obj->reset_input();"
+// params: []
+extern "C"
+void
+    casadi__MX__reset_input(std::string ** err_msg, casadi::MX* obj);
+void
+    casadi__MX__reset_input(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        obj->reset_input();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "row" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::row"
+// cWrapperName: "casadi__MX__row"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__row(std::string ** err_msg, casadi::MX* obj, long long x0)"
+// call: "        long long ret = obj->row(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__MX__row(std::string ** err_msg, casadi::MX* obj, long long x0);
+long long
+    casadi__MX__row(std::string ** err_msg, casadi::MX* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->row(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "rows" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::rows"
+// cWrapperName: "casadi__MX__rows"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__rows(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->rows();"
+// params: []
+extern "C"
+long long
+    casadi__MX__rows(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__rows(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->rows();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::set"
+// cWrapperName: "casadi__MX__set__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__set__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__set__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::IM* x3);
+void
+    casadi__MX__set__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::IM* x3){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::set"
+// cWrapperName: "casadi__MX__set__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__set__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__set__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::Slice* x3);
+void
+    casadi__MX__set__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::Slice* x3){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::set"
+// cWrapperName: "casadi__MX__set__2"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__set__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__set__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IM* x3);
+void
+    casadi__MX__set__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IM* x3){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::set"
+// cWrapperName: "casadi__MX__set__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__set__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__set__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
+void
+    casadi__MX__set__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::set"
+// cWrapperName: "casadi__MX__set__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__set__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2)"
+// call: "        obj->set(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__set__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2);
+void
+    casadi__MX__set__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
+
+        obj->set(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::set"
+// cWrapperName: "casadi__MX__set__5"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__set__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2)"
+// call: "        obj->set(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__set__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2);
+void
+    casadi__MX__set__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->set(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::set"
+// cWrapperName: "casadi__MX__set__6"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__set__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
+// call: "        obj->set(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__set__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2);
+void
+    casadi__MX__set__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->set(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_max_depth" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::set_max_depth"
+// cWrapperName: "casadi__MX__set_max_depth__0"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__set_max_depth__0(std::string ** err_msg)"
+// call: "        casadi::MX::set_max_depth();"
+// params: []
+extern "C"
+void
+    casadi__MX__set_max_depth__0(std::string ** err_msg);
+void
+    casadi__MX__set_max_depth__0(std::string ** err_msg){
+    try {
+
+        casadi::MX::set_max_depth();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_max_depth" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::set_max_depth"
+// cWrapperName: "casadi__MX__set_max_depth__1"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__set_max_depth__1(std::string ** err_msg, long long x0)"
+// call: "        casadi::MX::set_max_depth(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__MX__set_max_depth__1(std::string ** err_msg, long long x0);
+void
+    casadi__MX__set_max_depth__1(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX::set_max_depth(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_nz" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::set_nz"
+// cWrapperName: "casadi__MX__set_nz__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__set_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2)"
+// call: "        obj->set_nz(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__set_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2);
+void
+    casadi__MX__set_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->set_nz(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_nz" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::set_nz"
+// cWrapperName: "casadi__MX__set_nz__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__set_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
+// call: "        obj->set_nz(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__MX__set_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2);
+void
+    casadi__MX__set_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->set_nz(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_temp" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::set_temp"
+// cWrapperName: "casadi__MX__set_temp"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__MX__set_temp(std::string ** err_msg, casadi::MX* obj, long long x0)"
+// call: "        obj->set_temp(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__MX__set_temp(std::string ** err_msg, casadi::MX* obj, long long x0);
+void
+    casadi__MX__set_temp(std::string ** err_msg, casadi::MX* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        obj->set_temp(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::size"
+// cWrapperName: "casadi__MX__size__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__size__0(std::string ** err_msg, casadi::MX* obj, long long x0)"
+// call: "        long long ret = obj->size(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__MX__size__0(std::string ** err_msg, casadi::MX* obj, long long x0);
+long long
+    casadi__MX__size__0(std::string ** err_msg, casadi::MX* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->size(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::size"
+// cWrapperName: "casadi__MX__size__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: StdPair CLongLong CLongLong
+// cWrapperRetType: "std::pair< long long, long long >*"
+// proto: "std::pair< long long, long long >*\n    casadi__MX__size__1(std::string ** err_msg, casadi::MX* obj)"
+// call: "        std::pair< long long, long long > ret = obj->size();"
+// params: []
+extern "C"
+std::pair< long long, long long >*
+    casadi__MX__size__1(std::string ** err_msg, casadi::MX* obj);
+std::pair< long long, long long >*
+    casadi__MX__size__1(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        std::pair< long long, long long > ret = obj->size();
+
+        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size1" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::size1"
+// cWrapperName: "casadi__MX__size1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__size1(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->size1();"
+// params: []
+extern "C"
+long long
+    casadi__MX__size1(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__size1(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->size1();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size2" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::size2"
+// cWrapperName: "casadi__MX__size2"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__size2(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->size2();"
+// params: []
+extern "C"
+long long
+    casadi__MX__size2(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__size2(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->size2();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::sparsity"
+// cWrapperName: "casadi__MX__sparsity"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__MX__sparsity(std::string ** err_msg, casadi::MX* obj)"
+// call: "        casadi::Sparsity ret = obj->sparsity();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__MX__sparsity(std::string ** err_msg, casadi::MX* obj);
+casadi::Sparsity*
+    casadi__MX__sparsity(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        casadi::Sparsity ret = obj->sparsity();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "split_primitives" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::split_primitives"
+// cWrapperName: "casadi__MX__split_primitives"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__MX__split_primitives(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
+// call: "        std::vector< casadi::MX > ret = obj->split_primitives(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__MX__split_primitives(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
+std::vector< casadi::MX* >*
+    casadi__MX__split_primitives(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = obj->split_primitives(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::sym"
+// cWrapperName: "casadi__MX__sym__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
+// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
+// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi__MX__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
+// call: "        std::vector< std::vector< casadi::MX > > ret = casadi::MX::sym(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< std::vector< casadi::MX* >* >*
+    casadi__MX__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4);
+std::vector< std::vector< casadi::MX* >* >*
+    casadi__MX__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+
+        std::vector< std::vector< casadi::MX > > ret = casadi::MX::sym(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::sym"
+// cWrapperName: "casadi__MX__sym__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
+// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
+// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi__MX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
+// call: "        std::vector< std::vector< casadi::MX > > ret = casadi::MX::sym(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< std::vector< casadi::MX* >* >*
+    casadi__MX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3);
+std::vector< std::vector< casadi::MX* >* >*
+    casadi__MX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        std::vector< std::vector< casadi::MX > > ret = casadi::MX::sym(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::sym"
+// cWrapperName: "casadi__MX__sym__2"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__MX__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
+// call: "        std::vector< casadi::MX > ret = casadi::MX::sym(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__MX__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3);
+std::vector< casadi::MX* >*
+    casadi__MX__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::MX::sym(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::sym"
+// cWrapperName: "casadi__MX__sym__3"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__MX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
+// call: "        std::vector< casadi::MX > ret = casadi::MX::sym(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__MX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2);
+std::vector< casadi::MX* >*
+    casadi__MX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::MX::sym(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::sym"
+// cWrapperName: "casadi__MX__sym__4"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
+// call: "        casadi::MX ret = casadi::MX::sym(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
+casadi::MX*
+    casadi__MX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::MX ret = casadi::MX::sym(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::sym"
+// cWrapperName: "casadi__MX__sym__5"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
+// call: "        casadi::MX ret = casadi::MX::sym(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1);
+casadi::MX*
+    casadi__MX__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);
+
+        casadi::MX ret = casadi::MX::sym(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::sym"
+// cWrapperName: "casadi__MX__sym__6"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__sym__6(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::MX ret = casadi::MX::sym(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__sym__6(std::string ** err_msg, std::string* x0);
+casadi::MX*
+    casadi__MX__sym__6(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::MX ret = casadi::MX::sym(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::sym"
+// cWrapperName: "casadi__MX__sym__7"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__sym__7(std::string ** err_msg, std::string* x0, long long x1)"
+// call: "        casadi::MX ret = casadi::MX::sym(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__sym__7(std::string ** err_msg, std::string* x0, long long x1);
+casadi::MX*
+    casadi__MX__sym__7(std::string ** err_msg, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = casadi::MX::sym(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::sym"
+// cWrapperName: "casadi__MX__sym__8"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
+// call: "        casadi::MX ret = casadi::MX::sym(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2);
+casadi::MX*
+    casadi__MX__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::MX ret = casadi::MX::sym(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "type_name" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::type_name"
+// cWrapperName: "casadi__MX__type_name"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__MX__type_name(std::string ** err_msg)"
+// call: "        std::string ret = casadi::MX::type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__MX__type_name(std::string ** err_msg);
+std::string*
+    casadi__MX__type_name(std::string ** err_msg){
+    try {
+
+        std::string ret = casadi::MX::type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "unary" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::unary"
+// cWrapperName: "casadi__MX__unary"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::MX* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__unary(std::string ** err_msg, long long x0, casadi::MX* x1)"
+// call: "        casadi::MX ret = casadi::MX::unary(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__unary(std::string ** err_msg, long long x0, casadi::MX* x1);
+casadi::MX*
+    casadi__MX__unary(std::string ** err_msg, long long x0, casadi::MX* x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = casadi::MX::unary(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "which_function" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::which_function"
+// cWrapperName: "casadi__MX__which_function"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__MX__which_function(std::string ** err_msg, casadi::MX* obj)"
+// call: "        casadi::Function ret = obj->which_function();"
+// params: []
+extern "C"
+casadi::Function*
+    casadi__MX__which_function(std::string ** err_msg, casadi::MX* obj);
+casadi::Function*
+    casadi__MX__which_function(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        casadi::Function ret = obj->which_function();
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "which_output" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::which_output"
+// cWrapperName: "casadi__MX__which_output"
+// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__MX__which_output(std::string ** err_msg, casadi::MX* obj)"
+// call: "        long long ret = obj->which_output();"
+// params: []
+extern "C"
+long long
+    casadi__MX__which_output(std::string ** err_msg, casadi::MX* obj);
+long long
+    casadi__MX__which_output(std::string ** err_msg, casadi::MX* obj){
+    try {
+
+        long long ret = obj->which_output();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::zeros"
+// cWrapperName: "casadi__MX__zeros__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::MX ret = casadi::MX::zeros(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::MX*
+    casadi__MX__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::MX ret = casadi::MX::zeros(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::zeros"
+// cWrapperName: "casadi__MX__zeros__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::MX ret = casadi::MX::zeros(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::MX*
+    casadi__MX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::MX ret = casadi::MX::zeros(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::zeros"
+// cWrapperName: "casadi__MX__zeros__2"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__zeros__2(std::string ** err_msg)"
+// call: "        casadi::MX ret = casadi::MX::zeros();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__MX__zeros__2(std::string ** err_msg);
+casadi::MX*
+    casadi__MX__zeros__2(std::string ** err_msg){
+    try {
+
+        casadi::MX ret = casadi::MX::zeros();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::zeros"
+// cWrapperName: "casadi__MX__zeros__3"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__zeros__3(std::string ** err_msg, long long x0)"
+// call: "        casadi::MX ret = casadi::MX::zeros(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__zeros__3(std::string ** err_msg, long long x0);
+casadi::MX*
+    casadi__MX__zeros__3(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX ret = casadi::MX::zeros(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::MX"
+// cppName: "casadi::MX::zeros"
+// cWrapperName: "casadi__MX__zeros__4"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__MX__zeros__4(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::MX ret = casadi::MX::zeros(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__MX__zeros__4(std::string ** err_msg, long long x0, long long x1);
+casadi::MX*
+    casadi__MX__zeros__4(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = casadi::MX::zeros(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "MatrixCommon")===============
+// classType: UserType (Namespace ["casadi"]) (Name "MatrixCommon")
+extern "C"
+void delete_casadi__MatrixCommon(casadi::MatrixCommon* obj);
+void delete_casadi__MatrixCommon(casadi::MatrixCommon* obj){
+    delete obj;
+}
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "MetaCon")===============
+// classType: UserType (Namespace ["casadi"]) (Name "MetaCon")
+extern "C"
+void delete_casadi__MetaCon(casadi::MetaCon* obj);
+void delete_casadi__MetaCon(casadi::MetaCon* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::MetaCon"
+// cppName: "casadi::MetaCon"
+// cWrapperName: "casadi__MetaCon__CONSTRUCTOR"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MetaCon")
+// cWrapperRetType: "casadi::MetaCon*"
+// proto: "casadi::MetaCon*\n    casadi__MetaCon__CONSTRUCTOR(std::string ** err_msg)"
+// call: "        casadi::MetaCon* ret = (casadi::MetaCon*)new casadi::MetaCon();"
+// params: []
+extern "C"
+casadi::MetaCon*
+    casadi__MetaCon__CONSTRUCTOR(std::string ** err_msg);
+casadi::MetaCon*
+    casadi__MetaCon__CONSTRUCTOR(std::string ** err_msg){
+    try {
+
+        casadi::MetaCon* ret = (casadi::MetaCon*)new casadi::MetaCon();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "MetaVar")===============
+// classType: UserType (Namespace ["casadi"]) (Name "MetaVar")
+extern "C"
+void delete_casadi__MetaVar(casadi::MetaVar* obj);
+void delete_casadi__MetaVar(casadi::MetaVar* obj){
+    delete obj;
+}
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "NlpBuilder")===============
+// classType: UserType (Namespace ["casadi"]) (Name "NlpBuilder")
+extern "C"
+void delete_casadi__NlpBuilder(casadi::NlpBuilder* obj);
+void delete_casadi__NlpBuilder(casadi::NlpBuilder* obj){
+    delete obj;
+}
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::NlpBuilder"
+// cppName: "casadi::NlpBuilder::get_str"
+// cWrapperName: "casadi__NlpBuilder__get_str__0"
+// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__NlpBuilder__get_str__0(std::string ** err_msg, casadi::NlpBuilder* obj)"
+// call: "        std::string ret = obj->get_str();"
+// params: []
+extern "C"
+std::string*
+    casadi__NlpBuilder__get_str__0(std::string ** err_msg, casadi::NlpBuilder* obj);
+std::string*
+    casadi__NlpBuilder__get_str__0(std::string ** err_msg, casadi::NlpBuilder* obj){
+    try {
+
+        std::string ret = obj->get_str();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::NlpBuilder"
+// cppName: "casadi::NlpBuilder::get_str"
+// cWrapperName: "casadi__NlpBuilder__get_str__1"
+// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__NlpBuilder__get_str__1(std::string ** err_msg, casadi::NlpBuilder* obj, int x0)"
+// call: "        std::string ret = obj->get_str(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__NlpBuilder__get_str__1(std::string ** err_msg, casadi::NlpBuilder* obj, int x0);
+std::string*
+    casadi__NlpBuilder__get_str__1(std::string ** err_msg, casadi::NlpBuilder* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->get_str(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "import_nl" ===============
+// class: "casadi::NlpBuilder"
+// cppName: "casadi::NlpBuilder::import_nl"
+// cWrapperName: "casadi__NlpBuilder__import_nl__0"
+// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__NlpBuilder__import_nl__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0)"
+// call: "        obj->import_nl(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__NlpBuilder__import_nl__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0);
+void
+    casadi__NlpBuilder__import_nl__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->import_nl(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "import_nl" ===============
+// class: "casadi::NlpBuilder"
+// cppName: "casadi::NlpBuilder::import_nl"
+// cWrapperName: "casadi__NlpBuilder__import_nl__1"
+// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__NlpBuilder__import_nl__1(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// call: "        obj->import_nl(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+void
+    casadi__NlpBuilder__import_nl__1(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
+void
+    casadi__NlpBuilder__import_nl__1(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
+
+        obj->import_nl(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "type_name" ===============
+// class: "casadi::NlpBuilder"
+// cppName: "casadi::NlpBuilder::type_name"
+// cWrapperName: "casadi__NlpBuilder__type_name"
+// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__NlpBuilder__type_name(std::string ** err_msg, casadi::NlpBuilder* obj)"
+// call: "        std::string ret = obj->type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__NlpBuilder__type_name(std::string ** err_msg, casadi::NlpBuilder* obj);
+std::string*
+    casadi__NlpBuilder__type_name(std::string ** err_msg, casadi::NlpBuilder* obj){
+    try {
+
+        std::string ret = obj->type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "Opti")===============
+// classType: UserType (Namespace ["casadi"]) (Name "Opti")
+extern "C"
+void delete_casadi__Opti(casadi::Opti* obj);
+void delete_casadi__Opti(casadi::Opti* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti"
+// cWrapperName: "casadi__Opti__CONSTRUCTOR"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Opti")
+// cWrapperRetType: "casadi::Opti*"
+// proto: "casadi::Opti*\n    casadi__Opti__CONSTRUCTOR(std::string ** err_msg)"
+// call: "        casadi::Opti* ret = (casadi::Opti*)new casadi::Opti();"
+// params: []
+extern "C"
+casadi::Opti*
+    casadi__Opti__CONSTRUCTOR(std::string ** err_msg);
+casadi::Opti*
+    casadi__Opti__CONSTRUCTOR(std::string ** err_msg){
+    try {
+
+        casadi::Opti* ret = (casadi::Opti*)new casadi::Opti();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "advanced" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::advanced"
+// cWrapperName: "casadi__Opti__advanced"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "OptiAdvanced")
+// cWrapperRetType: "casadi::OptiAdvanced*"
+// proto: "casadi::OptiAdvanced*\n    casadi__Opti__advanced(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        casadi::OptiAdvanced ret = obj->advanced();"
+// params: []
+extern "C"
+casadi::OptiAdvanced*
+    casadi__Opti__advanced(std::string ** err_msg, casadi::Opti* obj);
+casadi::OptiAdvanced*
+    casadi__Opti__advanced(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        casadi::OptiAdvanced ret = obj->advanced();
+
+        return WrapReturn< casadi::OptiAdvanced*, casadi::OptiAdvanced >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "bounded" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::bounded"
+// cWrapperName: "casadi__Opti__bounded"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__bounded(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// call: "        casadi::MX ret = casadi::Opti::bounded(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Opti__bounded(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
+casadi::MX*
+    casadi__Opti__bounded(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+
+        casadi::MX ret = casadi::Opti::bounded(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "callback_class" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::callback_class"
+// cWrapperName: "casadi__Opti__callback_class"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Opti__callback_class(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        obj->callback_class();"
+// params: []
+extern "C"
+void
+    casadi__Opti__callback_class(std::string ** err_msg, casadi::Opti* obj);
+void
+    casadi__Opti__callback_class(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        obj->callback_class();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "copy" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::copy"
+// cWrapperName: "casadi__Opti__copy"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Opti")
+// cWrapperRetType: "casadi::Opti*"
+// proto: "casadi::Opti*\n    casadi__Opti__copy(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        casadi::Opti ret = obj->copy();"
+// params: []
+extern "C"
+casadi::Opti*
+    casadi__Opti__copy(std::string ** err_msg, casadi::Opti* obj);
+casadi::Opti*
+    casadi__Opti__copy(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        casadi::Opti ret = obj->copy();
+
+        return WrapReturn< casadi::Opti*, casadi::Opti >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "debug" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::debug"
+// cWrapperName: "casadi__Opti__debug"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "OptiAdvanced")
+// cWrapperRetType: "casadi::OptiAdvanced*"
+// proto: "casadi::OptiAdvanced*\n    casadi__Opti__debug(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        casadi::OptiAdvanced ret = obj->debug();"
+// params: []
+extern "C"
+casadi::OptiAdvanced*
+    casadi__Opti__debug(std::string ** err_msg, casadi::Opti* obj);
+casadi::OptiAdvanced*
+    casadi__Opti__debug(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        casadi::OptiAdvanced ret = obj->debug();
+
+        return WrapReturn< casadi::OptiAdvanced*, casadi::OptiAdvanced >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dual" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::dual"
+// cWrapperName: "casadi__Opti__dual"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__dual(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
+// call: "        casadi::MX ret = obj->dual(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Opti__dual(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0);
+casadi::MX*
+    casadi__Opti__dual(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = obj->dual(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "f" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::f"
+// cWrapperName: "casadi__Opti__f"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__f(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        casadi::MX ret = obj->f();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__Opti__f(std::string ** err_msg, casadi::Opti* obj);
+casadi::MX*
+    casadi__Opti__f(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        casadi::MX ret = obj->f();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "g" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::g"
+// cWrapperName: "casadi__Opti__g"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__g(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        casadi::MX ret = obj->g();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__Opti__g(std::string ** err_msg, casadi::Opti* obj);
+casadi::MX*
+    casadi__Opti__g(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        casadi::MX ret = obj->g();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::get_str"
+// cWrapperName: "casadi__Opti__get_str__0"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Opti__get_str__0(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        std::string ret = obj->get_str();"
+// params: []
+extern "C"
+std::string*
+    casadi__Opti__get_str__0(std::string ** err_msg, casadi::Opti* obj);
+std::string*
+    casadi__Opti__get_str__0(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        std::string ret = obj->get_str();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::get_str"
+// cWrapperName: "casadi__Opti__get_str__1"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Opti__get_str__1(std::string ** err_msg, casadi::Opti* obj, int x0)"
+// call: "        std::string ret = obj->get_str(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Opti__get_str__1(std::string ** err_msg, casadi::Opti* obj, int x0);
+std::string*
+    casadi__Opti__get_str__1(std::string ** err_msg, casadi::Opti* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->get_str(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "initial" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::initial"
+// cWrapperName: "casadi__Opti__initial"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__Opti__initial(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        std::vector< casadi::MX > ret = obj->initial();"
+// params: []
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__Opti__initial(std::string ** err_msg, casadi::Opti* obj);
+std::vector< casadi::MX* >*
+    casadi__Opti__initial(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        std::vector< casadi::MX > ret = obj->initial();
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "lam_g" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::lam_g"
+// cWrapperName: "casadi__Opti__lam_g"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__lam_g(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        casadi::MX ret = obj->lam_g();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__Opti__lam_g(std::string ** err_msg, casadi::Opti* obj);
+casadi::MX*
+    casadi__Opti__lam_g(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        casadi::MX ret = obj->lam_g();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "lbg" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::lbg"
+// cWrapperName: "casadi__Opti__lbg"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__lbg(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        casadi::MX ret = obj->lbg();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__Opti__lbg(std::string ** err_msg, casadi::Opti* obj);
+casadi::MX*
+    casadi__Opti__lbg(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        casadi::MX ret = obj->lbg();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "minimize" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::minimize"
+// cWrapperName: "casadi__Opti__minimize"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Opti__minimize(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
+// call: "        obj->minimize(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+void
+    casadi__Opti__minimize(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0);
+void
+    casadi__Opti__minimize(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        obj->minimize(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "ng" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::ng"
+// cWrapperName: "casadi__Opti__ng"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Opti__ng(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        long long ret = obj->ng();"
+// params: []
+extern "C"
+long long
+    casadi__Opti__ng(std::string ** err_msg, casadi::Opti* obj);
+long long
+    casadi__Opti__ng(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        long long ret = obj->ng();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "np" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::np"
+// cWrapperName: "casadi__Opti__np"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Opti__np(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        long long ret = obj->np();"
+// params: []
+extern "C"
+long long
+    casadi__Opti__np(std::string ** err_msg, casadi::Opti* obj);
+long long
+    casadi__Opti__np(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        long long ret = obj->np();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nx" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::nx"
+// cWrapperName: "casadi__Opti__nx"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Opti__nx(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        long long ret = obj->nx();"
+// params: []
+extern "C"
+long long
+    casadi__Opti__nx(std::string ** err_msg, casadi::Opti* obj);
+long long
+    casadi__Opti__nx(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        long long ret = obj->nx();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "p" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::p"
+// cWrapperName: "casadi__Opti__p"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__p(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        casadi::MX ret = obj->p();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__Opti__p(std::string ** err_msg, casadi::Opti* obj);
+casadi::MX*
+    casadi__Opti__p(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        casadi::MX ret = obj->p();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "parameter" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::parameter"
+// cWrapperName: "casadi__Opti__parameter__0"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__parameter__0(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        casadi::MX ret = obj->parameter();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__Opti__parameter__0(std::string ** err_msg, casadi::Opti* obj);
+casadi::MX*
+    casadi__Opti__parameter__0(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        casadi::MX ret = obj->parameter();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "parameter" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::parameter"
+// cWrapperName: "casadi__Opti__parameter__1"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__parameter__1(std::string ** err_msg, casadi::Opti* obj, long long x0)"
+// call: "        casadi::MX ret = obj->parameter(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Opti__parameter__1(std::string ** err_msg, casadi::Opti* obj, long long x0);
+casadi::MX*
+    casadi__Opti__parameter__1(std::string ** err_msg, casadi::Opti* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX ret = obj->parameter(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "parameter" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::parameter"
+// cWrapperName: "casadi__Opti__parameter__2"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__parameter__2(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1)"
+// call: "        casadi::MX ret = obj->parameter(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Opti__parameter__2(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1);
+casadi::MX*
+    casadi__Opti__parameter__2(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = obj->parameter(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "parameter" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::parameter"
+// cWrapperName: "casadi__Opti__parameter__3"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__parameter__3(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2)"
+// call: "        casadi::MX ret = obj->parameter(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Opti__parameter__3(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2);
+casadi::MX*
+    casadi__Opti__parameter__3(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+
+        casadi::MX ret = obj->parameter(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "return_status" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::return_status"
+// cWrapperName: "casadi__Opti__return_status"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Opti__return_status(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        std::string ret = obj->return_status();"
+// params: []
+extern "C"
+std::string*
+    casadi__Opti__return_status(std::string ** err_msg, casadi::Opti* obj);
+std::string*
+    casadi__Opti__return_status(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        std::string ret = obj->return_status();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "set_initial" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::set_initial"
+// cWrapperName: "casadi__Opti__set_initial__0"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Opti__set_initial__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0)"
+// call: "        obj->set_initial(x0_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+extern "C"
+void
+    casadi__Opti__set_initial__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0);
+void
+    casadi__Opti__set_initial__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        obj->set_initial(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_initial" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::set_initial"
+// cWrapperName: "casadi__Opti__set_initial__1"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Opti__set_initial__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1)"
+// call: "        obj->set_initial(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__Opti__set_initial__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1);
+void
+    casadi__Opti__set_initial__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        obj->set_initial(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_value" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::set_value"
+// cWrapperName: "casadi__Opti__set_value__0"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Opti__set_value__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0)"
+// call: "        obj->set_value(x0_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+extern "C"
+void
+    casadi__Opti__set_value__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0);
+void
+    casadi__Opti__set_value__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        obj->set_value(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_value" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::set_value"
+// cWrapperName: "casadi__Opti__set_value__1"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Opti__set_value__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1)"
+// call: "        obj->set_value(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__Opti__set_value__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1);
+void
+    casadi__Opti__set_value__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        obj->set_value(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "solve" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::solve"
+// cWrapperName: "casadi__Opti__solve"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "OptiSol")
+// cWrapperRetType: "casadi::OptiSol*"
+// proto: "casadi::OptiSol*\n    casadi__Opti__solve(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        casadi::OptiSol ret = obj->solve();"
+// params: []
+extern "C"
+casadi::OptiSol*
+    casadi__Opti__solve(std::string ** err_msg, casadi::Opti* obj);
+casadi::OptiSol*
+    casadi__Opti__solve(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        casadi::OptiSol ret = obj->solve();
+
+        return WrapReturn< casadi::OptiSol*, casadi::OptiSol >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "solver" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::solver"
+// cWrapperName: "casadi__Opti__solver__0"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Opti__solver__0(std::string ** err_msg, casadi::Opti* obj, std::string* x0)"
+// call: "        obj->solver(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__Opti__solver__0(std::string ** err_msg, casadi::Opti* obj, std::string* x0);
+void
+    casadi__Opti__solver__0(std::string ** err_msg, casadi::Opti* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->solver(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "solver" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::solver"
+// cWrapperName: "casadi__Opti__solver__1"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Opti__solver__1(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// call: "        obj->solver(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+void
+    casadi__Opti__solver__1(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
+void
+    casadi__Opti__solver__1(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
+
+        obj->solver(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "solver" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::solver"
+// cWrapperName: "casadi__Opti__solver__2"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Opti__solver__2(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// call: "        obj->solver(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+void
+    casadi__Opti__solver__2(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1, std::map< std::string, casadi::GenericType* >* x2);
+void
+    casadi__Opti__solver__2(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        obj->solver(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "stats" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::stats"
+// cWrapperName: "casadi__Opti__stats"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
+// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
+// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Opti__stats(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        std::map< std::string, casadi::GenericType > ret = obj->stats();"
+// params: []
+extern "C"
+std::map< std::string, casadi::GenericType* >*
+    casadi__Opti__stats(std::string ** err_msg, casadi::Opti* obj);
+std::map< std::string, casadi::GenericType* >*
+    casadi__Opti__stats(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        std::map< std::string, casadi::GenericType > ret = obj->stats();
+
+        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "subject_to" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::subject_to"
+// cWrapperName: "casadi__Opti__subject_to__0"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Opti__subject_to__0(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        obj->subject_to();"
+// params: []
+extern "C"
+void
+    casadi__Opti__subject_to__0(std::string ** err_msg, casadi::Opti* obj);
+void
+    casadi__Opti__subject_to__0(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        obj->subject_to();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "subject_to" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::subject_to"
+// cWrapperName: "casadi__Opti__subject_to__1"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Opti__subject_to__1(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0)"
+// call: "        obj->subject_to(x0_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+extern "C"
+void
+    casadi__Opti__subject_to__1(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0);
+void
+    casadi__Opti__subject_to__1(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        obj->subject_to(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "subject_to" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::subject_to"
+// cWrapperName: "casadi__Opti__subject_to__2"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Opti__subject_to__2(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
+// call: "        obj->subject_to(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+void
+    casadi__Opti__subject_to__2(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0);
+void
+    casadi__Opti__subject_to__2(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        obj->subject_to(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "type_name" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::type_name"
+// cWrapperName: "casadi__Opti__type_name"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Opti__type_name(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        std::string ret = obj->type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__Opti__type_name(std::string ** err_msg, casadi::Opti* obj);
+std::string*
+    casadi__Opti__type_name(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        std::string ret = obj->type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "ubg" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::ubg"
+// cWrapperName: "casadi__Opti__ubg"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__ubg(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        casadi::MX ret = obj->ubg();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__Opti__ubg(std::string ** err_msg, casadi::Opti* obj);
+casadi::MX*
+    casadi__Opti__ubg(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        casadi::MX ret = obj->ubg();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "update_user_dict" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::update_user_dict"
+// cWrapperName: "casadi__Opti__update_user_dict__0"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Opti__update_user_dict__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// call: "        obj->update_user_dict(x0_, x1_);"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+void
+    casadi__Opti__update_user_dict__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0, std::map< std::string, casadi::GenericType* >* x1);
+void
+    casadi__Opti__update_user_dict__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0, std::map< std::string, casadi::GenericType* >* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
+
+        obj->update_user_dict(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "update_user_dict" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::update_user_dict"
+// cWrapperName: "casadi__Opti__update_user_dict__1"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Opti__update_user_dict__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// call: "        obj->update_user_dict(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+void
+    casadi__Opti__update_user_dict__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::map< std::string, casadi::GenericType* >* x1);
+void
+    casadi__Opti__update_user_dict__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::map< std::string, casadi::GenericType* >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
+
+        obj->update_user_dict(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "user_dict" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::user_dict"
+// cWrapperName: "casadi__Opti__user_dict"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
+// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
+// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Opti__user_dict(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
+// call: "        std::map< std::string, casadi::GenericType > ret = obj->user_dict(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+std::map< std::string, casadi::GenericType* >*
+    casadi__Opti__user_dict(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0);
+std::map< std::string, casadi::GenericType* >*
+    casadi__Opti__user_dict(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::map< std::string, casadi::GenericType > ret = obj->user_dict(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::value"
+// cWrapperName: "casadi__Opti__value__0"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__Opti__value__0(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0)"
+// call: "        casadi::DM ret = obj->value(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__Opti__value__0(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0);
+casadi::DM*
+    casadi__Opti__value__0(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::DM ret = obj->value(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::value"
+// cWrapperName: "casadi__Opti__value__1"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__Opti__value__1(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1)"
+// call: "        casadi::DM ret = obj->value(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__Opti__value__1(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1);
+casadi::DM*
+    casadi__Opti__value__1(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+
+        casadi::DM ret = obj->value(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::value"
+// cWrapperName: "casadi__Opti__value__2"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__Opti__value__2(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0)"
+// call: "        casadi::DM ret = obj->value(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__Opti__value__2(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0);
+casadi::DM*
+    casadi__Opti__value__2(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = obj->value(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::value"
+// cWrapperName: "casadi__Opti__value__3"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__Opti__value__3(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1)"
+// call: "        casadi::DM ret = obj->value(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__Opti__value__3(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1);
+casadi::DM*
+    casadi__Opti__value__3(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+
+        casadi::DM ret = obj->value(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::value"
+// cWrapperName: "casadi__Opti__value__4"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__Opti__value__4(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
+// call: "        casadi::DM ret = obj->value(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__Opti__value__4(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0);
+casadi::DM*
+    casadi__Opti__value__4(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::DM ret = obj->value(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::value"
+// cWrapperName: "casadi__Opti__value__5"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__Opti__value__5(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
+// call: "        casadi::DM ret = obj->value(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__Opti__value__5(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::vector< casadi::MX* >* x1);
+casadi::DM*
+    casadi__Opti__value__5(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::vector< casadi::MX* >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+
+        casadi::DM ret = obj->value(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value_parameters" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::value_parameters"
+// cWrapperName: "casadi__Opti__value_parameters"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__Opti__value_parameters(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        std::vector< casadi::MX > ret = obj->value_parameters();"
+// params: []
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__Opti__value_parameters(std::string ** err_msg, casadi::Opti* obj);
+std::vector< casadi::MX* >*
+    casadi__Opti__value_parameters(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        std::vector< casadi::MX > ret = obj->value_parameters();
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value_variables" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::value_variables"
+// cWrapperName: "casadi__Opti__value_variables"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__Opti__value_variables(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        std::vector< casadi::MX > ret = obj->value_variables();"
+// params: []
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__Opti__value_variables(std::string ** err_msg, casadi::Opti* obj);
+std::vector< casadi::MX* >*
+    casadi__Opti__value_variables(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        std::vector< casadi::MX > ret = obj->value_variables();
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "variable" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::variable"
+// cWrapperName: "casadi__Opti__variable__0"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__variable__0(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        casadi::MX ret = obj->variable();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__Opti__variable__0(std::string ** err_msg, casadi::Opti* obj);
+casadi::MX*
+    casadi__Opti__variable__0(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        casadi::MX ret = obj->variable();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "variable" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::variable"
+// cWrapperName: "casadi__Opti__variable__1"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__variable__1(std::string ** err_msg, casadi::Opti* obj, long long x0)"
+// call: "        casadi::MX ret = obj->variable(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Opti__variable__1(std::string ** err_msg, casadi::Opti* obj, long long x0);
+casadi::MX*
+    casadi__Opti__variable__1(std::string ** err_msg, casadi::Opti* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX ret = obj->variable(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "variable" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::variable"
+// cWrapperName: "casadi__Opti__variable__2"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__variable__2(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1)"
+// call: "        casadi::MX ret = obj->variable(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Opti__variable__2(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1);
+casadi::MX*
+    casadi__Opti__variable__2(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = obj->variable(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "variable" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::variable"
+// cWrapperName: "casadi__Opti__variable__3"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__variable__3(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2)"
+// call: "        casadi::MX ret = obj->variable(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__Opti__variable__3(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2);
+casadi::MX*
+    casadi__Opti__variable__3(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+
+        casadi::MX ret = obj->variable(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "x" ===============
+// class: "casadi::Opti"
+// cppName: "casadi::Opti::x"
+// cWrapperName: "casadi__Opti__x"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__Opti__x(std::string ** err_msg, casadi::Opti* obj)"
+// call: "        casadi::MX ret = obj->x();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__Opti__x(std::string ** err_msg, casadi::Opti* obj);
+casadi::MX*
+    casadi__Opti__x(std::string ** err_msg, casadi::Opti* obj){
+    try {
+
+        casadi::MX ret = obj->x();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "OptiAdvanced")===============
+// classType: UserType (Namespace ["casadi"]) (Name "OptiAdvanced")
+extern "C"
+void delete_casadi__OptiAdvanced(casadi::OptiAdvanced* obj);
+void delete_casadi__OptiAdvanced(casadi::OptiAdvanced* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced"
+// cWrapperName: "casadi__OptiAdvanced__CONSTRUCTOR"
+// protoArgs: "(std::string ** err_msg, casadi::Opti* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "OptiAdvanced")
+// cWrapperRetType: "casadi::OptiAdvanced*"
+// proto: "casadi::OptiAdvanced*\n    casadi__OptiAdvanced__CONSTRUCTOR(std::string ** err_msg, casadi::Opti* x0)"
+// call: "        casadi::OptiAdvanced* ret = (casadi::OptiAdvanced*)new casadi::OptiAdvanced(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Opti"))),SwigOutput False)]
+extern "C"
+casadi::OptiAdvanced*
+    casadi__OptiAdvanced__CONSTRUCTOR(std::string ** err_msg, casadi::Opti* x0);
+casadi::OptiAdvanced*
+    casadi__OptiAdvanced__CONSTRUCTOR(std::string ** err_msg, casadi::Opti* x0){
+    try {
+        casadi::Opti& x0_ = Marshaling<casadi::Opti&,casadi::Opti*>::marshal(x0);
+
+        casadi::OptiAdvanced* ret = (casadi::OptiAdvanced*)new casadi::OptiAdvanced(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "active_symvar" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::active_symvar"
+// cWrapperName: "casadi__OptiAdvanced__active_symvar"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__OptiAdvanced__active_symvar(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
+// call: "        std::vector< casadi::MX > ret = obj->active_symvar(x0_);"
+// params: [(CEnum (Namespace ["casadi"]) (Name "VariableType"),SwigOutput False)]
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__OptiAdvanced__active_symvar(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0);
+std::vector< casadi::MX* >*
+    casadi__OptiAdvanced__active_symvar(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0){
+    try {
+        casadi::VariableType x0_ = Marshaling<casadi::VariableType,int>::marshal(x0);
+
+        std::vector< casadi::MX > ret = obj->active_symvar(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "active_values" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::active_values"
+// cWrapperName: "casadi__OptiAdvanced__active_values"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi__OptiAdvanced__active_values(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
+// call: "        std::vector< casadi::DM > ret = obj->active_values(x0_);"
+// params: [(CEnum (Namespace ["casadi"]) (Name "VariableType"),SwigOutput False)]
+extern "C"
+std::vector< casadi::DM* >*
+    casadi__OptiAdvanced__active_values(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0);
+std::vector< casadi::DM* >*
+    casadi__OptiAdvanced__active_values(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0){
+    try {
+        casadi::VariableType x0_ = Marshaling<casadi::VariableType,int>::marshal(x0);
+
+        std::vector< casadi::DM > ret = obj->active_values(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "arg" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::arg"
+// cWrapperName: "casadi__OptiAdvanced__arg"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))
+// cWrapperRetType: "std::map< std::string, casadi::DM* >*"
+// proto: "std::map< std::string, casadi::DM* >*\n    casadi__OptiAdvanced__arg(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        std::map< std::string, casadi::DM > ret = obj->arg();"
+// params: []
+extern "C"
+std::map< std::string, casadi::DM* >*
+    casadi__OptiAdvanced__arg(std::string ** err_msg, casadi::OptiAdvanced* obj);
+std::map< std::string, casadi::DM* >*
+    casadi__OptiAdvanced__arg(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        std::map< std::string, casadi::DM > ret = obj->arg();
+
+        return WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "assert_active_symbol" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::assert_active_symbol"
+// cWrapperName: "casadi__OptiAdvanced__assert_active_symbol"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__assert_active_symbol(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
+// call: "        obj->assert_active_symbol(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+void
+    casadi__OptiAdvanced__assert_active_symbol(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0);
+void
+    casadi__OptiAdvanced__assert_active_symbol(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        obj->assert_active_symbol(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "assert_baked" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::assert_baked"
+// cWrapperName: "casadi__OptiAdvanced__assert_baked"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__assert_baked(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        obj->assert_baked();"
+// params: []
+extern "C"
+void
+    casadi__OptiAdvanced__assert_baked(std::string ** err_msg, casadi::OptiAdvanced* obj);
+void
+    casadi__OptiAdvanced__assert_baked(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        obj->assert_baked();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "assert_empty" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::assert_empty"
+// cWrapperName: "casadi__OptiAdvanced__assert_empty"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__assert_empty(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        obj->assert_empty();"
+// params: []
+extern "C"
+void
+    casadi__OptiAdvanced__assert_empty(std::string ** err_msg, casadi::OptiAdvanced* obj);
+void
+    casadi__OptiAdvanced__assert_empty(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        obj->assert_empty();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "assert_solved" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::assert_solved"
+// cWrapperName: "casadi__OptiAdvanced__assert_solved"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__assert_solved(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        obj->assert_solved();"
+// params: []
+extern "C"
+void
+    casadi__OptiAdvanced__assert_solved(std::string ** err_msg, casadi::OptiAdvanced* obj);
+void
+    casadi__OptiAdvanced__assert_solved(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        obj->assert_solved();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "bake" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::bake"
+// cWrapperName: "casadi__OptiAdvanced__bake"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__bake(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        obj->bake();"
+// params: []
+extern "C"
+void
+    casadi__OptiAdvanced__bake(std::string ** err_msg, casadi::OptiAdvanced* obj);
+void
+    casadi__OptiAdvanced__bake(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        obj->bake();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "baked_copy" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::baked_copy"
+// cWrapperName: "casadi__OptiAdvanced__baked_copy"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "OptiAdvanced")
+// cWrapperRetType: "casadi::OptiAdvanced*"
+// proto: "casadi::OptiAdvanced*\n    casadi__OptiAdvanced__baked_copy(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        casadi::OptiAdvanced ret = obj->baked_copy();"
+// params: []
+extern "C"
+casadi::OptiAdvanced*
+    casadi__OptiAdvanced__baked_copy(std::string ** err_msg, casadi::OptiAdvanced* obj);
+casadi::OptiAdvanced*
+    casadi__OptiAdvanced__baked_copy(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        casadi::OptiAdvanced ret = obj->baked_copy();
+
+        return WrapReturn< casadi::OptiAdvanced*, casadi::OptiAdvanced >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "canon_expr" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::canon_expr"
+// cWrapperName: "casadi__OptiAdvanced__canon_expr"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MetaCon")
+// cWrapperRetType: "casadi::MetaCon*"
+// proto: "casadi::MetaCon*\n    casadi__OptiAdvanced__canon_expr(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
+// call: "        casadi::MetaCon ret = obj->canon_expr(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MetaCon*
+    casadi__OptiAdvanced__canon_expr(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0);
+casadi::MetaCon*
+    casadi__OptiAdvanced__canon_expr(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MetaCon ret = obj->canon_expr(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MetaCon*, casadi::MetaCon >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "casadi_solver" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::casadi_solver"
+// cWrapperName: "casadi__OptiAdvanced__casadi_solver"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Function")
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    casadi__OptiAdvanced__casadi_solver(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        casadi::Function ret = obj->casadi_solver();"
+// params: []
+extern "C"
+casadi::Function*
+    casadi__OptiAdvanced__casadi_solver(std::string ** err_msg, casadi::OptiAdvanced* obj);
+casadi::Function*
+    casadi__OptiAdvanced__casadi_solver(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        casadi::Function ret = obj->casadi_solver();
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "constraints" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::constraints"
+// cWrapperName: "casadi__OptiAdvanced__constraints"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__OptiAdvanced__constraints(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        std::vector< casadi::MX > ret = obj->constraints();"
+// params: []
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__OptiAdvanced__constraints(std::string ** err_msg, casadi::OptiAdvanced* obj);
+std::vector< casadi::MX* >*
+    casadi__OptiAdvanced__constraints(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        std::vector< casadi::MX > ret = obj->constraints();
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "describe" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::describe"
+// cWrapperName: "casadi__OptiAdvanced__describe__0"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__OptiAdvanced__describe__0(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
+// call: "        std::string ret = obj->describe(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__OptiAdvanced__describe__0(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0);
+std::string*
+    casadi__OptiAdvanced__describe__0(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::string ret = obj->describe(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "describe" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::describe"
+// cWrapperName: "casadi__OptiAdvanced__describe__1"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__OptiAdvanced__describe__1(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, long long x1)"
+// call: "        std::string ret = obj->describe(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__OptiAdvanced__describe__1(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, long long x1);
+std::string*
+    casadi__OptiAdvanced__describe__1(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, long long x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::string ret = obj->describe(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "g_describe" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::g_describe"
+// cWrapperName: "casadi__OptiAdvanced__g_describe"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__OptiAdvanced__g_describe(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
+// call: "        std::string ret = obj->g_describe(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__OptiAdvanced__g_describe(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0);
+std::string*
+    casadi__OptiAdvanced__g_describe(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = obj->g_describe(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "g_lookup" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::g_lookup"
+// cWrapperName: "casadi__OptiAdvanced__g_lookup"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__OptiAdvanced__g_lookup(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
+// call: "        casadi::MX ret = obj->g_lookup(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__OptiAdvanced__g_lookup(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0);
+casadi::MX*
+    casadi__OptiAdvanced__g_lookup(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX ret = obj->g_lookup(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_meta" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::get_meta"
+// cWrapperName: "casadi__OptiAdvanced__get_meta"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MetaVar")
+// cWrapperRetType: "casadi::MetaVar*"
+// proto: "casadi::MetaVar*\n    casadi__OptiAdvanced__get_meta(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
+// call: "        casadi::MetaVar ret = obj->get_meta(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MetaVar*
+    casadi__OptiAdvanced__get_meta(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0);
+casadi::MetaVar*
+    casadi__OptiAdvanced__get_meta(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MetaVar ret = obj->get_meta(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MetaVar*, casadi::MetaVar >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_meta_con" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::get_meta_con"
+// cWrapperName: "casadi__OptiAdvanced__get_meta_con"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MetaCon")
+// cWrapperRetType: "casadi::MetaCon*"
+// proto: "casadi::MetaCon*\n    casadi__OptiAdvanced__get_meta_con(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
+// call: "        casadi::MetaCon ret = obj->get_meta_con(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::MetaCon*
+    casadi__OptiAdvanced__get_meta_con(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0);
+casadi::MetaCon*
+    casadi__OptiAdvanced__get_meta_con(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MetaCon ret = obj->get_meta_con(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MetaCon*, casadi::MetaCon >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "instance_number" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::instance_number"
+// cWrapperName: "casadi__OptiAdvanced__instance_number"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__OptiAdvanced__instance_number(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        long long ret = obj->instance_number();"
+// params: []
+extern "C"
+long long
+    casadi__OptiAdvanced__instance_number(std::string ** err_msg, casadi::OptiAdvanced* obj);
+long long
+    casadi__OptiAdvanced__instance_number(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        long long ret = obj->instance_number();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_parametric" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::is_parametric"
+// cWrapperName: "casadi__OptiAdvanced__is_parametric"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__OptiAdvanced__is_parametric(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
+// call: "        bool ret = obj->is_parametric(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+int
+    casadi__OptiAdvanced__is_parametric(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0);
+int
+    casadi__OptiAdvanced__is_parametric(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        bool ret = obj->is_parametric(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "mark_problem_dirty" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::mark_problem_dirty"
+// cWrapperName: "casadi__OptiAdvanced__mark_problem_dirty__0"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__mark_problem_dirty__0(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        obj->mark_problem_dirty();"
+// params: []
+extern "C"
+void
+    casadi__OptiAdvanced__mark_problem_dirty__0(std::string ** err_msg, casadi::OptiAdvanced* obj);
+void
+    casadi__OptiAdvanced__mark_problem_dirty__0(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        obj->mark_problem_dirty();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "mark_problem_dirty" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::mark_problem_dirty"
+// cWrapperName: "casadi__OptiAdvanced__mark_problem_dirty__1"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__mark_problem_dirty__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
+// call: "        obj->mark_problem_dirty(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__OptiAdvanced__mark_problem_dirty__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0);
+void
+    casadi__OptiAdvanced__mark_problem_dirty__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        obj->mark_problem_dirty(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "mark_solved" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::mark_solved"
+// cWrapperName: "casadi__OptiAdvanced__mark_solved__0"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__mark_solved__0(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        obj->mark_solved();"
+// params: []
+extern "C"
+void
+    casadi__OptiAdvanced__mark_solved__0(std::string ** err_msg, casadi::OptiAdvanced* obj);
+void
+    casadi__OptiAdvanced__mark_solved__0(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        obj->mark_solved();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "mark_solved" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::mark_solved"
+// cWrapperName: "casadi__OptiAdvanced__mark_solved__1"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__mark_solved__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
+// call: "        obj->mark_solved(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__OptiAdvanced__mark_solved__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0);
+void
+    casadi__OptiAdvanced__mark_solved__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        obj->mark_solved(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "mark_solver_dirty" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::mark_solver_dirty"
+// cWrapperName: "casadi__OptiAdvanced__mark_solver_dirty__0"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__mark_solver_dirty__0(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        obj->mark_solver_dirty();"
+// params: []
+extern "C"
+void
+    casadi__OptiAdvanced__mark_solver_dirty__0(std::string ** err_msg, casadi::OptiAdvanced* obj);
+void
+    casadi__OptiAdvanced__mark_solver_dirty__0(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        obj->mark_solver_dirty();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "mark_solver_dirty" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::mark_solver_dirty"
+// cWrapperName: "casadi__OptiAdvanced__mark_solver_dirty__1"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__mark_solver_dirty__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
+// call: "        obj->mark_solver_dirty(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__OptiAdvanced__mark_solver_dirty__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0);
+void
+    casadi__OptiAdvanced__mark_solver_dirty__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        obj->mark_solver_dirty(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "objective" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::objective"
+// cWrapperName: "casadi__OptiAdvanced__objective"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__OptiAdvanced__objective(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        casadi::MX ret = obj->objective();"
+// params: []
+extern "C"
+casadi::MX*
+    casadi__OptiAdvanced__objective(std::string ** err_msg, casadi::OptiAdvanced* obj);
+casadi::MX*
+    casadi__OptiAdvanced__objective(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        casadi::MX ret = obj->objective();
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "problem_dirty" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::problem_dirty"
+// cWrapperName: "casadi__OptiAdvanced__problem_dirty"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__OptiAdvanced__problem_dirty(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        bool ret = obj->problem_dirty();"
+// params: []
+extern "C"
+int
+    casadi__OptiAdvanced__problem_dirty(std::string ** err_msg, casadi::OptiAdvanced* obj);
+int
+    casadi__OptiAdvanced__problem_dirty(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        bool ret = obj->problem_dirty();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "res" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::res"
+// cWrapperName: "casadi__OptiAdvanced__res__0"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))
+// cWrapperRetType: "std::map< std::string, casadi::DM* >*"
+// proto: "std::map< std::string, casadi::DM* >*\n    casadi__OptiAdvanced__res__0(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        std::map< std::string, casadi::DM > ret = obj->res();"
+// params: []
+extern "C"
+std::map< std::string, casadi::DM* >*
+    casadi__OptiAdvanced__res__0(std::string ** err_msg, casadi::OptiAdvanced* obj);
+std::map< std::string, casadi::DM* >*
+    casadi__OptiAdvanced__res__0(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        std::map< std::string, casadi::DM > ret = obj->res();
+
+        return WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "res" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::res"
+// cWrapperName: "casadi__OptiAdvanced__res__1"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__res__1(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0)"
+// call: "        obj->res(x0_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
+extern "C"
+void
+    casadi__OptiAdvanced__res__1(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0);
+void
+    casadi__OptiAdvanced__res__1(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0){
+    try {
+        std::map< std::string, casadi::DM > x0_ = Marshaling<std::map< std::string, casadi::DM >,std::map< std::string, casadi::DM* >*>::marshal(x0);
+
+        obj->res(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_meta" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::set_meta"
+// cWrapperName: "casadi__OptiAdvanced__set_meta"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaVar* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__set_meta(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaVar* x1)"
+// call: "        obj->set_meta(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MetaVar"))),SwigOutput False)]
+extern "C"
+void
+    casadi__OptiAdvanced__set_meta(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaVar* x1);
+void
+    casadi__OptiAdvanced__set_meta(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaVar* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MetaVar& x1_ = Marshaling<casadi::MetaVar&,casadi::MetaVar*>::marshal(x1);
+
+        obj->set_meta(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_meta_con" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::set_meta_con"
+// cWrapperName: "casadi__OptiAdvanced__set_meta_con"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaCon* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__set_meta_con(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaCon* x1)"
+// call: "        obj->set_meta_con(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MetaCon"))),SwigOutput False)]
+extern "C"
+void
+    casadi__OptiAdvanced__set_meta_con(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaCon* x1);
+void
+    casadi__OptiAdvanced__set_meta_con(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaCon* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MetaCon& x1_ = Marshaling<casadi::MetaCon&,casadi::MetaCon*>::marshal(x1);
+
+        obj->set_meta_con(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "show_infeasibilities" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::show_infeasibilities"
+// cWrapperName: "casadi__OptiAdvanced__show_infeasibilities__0"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__show_infeasibilities__0(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        obj->show_infeasibilities();"
+// params: []
+extern "C"
+void
+    casadi__OptiAdvanced__show_infeasibilities__0(std::string ** err_msg, casadi::OptiAdvanced* obj);
+void
+    casadi__OptiAdvanced__show_infeasibilities__0(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        obj->show_infeasibilities();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "show_infeasibilities" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::show_infeasibilities"
+// cWrapperName: "casadi__OptiAdvanced__show_infeasibilities__1"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, double x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__show_infeasibilities__1(std::string ** err_msg, casadi::OptiAdvanced* obj, double x0)"
+// call: "        obj->show_infeasibilities(x0_);"
+// params: [(CDouble,SwigOutput False)]
+extern "C"
+void
+    casadi__OptiAdvanced__show_infeasibilities__1(std::string ** err_msg, casadi::OptiAdvanced* obj, double x0);
+void
+    casadi__OptiAdvanced__show_infeasibilities__1(std::string ** err_msg, casadi::OptiAdvanced* obj, double x0){
+    try {
+        double x0_ = Marshaling<double,double>::marshal(x0);
+
+        obj->show_infeasibilities(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "solve_actual" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::solve_actual"
+// cWrapperName: "casadi__OptiAdvanced__solve_actual"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0)"
+// args: "(x0_)"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))
+// cWrapperRetType: "std::map< std::string, casadi::DM* >*"
+// proto: "std::map< std::string, casadi::DM* >*\n    casadi__OptiAdvanced__solve_actual(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0)"
+// call: "        std::map< std::string, casadi::DM > ret = obj->solve_actual(x0_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
+extern "C"
+std::map< std::string, casadi::DM* >*
+    casadi__OptiAdvanced__solve_actual(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0);
+std::map< std::string, casadi::DM* >*
+    casadi__OptiAdvanced__solve_actual(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0){
+    try {
+        std::map< std::string, casadi::DM > x0_ = Marshaling<std::map< std::string, casadi::DM >,std::map< std::string, casadi::DM* >*>::marshal(x0);
+
+        std::map< std::string, casadi::DM > ret = obj->solve_actual(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "solve_prepare" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::solve_prepare"
+// cWrapperName: "casadi__OptiAdvanced__solve_prepare"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiAdvanced__solve_prepare(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        obj->solve_prepare();"
+// params: []
+extern "C"
+void
+    casadi__OptiAdvanced__solve_prepare(std::string ** err_msg, casadi::OptiAdvanced* obj);
+void
+    casadi__OptiAdvanced__solve_prepare(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        obj->solve_prepare();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "solved" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::solved"
+// cWrapperName: "casadi__OptiAdvanced__solved"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__OptiAdvanced__solved(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        bool ret = obj->solved();"
+// params: []
+extern "C"
+int
+    casadi__OptiAdvanced__solved(std::string ** err_msg, casadi::OptiAdvanced* obj);
+int
+    casadi__OptiAdvanced__solved(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        bool ret = obj->solved();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "solver_dirty" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::solver_dirty"
+// cWrapperName: "casadi__OptiAdvanced__solver_dirty"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__OptiAdvanced__solver_dirty(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        bool ret = obj->solver_dirty();"
+// params: []
+extern "C"
+int
+    casadi__OptiAdvanced__solver_dirty(std::string ** err_msg, casadi::OptiAdvanced* obj);
+int
+    casadi__OptiAdvanced__solver_dirty(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        bool ret = obj->solver_dirty();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "symvar" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::symvar"
+// cWrapperName: "casadi__OptiAdvanced__symvar__0"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__OptiAdvanced__symvar__0(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, int x1)"
+// call: "        std::vector< casadi::MX > ret = obj->symvar(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CEnum (Namespace ["casadi"]) (Name "VariableType"),SwigOutput False)]
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__OptiAdvanced__symvar__0(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, int x1);
+std::vector< casadi::MX* >*
+    casadi__OptiAdvanced__symvar__0(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, int x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::VariableType x1_ = Marshaling<casadi::VariableType,int>::marshal(x1);
+
+        std::vector< casadi::MX > ret = obj->symvar(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "symvar" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::symvar"
+// cWrapperName: "casadi__OptiAdvanced__symvar__1"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__OptiAdvanced__symvar__1(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
+// call: "        std::vector< casadi::MX > ret = obj->symvar(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__OptiAdvanced__symvar__1(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0);
+std::vector< casadi::MX* >*
+    casadi__OptiAdvanced__symvar__1(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = obj->symvar(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "symvar" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::symvar"
+// cWrapperName: "casadi__OptiAdvanced__symvar__2"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// args: "()"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__OptiAdvanced__symvar__2(std::string ** err_msg, casadi::OptiAdvanced* obj)"
+// call: "        std::vector< casadi::MX > ret = obj->symvar();"
+// params: []
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__OptiAdvanced__symvar__2(std::string ** err_msg, casadi::OptiAdvanced* obj);
+std::vector< casadi::MX* >*
+    casadi__OptiAdvanced__symvar__2(std::string ** err_msg, casadi::OptiAdvanced* obj){
+    try {
+
+        std::vector< casadi::MX > ret = obj->symvar();
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "x_describe" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::x_describe"
+// cWrapperName: "casadi__OptiAdvanced__x_describe"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__OptiAdvanced__x_describe(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
+// call: "        std::string ret = obj->x_describe(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__OptiAdvanced__x_describe(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0);
+std::string*
+    casadi__OptiAdvanced__x_describe(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = obj->x_describe(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "x_lookup" ===============
+// class: "casadi::OptiAdvanced"
+// cppName: "casadi::OptiAdvanced::x_lookup"
+// cWrapperName: "casadi__OptiAdvanced__x_lookup"
+// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "MX")
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi__OptiAdvanced__x_lookup(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
+// call: "        casadi::MX ret = obj->x_lookup(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::MX*
+    casadi__OptiAdvanced__x_lookup(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0);
+casadi::MX*
+    casadi__OptiAdvanced__x_lookup(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::MX ret = obj->x_lookup(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "OptiCallback")===============
+// classType: UserType (Namespace ["casadi"]) (Name "OptiCallback")
+extern "C"
+void delete_casadi__OptiCallback(casadi::OptiCallback* obj);
+void delete_casadi__OptiCallback(casadi::OptiCallback* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::OptiCallback"
+// cppName: "casadi::OptiCallback"
+// cWrapperName: "casadi__OptiCallback__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, casadi::OptiCallback* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "OptiCallback")
+// cWrapperRetType: "casadi::OptiCallback*"
+// proto: "casadi::OptiCallback*\n    casadi__OptiCallback__CONSTRUCTOR__0(std::string ** err_msg, casadi::OptiCallback* x0)"
+// call: "        casadi::OptiCallback* ret = (casadi::OptiCallback*)new casadi::OptiCallback(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "OptiCallback"))),SwigOutput False)]
+extern "C"
+casadi::OptiCallback*
+    casadi__OptiCallback__CONSTRUCTOR__0(std::string ** err_msg, casadi::OptiCallback* x0);
+casadi::OptiCallback*
+    casadi__OptiCallback__CONSTRUCTOR__0(std::string ** err_msg, casadi::OptiCallback* x0){
+    try {
+        casadi::OptiCallback& x0_ = Marshaling<casadi::OptiCallback&,casadi::OptiCallback*>::marshal(x0);
+
+        casadi::OptiCallback* ret = (casadi::OptiCallback*)new casadi::OptiCallback(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::OptiCallback"
+// cppName: "casadi::OptiCallback"
+// cWrapperName: "casadi__OptiCallback__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "OptiCallback")
+// cWrapperRetType: "casadi::OptiCallback*"
+// proto: "casadi::OptiCallback*\n    casadi__OptiCallback__CONSTRUCTOR__1(std::string ** err_msg)"
+// call: "        casadi::OptiCallback* ret = (casadi::OptiCallback*)new casadi::OptiCallback();"
+// params: []
+extern "C"
+casadi::OptiCallback*
+    casadi__OptiCallback__CONSTRUCTOR__1(std::string ** err_msg);
+casadi::OptiCallback*
+    casadi__OptiCallback__CONSTRUCTOR__1(std::string ** err_msg){
+    try {
+
+        casadi::OptiCallback* ret = (casadi::OptiCallback*)new casadi::OptiCallback();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "casadi::OptiCallback"
+// cppName: "casadi::OptiCallback::call"
+// cWrapperName: "casadi__OptiCallback__call"
+// protoArgs: "(std::string ** err_msg, casadi::OptiCallback* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__OptiCallback__call(std::string ** err_msg, casadi::OptiCallback* obj, long long x0)"
+// call: "        obj->call(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__OptiCallback__call(std::string ** err_msg, casadi::OptiCallback* obj, long long x0);
+void
+    casadi__OptiCallback__call(std::string ** err_msg, casadi::OptiCallback* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        obj->call(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "OptiSol")===============
+// classType: UserType (Namespace ["casadi"]) (Name "OptiSol")
+extern "C"
+void delete_casadi__OptiSol(casadi::OptiSol* obj);
+void delete_casadi__OptiSol(casadi::OptiSol* obj){
+    delete obj;
+}
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::OptiSol"
+// cppName: "casadi::OptiSol::get_str"
+// cWrapperName: "casadi__OptiSol__get_str__0"
+// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__OptiSol__get_str__0(std::string ** err_msg, casadi::OptiSol* obj)"
+// call: "        std::string ret = obj->get_str();"
+// params: []
+extern "C"
+std::string*
+    casadi__OptiSol__get_str__0(std::string ** err_msg, casadi::OptiSol* obj);
+std::string*
+    casadi__OptiSol__get_str__0(std::string ** err_msg, casadi::OptiSol* obj){
+    try {
+
+        std::string ret = obj->get_str();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::OptiSol"
+// cppName: "casadi::OptiSol::get_str"
+// cWrapperName: "casadi__OptiSol__get_str__1"
+// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__OptiSol__get_str__1(std::string ** err_msg, casadi::OptiSol* obj, int x0)"
+// call: "        std::string ret = obj->get_str(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__OptiSol__get_str__1(std::string ** err_msg, casadi::OptiSol* obj, int x0);
+std::string*
+    casadi__OptiSol__get_str__1(std::string ** err_msg, casadi::OptiSol* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->get_str(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "opti" ===============
+// class: "casadi::OptiSol"
+// cppName: "casadi::OptiSol::opti"
+// cWrapperName: "casadi__OptiSol__opti"
+// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Opti")
+// cWrapperRetType: "casadi::Opti*"
+// proto: "casadi::Opti*\n    casadi__OptiSol__opti(std::string ** err_msg, casadi::OptiSol* obj)"
+// call: "        casadi::Opti ret = obj->opti();"
+// params: []
+extern "C"
+casadi::Opti*
+    casadi__OptiSol__opti(std::string ** err_msg, casadi::OptiSol* obj);
+casadi::Opti*
+    casadi__OptiSol__opti(std::string ** err_msg, casadi::OptiSol* obj){
+    try {
+
+        casadi::Opti ret = obj->opti();
+
+        return WrapReturn< casadi::Opti*, casadi::Opti >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "stats" ===============
+// class: "casadi::OptiSol"
+// cppName: "casadi::OptiSol::stats"
+// cWrapperName: "casadi__OptiSol__stats"
+// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj)"
+// args: "()"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
+// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
+// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__OptiSol__stats(std::string ** err_msg, casadi::OptiSol* obj)"
+// call: "        std::map< std::string, casadi::GenericType > ret = obj->stats();"
+// params: []
+extern "C"
+std::map< std::string, casadi::GenericType* >*
+    casadi__OptiSol__stats(std::string ** err_msg, casadi::OptiSol* obj);
+std::map< std::string, casadi::GenericType* >*
+    casadi__OptiSol__stats(std::string ** err_msg, casadi::OptiSol* obj){
+    try {
+
+        std::map< std::string, casadi::GenericType > ret = obj->stats();
+
+        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "type_name" ===============
+// class: "casadi::OptiSol"
+// cppName: "casadi::OptiSol::type_name"
+// cWrapperName: "casadi__OptiSol__type_name"
+// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__OptiSol__type_name(std::string ** err_msg, casadi::OptiSol* obj)"
+// call: "        std::string ret = obj->type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__OptiSol__type_name(std::string ** err_msg, casadi::OptiSol* obj);
+std::string*
+    casadi__OptiSol__type_name(std::string ** err_msg, casadi::OptiSol* obj){
+    try {
+
+        std::string ret = obj->type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value" ===============
+// class: "casadi::OptiSol"
+// cppName: "casadi::OptiSol::value"
+// cWrapperName: "casadi__OptiSol__value__0"
+// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__OptiSol__value__0(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0)"
+// call: "        casadi::DM ret = obj->value(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__OptiSol__value__0(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0);
+casadi::DM*
+    casadi__OptiSol__value__0(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::DM ret = obj->value(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value" ===============
+// class: "casadi::OptiSol"
+// cppName: "casadi::OptiSol::value"
+// cWrapperName: "casadi__OptiSol__value__1"
+// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__OptiSol__value__1(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1)"
+// call: "        casadi::DM ret = obj->value(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__OptiSol__value__1(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1);
+casadi::DM*
+    casadi__OptiSol__value__1(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+
+        casadi::DM ret = obj->value(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value" ===============
+// class: "casadi::OptiSol"
+// cppName: "casadi::OptiSol::value"
+// cWrapperName: "casadi__OptiSol__value__2"
+// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__OptiSol__value__2(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0)"
+// call: "        casadi::DM ret = obj->value(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__OptiSol__value__2(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0);
+casadi::DM*
+    casadi__OptiSol__value__2(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = obj->value(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value" ===============
+// class: "casadi::OptiSol"
+// cppName: "casadi::OptiSol::value"
+// cWrapperName: "casadi__OptiSol__value__3"
+// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__OptiSol__value__3(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1)"
+// call: "        casadi::DM ret = obj->value(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__OptiSol__value__3(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1);
+casadi::DM*
+    casadi__OptiSol__value__3(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+
+        casadi::DM ret = obj->value(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value" ===============
+// class: "casadi::OptiSol"
+// cppName: "casadi::OptiSol::value"
+// cWrapperName: "casadi__OptiSol__value__4"
+// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__OptiSol__value__4(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0)"
+// call: "        casadi::DM ret = obj->value(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__OptiSol__value__4(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0);
+casadi::DM*
+    casadi__OptiSol__value__4(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::DM ret = obj->value(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value" ===============
+// class: "casadi::OptiSol"
+// cppName: "casadi::OptiSol::value"
+// cWrapperName: "casadi__OptiSol__value__5"
+// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "DM")
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi__OptiSol__value__5(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
+// call: "        casadi::DM ret = obj->value(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+extern "C"
+casadi::DM*
+    casadi__OptiSol__value__5(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0, std::vector< casadi::MX* >* x1);
+casadi::DM*
+    casadi__OptiSol__value__5(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0, std::vector< casadi::MX* >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+
+        casadi::DM ret = obj->value(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value_parameters" ===============
+// class: "casadi::OptiSol"
+// cppName: "casadi::OptiSol::value_parameters"
+// cWrapperName: "casadi__OptiSol__value_parameters"
+// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj)"
+// args: "()"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__OptiSol__value_parameters(std::string ** err_msg, casadi::OptiSol* obj)"
+// call: "        std::vector< casadi::MX > ret = obj->value_parameters();"
+// params: []
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__OptiSol__value_parameters(std::string ** err_msg, casadi::OptiSol* obj);
+std::vector< casadi::MX* >*
+    casadi__OptiSol__value_parameters(std::string ** err_msg, casadi::OptiSol* obj){
+    try {
+
+        std::vector< casadi::MX > ret = obj->value_parameters();
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "value_variables" ===============
+// class: "casadi::OptiSol"
+// cppName: "casadi::OptiSol::value_variables"
+// cWrapperName: "casadi__OptiSol__value_variables"
+// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj)"
+// args: "()"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi__OptiSol__value_variables(std::string ** err_msg, casadi::OptiSol* obj)"
+// call: "        std::vector< casadi::MX > ret = obj->value_variables();"
+// params: []
+extern "C"
+std::vector< casadi::MX* >*
+    casadi__OptiSol__value_variables(std::string ** err_msg, casadi::OptiSol* obj);
+std::vector< casadi::MX* >*
+    casadi__OptiSol__value_variables(std::string ** err_msg, casadi::OptiSol* obj){
+    try {
+
+        std::vector< casadi::MX > ret = obj->value_variables();
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "PrintableCommon")===============
+// classType: UserType (Namespace ["casadi"]) (Name "PrintableCommon")
+extern "C"
+void delete_casadi__PrintableCommon(casadi::PrintableCommon* obj);
+void delete_casadi__PrintableCommon(casadi::PrintableCommon* obj){
+    delete obj;
+}
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "SX")===============
+// classType: UserType (Namespace ["casadi"]) (Name "SX")
+extern "C"
+void delete_casadi__SX(casadi::SX* obj);
+void delete_casadi__SX(casadi::SX* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX"
+// cWrapperName: "casadi__SX__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0)"
+// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0);
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX"
+// cWrapperName: "casadi__SX__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0)"
+// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
+// params: [(Ref (Const (StdVec CDouble)),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0);
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0){
+    try {
+        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX"
+// cWrapperName: "casadi__SX__CONSTRUCTOR__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0)"
+// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0);
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX"
+// cWrapperName: "casadi__SX__CONSTRUCTOR__3"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__3(std::string ** err_msg, std::vector< long long >* x0)"
+// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__3(std::string ** err_msg, std::vector< long long >* x0);
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__3(std::string ** err_msg, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX"
+// cWrapperName: "casadi__SX__CONSTRUCTOR__4"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
+// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
+// params: [(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0);
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0){
+    try {
+        std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);
+
+        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX"
+// cWrapperName: "casadi__SX__CONSTRUCTOR__5"
+// protoArgs: "(std::string ** err_msg, double x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__5(std::string ** err_msg, double x0)"
+// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
+// params: [(CDouble,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__5(std::string ** err_msg, double x0);
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__5(std::string ** err_msg, double x0){
+    try {
+        double x0_ = Marshaling<double,double>::marshal(x0);
+
+        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX"
+// cWrapperName: "casadi__SX__CONSTRUCTOR__6"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1)"
+// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1);
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX"
+// cWrapperName: "casadi__SX__CONSTRUCTOR__7"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX"
+// cWrapperName: "casadi__SX__CONSTRUCTOR__8"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1);
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX"
+// cWrapperName: "casadi__SX__CONSTRUCTOR__9"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__9(std::string ** err_msg, casadi::SX* x0)"
+// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__9(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__9(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX"
+// cWrapperName: "casadi__SX__CONSTRUCTOR__10"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__10(std::string ** err_msg)"
+// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX();"
+// params: []
+extern "C"
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__10(std::string ** err_msg);
+casadi::SX*
+    casadi__SX__CONSTRUCTOR__10(std::string ** err_msg){
+    try {
+
+        casadi::SX* ret = (casadi::SX*)new casadi::SX();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "T" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::T"
+// cWrapperName: "casadi__SX__T"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__T(std::string ** err_msg, casadi::SX* obj)"
+// call: "        casadi::SX ret = obj->T();"
+// params: []
+extern "C"
+casadi::SX*
+    casadi__SX__T(std::string ** err_msg, casadi::SX* obj);
+casadi::SX*
+    casadi__SX__T(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        casadi::SX ret = obj->T();
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "__nonzero__" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::__nonzero__"
+// cWrapperName: "casadi__SX____nonzero__"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX____nonzero__(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->__nonzero__();"
+// params: []
+extern "C"
+int
+    casadi__SX____nonzero__(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX____nonzero__(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->__nonzero__();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "binary" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::binary"
+// cWrapperName: "casadi__SX__binary"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__binary(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
+// call: "        casadi::SX ret = casadi::SX::binary(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__binary(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi__SX__binary(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = casadi::SX::binary(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "clear" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::clear"
+// cWrapperName: "casadi__SX__clear"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__clear(std::string ** err_msg, casadi::SX* obj)"
+// call: "        obj->clear();"
+// params: []
+extern "C"
+void
+    casadi__SX__clear(std::string ** err_msg, casadi::SX* obj);
+void
+    casadi__SX__clear(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        obj->clear();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "colind" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::colind"
+// cWrapperName: "casadi__SX__colind"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__colind(std::string ** err_msg, casadi::SX* obj, long long x0)"
+// call: "        long long ret = obj->colind(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__SX__colind(std::string ** err_msg, casadi::SX* obj, long long x0);
+long long
+    casadi__SX__colind(std::string ** err_msg, casadi::SX* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->colind(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "columns" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::columns"
+// cWrapperName: "casadi__SX__columns"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__columns(std::string ** err_msg, casadi::SX* obj)"
+// call: "        long long ret = obj->columns();"
+// params: []
+extern "C"
+long long
+    casadi__SX__columns(std::string ** err_msg, casadi::SX* obj);
+long long
+    casadi__SX__columns(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        long long ret = obj->columns();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dep" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::dep"
+// cWrapperName: "casadi__SX__dep__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__dep__0(std::string ** err_msg, casadi::SX* obj)"
+// call: "        casadi::SX ret = obj->dep();"
+// params: []
+extern "C"
+casadi::SX*
+    casadi__SX__dep__0(std::string ** err_msg, casadi::SX* obj);
+casadi::SX*
+    casadi__SX__dep__0(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        casadi::SX ret = obj->dep();
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dep" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::dep"
+// cWrapperName: "casadi__SX__dep__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__dep__1(std::string ** err_msg, casadi::SX* obj, long long x0)"
+// call: "        casadi::SX ret = obj->dep(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__dep__1(std::string ** err_msg, casadi::SX* obj, long long x0);
+casadi::SX*
+    casadi__SX__dep__1(std::string ** err_msg, casadi::SX* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::SX ret = obj->dep(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dim" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::dim"
+// cWrapperName: "casadi__SX__dim__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__SX__dim__0(std::string ** err_msg, casadi::SX* obj)"
+// call: "        std::string ret = obj->dim();"
+// params: []
+extern "C"
+std::string*
+    casadi__SX__dim__0(std::string ** err_msg, casadi::SX* obj);
+std::string*
+    casadi__SX__dim__0(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        std::string ret = obj->dim();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dim" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::dim"
+// cWrapperName: "casadi__SX__dim__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__SX__dim__1(std::string ** err_msg, casadi::SX* obj, int x0)"
+// call: "        std::string ret = obj->dim(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__SX__dim__1(std::string ** err_msg, casadi::SX* obj, int x0);
+std::string*
+    casadi__SX__dim__1(std::string ** err_msg, casadi::SX* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->dim(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "element_hash" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::element_hash"
+// cWrapperName: "casadi__SX__element_hash"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__element_hash(std::string ** err_msg, casadi::SX* obj)"
+// call: "        long long ret = obj->element_hash();"
+// params: []
+extern "C"
+long long
+    casadi__SX__element_hash(std::string ** err_msg, casadi::SX* obj);
+long long
+    casadi__SX__element_hash(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        long long ret = obj->element_hash();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "enlarge" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::enlarge"
+// cWrapperName: "casadi__SX__enlarge__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__enlarge__0(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__enlarge__0(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
+void
+    casadi__SX__enlarge__0(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        obj->enlarge(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "enlarge" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::enlarge"
+// cWrapperName: "casadi__SX__enlarge__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__enlarge__1(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
+// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__SX__enlarge__1(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4);
+void
+    casadi__SX__enlarge__1(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        bool x4_ = Marshaling<bool,int>::marshal(x4);
+
+        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::erase"
+// cWrapperName: "casadi__SX__erase__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__erase__0(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0)"
+// call: "        obj->erase(x0_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__erase__0(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0);
+void
+    casadi__SX__erase__0(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        obj->erase(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::erase"
+// cWrapperName: "casadi__SX__erase__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__erase__1(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, int x1)"
+// call: "        obj->erase(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__SX__erase__1(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, int x1);
+void
+    casadi__SX__erase__1(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, int x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        obj->erase(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::erase"
+// cWrapperName: "casadi__SX__erase__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__erase__2(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// call: "        obj->erase(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__erase__2(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1);
+void
+    casadi__SX__erase__2(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        obj->erase(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::erase"
+// cWrapperName: "casadi__SX__erase__3"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__erase__3(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
+// call: "        obj->erase(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__SX__erase__3(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2);
+void
+    casadi__SX__erase__3(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->erase(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "export_code" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::export_code"
+// cWrapperName: "casadi__SX__export_code"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__export_code(std::string ** err_msg, casadi::SX* obj, std::string* x0)"
+// call: "        obj->export_code(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__export_code(std::string ** err_msg, casadi::SX* obj, std::string* x0);
+void
+    casadi__SX__export_code(std::string ** err_msg, casadi::SX* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->export_code(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "eye" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::eye"
+// cWrapperName: "casadi__SX__eye"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__eye(std::string ** err_msg, long long x0)"
+// call: "        casadi::SX ret = casadi::SX::eye(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__eye(std::string ** err_msg, long long x0);
+casadi::SX*
+    casadi__SX__eye(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::eye(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "from_info" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::from_info"
+// cWrapperName: "casadi__SX__from_info"
+// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
+// call: "        casadi::SX ret = casadi::SX::from_info(x0_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0);
+casadi::SX*
+    casadi__SX__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0){
+    try {
+        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::from_info(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get"
+// cWrapperName: "casadi__SX__get__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__get__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__get__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::IM* x3);
+void
+    casadi__SX__get__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::IM* x3){
+    try {
+        casadi::SX x0_ = casadi::SX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get"
+// cWrapperName: "casadi__SX__get__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__get__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__get__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::Slice* x3);
+void
+    casadi__SX__get__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::Slice* x3){
+    try {
+        casadi::SX x0_ = casadi::SX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get"
+// cWrapperName: "casadi__SX__get__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__get__2(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__get__2(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::IM* x3);
+void
+    casadi__SX__get__2(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::IM* x3){
+    try {
+        casadi::SX x0_ = casadi::SX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get"
+// cWrapperName: "casadi__SX__get__3"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__get__3(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// call: "        obj->get(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__get__3(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
+void
+    casadi__SX__get__3(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
+    try {
+        casadi::SX x0_ = casadi::SX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->get(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get"
+// cWrapperName: "casadi__SX__get__4"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Sparsity* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__get__4(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Sparsity* x2)"
+// call: "        obj->get(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__get__4(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Sparsity* x2);
+void
+    casadi__SX__get__4(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Sparsity* x2){
+    try {
+        casadi::SX x0_ = casadi::SX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
+
+        obj->get(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get"
+// cWrapperName: "casadi__SX__get__5"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__get__5(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2)"
+// call: "        obj->get(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__get__5(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2);
+void
+    casadi__SX__get__5(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2){
+    try {
+        casadi::SX x0_ = casadi::SX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->get(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get"
+// cWrapperName: "casadi__SX__get__6"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__get__6(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2)"
+// call: "        obj->get(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__get__6(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2);
+void
+    casadi__SX__get__6(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::SX x0_ = casadi::SX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->get(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_colind" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get_colind"
+// cWrapperName: "casadi__SX__get_colind"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__SX__get_colind(std::string ** err_msg, casadi::SX* obj)"
+// call: "        std::vector< long long > ret = obj->get_colind();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__SX__get_colind(std::string ** err_msg, casadi::SX* obj);
+std::vector< long long >*
+    casadi__SX__get_colind(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_colind();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_elements" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get_elements"
+// cWrapperName: "casadi__SX__get_elements"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SXElem"))
+// cWrapperRetType: "std::vector< casadi::SXElem* >*"
+// proto: "std::vector< casadi::SXElem* >*\n    casadi__SX__get_elements(std::string ** err_msg, casadi::SX* obj)"
+// call: "        std::vector< casadi::SXElem > ret = obj->get_elements();"
+// params: []
+extern "C"
+std::vector< casadi::SXElem* >*
+    casadi__SX__get_elements(std::string ** err_msg, casadi::SX* obj);
+std::vector< casadi::SXElem* >*
+    casadi__SX__get_elements(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        std::vector< casadi::SXElem > ret = obj->get_elements();
+
+        return WrapReturn< std::vector< casadi::SXElem* >*, std::vector< casadi::SXElem > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "get_free" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get_free"
+// cWrapperName: "casadi__SX__get_free"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
+// args: "(x0_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi__SX__get_free(std::string ** err_msg, casadi::Function* x0)"
+// call: "        std::vector< casadi::SX > ret = casadi::SX::get_free(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
+extern "C"
+std::vector< casadi::SX* >*
+    casadi__SX__get_free(std::string ** err_msg, casadi::Function* x0);
+std::vector< casadi::SX* >*
+    casadi__SX__get_free(std::string ** err_msg, casadi::Function* x0){
+    try {
+        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::SX::get_free(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "get_input" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get_input"
+// cWrapperName: "casadi__SX__get_input"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
+// args: "(x0_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi__SX__get_input(std::string ** err_msg, casadi::Function* x0)"
+// call: "        std::vector< casadi::SX > ret = casadi::SX::get_input(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
+extern "C"
+std::vector< casadi::SX* >*
+    casadi__SX__get_input(std::string ** err_msg, casadi::Function* x0);
+std::vector< casadi::SX* >*
+    casadi__SX__get_input(std::string ** err_msg, casadi::Function* x0){
+    try {
+        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::SX::get_input(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "get_max_depth" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get_max_depth"
+// cWrapperName: "casadi__SX__get_max_depth"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__get_max_depth(std::string ** err_msg)"
+// call: "        long long ret = casadi::SX::get_max_depth();"
+// params: []
+extern "C"
+long long
+    casadi__SX__get_max_depth(std::string ** err_msg);
+long long
+    casadi__SX__get_max_depth(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::SX::get_max_depth();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_nonzeros" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get_nonzeros"
+// cWrapperName: "casadi__SX__get_nonzeros"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SXElem"))
+// cWrapperRetType: "std::vector< casadi::SXElem* >*"
+// proto: "std::vector< casadi::SXElem* >*\n    casadi__SX__get_nonzeros(std::string ** err_msg, casadi::SX* obj)"
+// call: "        std::vector< casadi::SXElem > ret = obj->get_nonzeros();"
+// params: []
+extern "C"
+std::vector< casadi::SXElem* >*
+    casadi__SX__get_nonzeros(std::string ** err_msg, casadi::SX* obj);
+std::vector< casadi::SXElem* >*
+    casadi__SX__get_nonzeros(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        std::vector< casadi::SXElem > ret = obj->get_nonzeros();
+
+        return WrapReturn< std::vector< casadi::SXElem* >*, std::vector< casadi::SXElem > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_nz" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get_nz"
+// cWrapperName: "casadi__SX__get_nz__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__get_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2)"
+// call: "        obj->get_nz(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__get_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2);
+void
+    casadi__SX__get_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2){
+    try {
+        casadi::SX x0_ = casadi::SX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->get_nz(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_nz" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get_nz"
+// cWrapperName: "casadi__SX__get_nz__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__get_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2)"
+// call: "        obj->get_nz(x0_, x1_, x2_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__get_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2);
+void
+    casadi__SX__get_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::SX x0_ = casadi::SX();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->get_nz(x0_, x1_, x2_);
+        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_row" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get_row"
+// cWrapperName: "casadi__SX__get_row"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__SX__get_row(std::string ** err_msg, casadi::SX* obj)"
+// call: "        std::vector< long long > ret = obj->get_row();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__SX__get_row(std::string ** err_msg, casadi::SX* obj);
+std::vector< long long >*
+    casadi__SX__get_row(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_row();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_sparsity" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get_sparsity"
+// cWrapperName: "casadi__SX__get_sparsity"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__SX__get_sparsity(std::string ** err_msg, casadi::SX* obj)"
+// call: "        casadi::Sparsity ret = obj->get_sparsity();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__SX__get_sparsity(std::string ** err_msg, casadi::SX* obj);
+casadi::Sparsity*
+    casadi__SX__get_sparsity(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        casadi::Sparsity ret = obj->get_sparsity();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get_str"
+// cWrapperName: "casadi__SX__get_str__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__SX__get_str__0(std::string ** err_msg, casadi::SX* obj)"
+// call: "        std::string ret = obj->get_str();"
+// params: []
+extern "C"
+std::string*
+    casadi__SX__get_str__0(std::string ** err_msg, casadi::SX* obj);
+std::string*
+    casadi__SX__get_str__0(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        std::string ret = obj->get_str();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::get_str"
+// cWrapperName: "casadi__SX__get_str__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__SX__get_str__1(std::string ** err_msg, casadi::SX* obj, int x0)"
+// call: "        std::string ret = obj->get_str(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__SX__get_str__1(std::string ** err_msg, casadi::SX* obj, int x0);
+std::string*
+    casadi__SX__get_str__1(std::string ** err_msg, casadi::SX* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->get_str(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_duplicates" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::has_duplicates"
+// cWrapperName: "casadi__SX__has_duplicates"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__has_duplicates(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->has_duplicates();"
+// params: []
+extern "C"
+int
+    casadi__SX__has_duplicates(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__has_duplicates(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->has_duplicates();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_nz" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::has_nz"
+// cWrapperName: "casadi__SX__has_nz"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__has_nz(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1)"
+// call: "        bool ret = obj->has_nz(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+int
+    casadi__SX__has_nz(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1);
+int
+    casadi__SX__has_nz(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        bool ret = obj->has_nz(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_zeros" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::has_zeros"
+// cWrapperName: "casadi__SX__has_zeros"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__has_zeros(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->has_zeros();"
+// params: []
+extern "C"
+int
+    casadi__SX__has_zeros(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__has_zeros(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->has_zeros();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::inf"
+// cWrapperName: "casadi__SX__inf__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::SX ret = casadi::SX::inf(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::SX*
+    casadi__SX__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::inf"
+// cWrapperName: "casadi__SX__inf__1"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__inf__1(std::string ** err_msg)"
+// call: "        casadi::SX ret = casadi::SX::inf();"
+// params: []
+extern "C"
+casadi::SX*
+    casadi__SX__inf__1(std::string ** err_msg);
+casadi::SX*
+    casadi__SX__inf__1(std::string ** err_msg){
+    try {
+
+        casadi::SX ret = casadi::SX::inf();
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::inf"
+// cWrapperName: "casadi__SX__inf__2"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__inf__2(std::string ** err_msg, long long x0)"
+// call: "        casadi::SX ret = casadi::SX::inf(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__inf__2(std::string ** err_msg, long long x0);
+casadi::SX*
+    casadi__SX__inf__2(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::inf"
+// cWrapperName: "casadi__SX__inf__3"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__inf__3(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::SX ret = casadi::SX::inf(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__inf__3(std::string ** err_msg, long long x0, long long x1);
+casadi::SX*
+    casadi__SX__inf__3(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::SX ret = casadi::SX::inf(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::inf"
+// cWrapperName: "casadi__SX__inf__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::SX ret = casadi::SX::inf(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::SX*
+    casadi__SX__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "info" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::info"
+// cWrapperName: "casadi__SX__info"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
+// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
+// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__SX__info(std::string ** err_msg, casadi::SX* obj)"
+// call: "        std::map< std::string, casadi::GenericType > ret = obj->info();"
+// params: []
+extern "C"
+std::map< std::string, casadi::GenericType* >*
+    casadi__SX__info(std::string ** err_msg, casadi::SX* obj);
+std::map< std::string, casadi::GenericType* >*
+    casadi__SX__info(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        std::map< std::string, casadi::GenericType > ret = obj->info();
+
+        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_column" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_column"
+// cWrapperName: "casadi__SX__is_column"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_column(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_column();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_column(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_column(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_column();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_commutative" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_commutative"
+// cWrapperName: "casadi__SX__is_commutative"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_commutative(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_commutative();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_commutative(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_commutative(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_commutative();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_constant" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_constant"
+// cWrapperName: "casadi__SX__is_constant"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_constant(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_constant();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_constant(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_constant(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_constant();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_dense" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_dense"
+// cWrapperName: "casadi__SX__is_dense"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_dense(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_dense();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_dense(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_dense(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_dense();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_empty" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_empty"
+// cWrapperName: "casadi__SX__is_empty__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_empty__0(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_empty();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_empty__0(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_empty__0(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_empty();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_empty" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_empty"
+// cWrapperName: "casadi__SX__is_empty__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_empty__1(std::string ** err_msg, casadi::SX* obj, int x0)"
+// call: "        bool ret = obj->is_empty(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+int
+    casadi__SX__is_empty__1(std::string ** err_msg, casadi::SX* obj, int x0);
+int
+    casadi__SX__is_empty__1(std::string ** err_msg, casadi::SX* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        bool ret = obj->is_empty(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_eye" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_eye"
+// cWrapperName: "casadi__SX__is_eye"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_eye(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_eye();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_eye(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_eye(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_eye();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_integer" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_integer"
+// cWrapperName: "casadi__SX__is_integer"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_integer(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_integer();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_integer(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_integer(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_integer();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_leaf" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_leaf"
+// cWrapperName: "casadi__SX__is_leaf"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_leaf(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_leaf();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_leaf(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_leaf(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_leaf();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_minus_one" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_minus_one"
+// cWrapperName: "casadi__SX__is_minus_one"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_minus_one(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_minus_one();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_minus_one(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_minus_one(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_minus_one();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_one" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_one"
+// cWrapperName: "casadi__SX__is_one"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_one(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_one();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_one(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_one(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_one();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_op" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_op"
+// cWrapperName: "casadi__SX__is_op"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_op(std::string ** err_msg, casadi::SX* obj, long long x0)"
+// call: "        bool ret = obj->is_op(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+int
+    casadi__SX__is_op(std::string ** err_msg, casadi::SX* obj, long long x0);
+int
+    casadi__SX__is_op(std::string ** err_msg, casadi::SX* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        bool ret = obj->is_op(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_regular" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_regular"
+// cWrapperName: "casadi__SX__is_regular"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_regular(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_regular();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_regular(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_regular(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_regular();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_row" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_row"
+// cWrapperName: "casadi__SX__is_row"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_row(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_row();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_row(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_row(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_row();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_scalar" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_scalar"
+// cWrapperName: "casadi__SX__is_scalar__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_scalar__0(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_scalar();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_scalar__0(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_scalar__0(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_scalar();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_scalar" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_scalar"
+// cWrapperName: "casadi__SX__is_scalar__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_scalar__1(std::string ** err_msg, casadi::SX* obj, int x0)"
+// call: "        bool ret = obj->is_scalar(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+int
+    casadi__SX__is_scalar__1(std::string ** err_msg, casadi::SX* obj, int x0);
+int
+    casadi__SX__is_scalar__1(std::string ** err_msg, casadi::SX* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        bool ret = obj->is_scalar(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_smooth" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_smooth"
+// cWrapperName: "casadi__SX__is_smooth"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_smooth(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_smooth();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_smooth(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_smooth(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_smooth();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_square" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_square"
+// cWrapperName: "casadi__SX__is_square"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_square(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_square();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_square(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_square(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_square();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_symbolic" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_symbolic"
+// cWrapperName: "casadi__SX__is_symbolic"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_symbolic(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_symbolic();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_symbolic(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_symbolic(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_symbolic();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_tril" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_tril"
+// cWrapperName: "casadi__SX__is_tril"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_tril(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_tril();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_tril(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_tril(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_tril();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_triu" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_triu"
+// cWrapperName: "casadi__SX__is_triu"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_triu(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_triu();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_triu(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_triu(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_triu();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_valid_input" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_valid_input"
+// cWrapperName: "casadi__SX__is_valid_input"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_valid_input(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_valid_input();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_valid_input(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_valid_input(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_valid_input();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_vector" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_vector"
+// cWrapperName: "casadi__SX__is_vector"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_vector(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_vector();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_vector(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_vector(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_vector();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_zero" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::is_zero"
+// cWrapperName: "casadi__SX__is_zero"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SX__is_zero(std::string ** err_msg, casadi::SX* obj)"
+// call: "        bool ret = obj->is_zero();"
+// params: []
+extern "C"
+int
+    casadi__SX__is_zero(std::string ** err_msg, casadi::SX* obj);
+int
+    casadi__SX__is_zero(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        bool ret = obj->is_zero();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "matrix_matrix" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::matrix_matrix"
+// cWrapperName: "casadi__SX__matrix_matrix"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__matrix_matrix(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
+// call: "        casadi::SX ret = casadi::SX::matrix_matrix(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__matrix_matrix(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi__SX__matrix_matrix(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = casadi::SX::matrix_matrix(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "matrix_scalar" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::matrix_scalar"
+// cWrapperName: "casadi__SX__matrix_scalar"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__matrix_scalar(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
+// call: "        casadi::SX ret = casadi::SX::matrix_scalar(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__matrix_scalar(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi__SX__matrix_scalar(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = casadi::SX::matrix_scalar(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "n_dep" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::n_dep"
+// cWrapperName: "casadi__SX__n_dep"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__n_dep(std::string ** err_msg, casadi::SX* obj)"
+// call: "        long long ret = obj->n_dep();"
+// params: []
+extern "C"
+long long
+    casadi__SX__n_dep(std::string ** err_msg, casadi::SX* obj);
+long long
+    casadi__SX__n_dep(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        long long ret = obj->n_dep();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "name" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::name"
+// cWrapperName: "casadi__SX__name"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__SX__name(std::string ** err_msg, casadi::SX* obj)"
+// call: "        std::string ret = obj->name();"
+// params: []
+extern "C"
+std::string*
+    casadi__SX__name(std::string ** err_msg, casadi::SX* obj);
+std::string*
+    casadi__SX__name(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        std::string ret = obj->name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::nan"
+// cWrapperName: "casadi__SX__nan__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::SX ret = casadi::SX::nan(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::SX*
+    casadi__SX__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::nan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::nan"
+// cWrapperName: "casadi__SX__nan__1"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__nan__1(std::string ** err_msg)"
+// call: "        casadi::SX ret = casadi::SX::nan();"
+// params: []
+extern "C"
+casadi::SX*
+    casadi__SX__nan__1(std::string ** err_msg);
+casadi::SX*
+    casadi__SX__nan__1(std::string ** err_msg){
+    try {
+
+        casadi::SX ret = casadi::SX::nan();
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::nan"
+// cWrapperName: "casadi__SX__nan__2"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__nan__2(std::string ** err_msg, long long x0)"
+// call: "        casadi::SX ret = casadi::SX::nan(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__nan__2(std::string ** err_msg, long long x0);
+casadi::SX*
+    casadi__SX__nan__2(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::nan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::nan"
+// cWrapperName: "casadi__SX__nan__3"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__nan__3(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::SX ret = casadi::SX::nan(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__nan__3(std::string ** err_msg, long long x0, long long x1);
+casadi::SX*
+    casadi__SX__nan__3(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::SX ret = casadi::SX::nan(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::nan"
+// cWrapperName: "casadi__SX__nan__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::SX ret = casadi::SX::nan(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::SX*
+    casadi__SX__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::nan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::nnz"
+// cWrapperName: "casadi__SX__nnz"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__nnz(std::string ** err_msg, casadi::SX* obj)"
+// call: "        long long ret = obj->nnz();"
+// params: []
+extern "C"
+long long
+    casadi__SX__nnz(std::string ** err_msg, casadi::SX* obj);
+long long
+    casadi__SX__nnz(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        long long ret = obj->nnz();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_diag" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::nnz_diag"
+// cWrapperName: "casadi__SX__nnz_diag"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__nnz_diag(std::string ** err_msg, casadi::SX* obj)"
+// call: "        long long ret = obj->nnz_diag();"
+// params: []
+extern "C"
+long long
+    casadi__SX__nnz_diag(std::string ** err_msg, casadi::SX* obj);
+long long
+    casadi__SX__nnz_diag(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        long long ret = obj->nnz_diag();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_lower" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::nnz_lower"
+// cWrapperName: "casadi__SX__nnz_lower"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__nnz_lower(std::string ** err_msg, casadi::SX* obj)"
+// call: "        long long ret = obj->nnz_lower();"
+// params: []
+extern "C"
+long long
+    casadi__SX__nnz_lower(std::string ** err_msg, casadi::SX* obj);
+long long
+    casadi__SX__nnz_lower(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        long long ret = obj->nnz_lower();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_upper" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::nnz_upper"
+// cWrapperName: "casadi__SX__nnz_upper"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__nnz_upper(std::string ** err_msg, casadi::SX* obj)"
+// call: "        long long ret = obj->nnz_upper();"
+// params: []
+extern "C"
+long long
+    casadi__SX__nnz_upper(std::string ** err_msg, casadi::SX* obj);
+long long
+    casadi__SX__nnz_upper(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        long long ret = obj->nnz_upper();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "numel" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::numel"
+// cWrapperName: "casadi__SX__numel"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__numel(std::string ** err_msg, casadi::SX* obj)"
+// call: "        long long ret = obj->numel();"
+// params: []
+extern "C"
+long long
+    casadi__SX__numel(std::string ** err_msg, casadi::SX* obj);
+long long
+    casadi__SX__numel(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        long long ret = obj->numel();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::ones"
+// cWrapperName: "casadi__SX__ones__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::SX ret = casadi::SX::ones(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::SX*
+    casadi__SX__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::ones(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::ones"
+// cWrapperName: "casadi__SX__ones__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::SX ret = casadi::SX::ones(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::SX*
+    casadi__SX__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::ones(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::ones"
+// cWrapperName: "casadi__SX__ones__2"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__ones__2(std::string ** err_msg)"
+// call: "        casadi::SX ret = casadi::SX::ones();"
+// params: []
+extern "C"
+casadi::SX*
+    casadi__SX__ones__2(std::string ** err_msg);
+casadi::SX*
+    casadi__SX__ones__2(std::string ** err_msg){
+    try {
+
+        casadi::SX ret = casadi::SX::ones();
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::ones"
+// cWrapperName: "casadi__SX__ones__3"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__ones__3(std::string ** err_msg, long long x0)"
+// call: "        casadi::SX ret = casadi::SX::ones(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__ones__3(std::string ** err_msg, long long x0);
+casadi::SX*
+    casadi__SX__ones__3(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::ones(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::ones"
+// cWrapperName: "casadi__SX__ones__4"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__ones__4(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::SX ret = casadi::SX::ones(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__ones__4(std::string ** err_msg, long long x0, long long x1);
+casadi::SX*
+    casadi__SX__ones__4(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::SX ret = casadi::SX::ones(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "op" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::op"
+// cWrapperName: "casadi__SX__op"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__op(std::string ** err_msg, casadi::SX* obj)"
+// call: "        long long ret = obj->op();"
+// params: []
+extern "C"
+long long
+    casadi__SX__op(std::string ** err_msg, casadi::SX* obj);
+long long
+    casadi__SX__op(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        long long ret = obj->op();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator +" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::operator +"
+// cWrapperName: "casadi__SX__operator__plus"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__operator__plus(std::string ** err_msg, casadi::SX* obj)"
+// call: "        casadi::SX ret = obj->operator +();"
+// params: []
+extern "C"
+casadi::SX*
+    casadi__SX__operator__plus(std::string ** err_msg, casadi::SX* obj);
+casadi::SX*
+    casadi__SX__operator__plus(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        casadi::SX ret = obj->operator +();
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator -" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::operator -"
+// cWrapperName: "casadi__SX__operator__minus"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__operator__minus(std::string ** err_msg, casadi::SX* obj)"
+// call: "        casadi::SX ret = obj->operator -();"
+// params: []
+extern "C"
+casadi::SX*
+    casadi__SX__operator__minus(std::string ** err_msg, casadi::SX* obj);
+casadi::SX*
+    casadi__SX__operator__minus(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        casadi::SX ret = obj->operator -();
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator casadi_int" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::operator casadi_int"
+// cWrapperName: "casadi__SX__operator_casadi_int"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__operator_casadi_int(std::string ** err_msg, casadi::SX* obj)"
+// call: "        long long ret = obj->operator casadi_int();"
+// params: []
+extern "C"
+long long
+    casadi__SX__operator_casadi_int(std::string ** err_msg, casadi::SX* obj);
+long long
+    casadi__SX__operator_casadi_int(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        long long ret = obj->operator casadi_int();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator double" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::operator double"
+// cWrapperName: "casadi__SX__operator_double"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__SX__operator_double(std::string ** err_msg, casadi::SX* obj)"
+// call: "        double ret = obj->operator double();"
+// params: []
+extern "C"
+double
+    casadi__SX__operator_double(std::string ** err_msg, casadi::SX* obj);
+double
+    casadi__SX__operator_double(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        double ret = obj->operator double();
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "print_split" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::print_split"
+// cWrapperName: "casadi__SX__print_split"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__print_split(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
+// call: "        obj->print_split(x0_, x1_);"
+// params: [(Ref (StdVec StdString),SwigOutput True),(Ref (StdVec StdString),SwigOutput True)]
+extern "C"
+void
+    casadi__SX__print_split(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1);
+void
+    casadi__SX__print_split(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1){
+    try {
+        std::vector< std::string > x0_ = std::vector< std::string >();  // Swig output
+        std::vector< std::string > x1_ = std::vector< std::string >();  // Swig output
+
+        obj->print_split(x0_, x1_);
+        *x0 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x0_ );
+        *x1 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x1_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "printme" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::printme"
+// cWrapperName: "casadi__SX__printme"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__printme(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0)"
+// call: "        casadi::SX ret = obj->printme(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__printme(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0);
+casadi::SX*
+    casadi__SX__printme(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = obj->printme(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::rand"
+// cWrapperName: "casadi__SX__rand__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::SX ret = casadi::SX::rand(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::SX*
+    casadi__SX__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::rand(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::rand"
+// cWrapperName: "casadi__SX__rand__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__rand__1(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::SX ret = casadi::SX::rand(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__rand__1(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::SX*
+    casadi__SX__rand__1(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::rand(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::rand"
+// cWrapperName: "casadi__SX__rand__2"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__rand__2(std::string ** err_msg)"
+// call: "        casadi::SX ret = casadi::SX::rand();"
+// params: []
+extern "C"
+casadi::SX*
+    casadi__SX__rand__2(std::string ** err_msg);
+casadi::SX*
+    casadi__SX__rand__2(std::string ** err_msg){
+    try {
+
+        casadi::SX ret = casadi::SX::rand();
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::rand"
+// cWrapperName: "casadi__SX__rand__3"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__rand__3(std::string ** err_msg, long long x0)"
+// call: "        casadi::SX ret = casadi::SX::rand(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__rand__3(std::string ** err_msg, long long x0);
+casadi::SX*
+    casadi__SX__rand__3(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::rand(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rand" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::rand"
+// cWrapperName: "casadi__SX__rand__4"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__rand__4(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::SX ret = casadi::SX::rand(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__rand__4(std::string ** err_msg, long long x0, long long x1);
+casadi::SX*
+    casadi__SX__rand__4(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::SX ret = casadi::SX::rand(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "remove" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::remove"
+// cWrapperName: "casadi__SX__remove"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__remove(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// call: "        obj->remove(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__remove(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1);
+void
+    casadi__SX__remove(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        obj->remove(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "reserve" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::reserve"
+// cWrapperName: "casadi__SX__reserve__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__reserve__0(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1)"
+// call: "        obj->reserve(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__SX__reserve__0(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1);
+void
+    casadi__SX__reserve__0(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        obj->reserve(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "reserve" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::reserve"
+// cWrapperName: "casadi__SX__reserve__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__reserve__1(std::string ** err_msg, casadi::SX* obj, long long x0)"
+// call: "        obj->reserve(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__SX__reserve__1(std::string ** err_msg, casadi::SX* obj, long long x0);
+void
+    casadi__SX__reserve__1(std::string ** err_msg, casadi::SX* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        obj->reserve(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "reset_input" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::reset_input"
+// cWrapperName: "casadi__SX__reset_input"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__reset_input(std::string ** err_msg, casadi::SX* obj)"
+// call: "        obj->reset_input();"
+// params: []
+extern "C"
+void
+    casadi__SX__reset_input(std::string ** err_msg, casadi::SX* obj);
+void
+    casadi__SX__reset_input(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        obj->reset_input();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "resize" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::resize"
+// cWrapperName: "casadi__SX__resize"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__resize(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1)"
+// call: "        obj->resize(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__SX__resize(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1);
+void
+    casadi__SX__resize(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        obj->resize(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "rng" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::rng"
+// cWrapperName: "casadi__SX__rng"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__rng(std::string ** err_msg, long long x0)"
+// call: "        casadi::SX::rng(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__SX__rng(std::string ** err_msg, long long x0);
+void
+    casadi__SX__rng(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::SX::rng(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "row" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::row"
+// cWrapperName: "casadi__SX__row"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__row(std::string ** err_msg, casadi::SX* obj, long long x0)"
+// call: "        long long ret = obj->row(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__SX__row(std::string ** err_msg, casadi::SX* obj, long long x0);
+long long
+    casadi__SX__row(std::string ** err_msg, casadi::SX* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->row(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "rows" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::rows"
+// cWrapperName: "casadi__SX__rows"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__rows(std::string ** err_msg, casadi::SX* obj)"
+// call: "        long long ret = obj->rows();"
+// params: []
+extern "C"
+long long
+    casadi__SX__rows(std::string ** err_msg, casadi::SX* obj);
+long long
+    casadi__SX__rows(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        long long ret = obj->rows();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "scalar_matrix" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::scalar_matrix"
+// cWrapperName: "casadi__SX__scalar_matrix"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__scalar_matrix(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
+// call: "        casadi::SX ret = casadi::SX::scalar_matrix(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__scalar_matrix(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi__SX__scalar_matrix(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = casadi::SX::scalar_matrix(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::set"
+// cWrapperName: "casadi__SX__set__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__set__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__set__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::IM* x3);
+void
+    casadi__SX__set__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::IM* x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::set"
+// cWrapperName: "casadi__SX__set__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__set__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__set__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::Slice* x3);
+void
+    casadi__SX__set__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::Slice* x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::set"
+// cWrapperName: "casadi__SX__set__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__set__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__set__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IM* x3);
+void
+    casadi__SX__set__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IM* x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::set"
+// cWrapperName: "casadi__SX__set__3"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__set__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
+// call: "        obj->set(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__set__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
+void
+    casadi__SX__set__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);
+
+        obj->set(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::set"
+// cWrapperName: "casadi__SX__set__4"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__set__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2)"
+// call: "        obj->set(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__set__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2);
+void
+    casadi__SX__set__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
+
+        obj->set(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::set"
+// cWrapperName: "casadi__SX__set__5"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__set__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2)"
+// call: "        obj->set(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__set__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2);
+void
+    casadi__SX__set__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->set(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::set"
+// cWrapperName: "casadi__SX__set__6"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__set__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
+// call: "        obj->set(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__set__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2);
+void
+    casadi__SX__set__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->set(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_max_depth" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::set_max_depth"
+// cWrapperName: "casadi__SX__set_max_depth__0"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__set_max_depth__0(std::string ** err_msg)"
+// call: "        casadi::SX::set_max_depth();"
+// params: []
+extern "C"
+void
+    casadi__SX__set_max_depth__0(std::string ** err_msg);
+void
+    casadi__SX__set_max_depth__0(std::string ** err_msg){
+    try {
+
+        casadi::SX::set_max_depth();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_max_depth" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::set_max_depth"
+// cWrapperName: "casadi__SX__set_max_depth__1"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__set_max_depth__1(std::string ** err_msg, long long x0)"
+// call: "        casadi::SX::set_max_depth(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__SX__set_max_depth__1(std::string ** err_msg, long long x0);
+void
+    casadi__SX__set_max_depth__1(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::SX::set_max_depth(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_nz" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::set_nz"
+// cWrapperName: "casadi__SX__set_nz__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__set_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2)"
+// call: "        obj->set_nz(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__set_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2);
+void
+    casadi__SX__set_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        obj->set_nz(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "set_nz" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::set_nz"
+// cWrapperName: "casadi__SX__set_nz__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__set_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
+// call: "        obj->set_nz(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__set_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2);
+void
+    casadi__SX__set_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
+
+        obj->set_nz(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_precision" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::set_precision"
+// cWrapperName: "casadi__SX__set_precision"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__set_precision(std::string ** err_msg, long long x0)"
+// call: "        casadi::SX::set_precision(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__SX__set_precision(std::string ** err_msg, long long x0);
+void
+    casadi__SX__set_precision(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::SX::set_precision(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_scientific" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::set_scientific"
+// cWrapperName: "casadi__SX__set_scientific"
+// protoArgs: "(std::string ** err_msg, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__set_scientific(std::string ** err_msg, int x0)"
+// call: "        casadi::SX::set_scientific(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__SX__set_scientific(std::string ** err_msg, int x0);
+void
+    casadi__SX__set_scientific(std::string ** err_msg, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        casadi::SX::set_scientific(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "set_width" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::set_width"
+// cWrapperName: "casadi__SX__set_width"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__set_width(std::string ** err_msg, long long x0)"
+// call: "        casadi::SX::set_width(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__SX__set_width(std::string ** err_msg, long long x0);
+void
+    casadi__SX__set_width(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::SX::set_width(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::size"
+// cWrapperName: "casadi__SX__size__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__size__0(std::string ** err_msg, casadi::SX* obj, long long x0)"
+// call: "        long long ret = obj->size(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__SX__size__0(std::string ** err_msg, casadi::SX* obj, long long x0);
+long long
+    casadi__SX__size__0(std::string ** err_msg, casadi::SX* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->size(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::size"
+// cWrapperName: "casadi__SX__size__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: StdPair CLongLong CLongLong
+// cWrapperRetType: "std::pair< long long, long long >*"
+// proto: "std::pair< long long, long long >*\n    casadi__SX__size__1(std::string ** err_msg, casadi::SX* obj)"
+// call: "        std::pair< long long, long long > ret = obj->size();"
+// params: []
+extern "C"
+std::pair< long long, long long >*
+    casadi__SX__size__1(std::string ** err_msg, casadi::SX* obj);
+std::pair< long long, long long >*
+    casadi__SX__size__1(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        std::pair< long long, long long > ret = obj->size();
+
+        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size1" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::size1"
+// cWrapperName: "casadi__SX__size1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__size1(std::string ** err_msg, casadi::SX* obj)"
+// call: "        long long ret = obj->size1();"
+// params: []
+extern "C"
+long long
+    casadi__SX__size1(std::string ** err_msg, casadi::SX* obj);
+long long
+    casadi__SX__size1(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        long long ret = obj->size1();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size2" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::size2"
+// cWrapperName: "casadi__SX__size2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SX__size2(std::string ** err_msg, casadi::SX* obj)"
+// call: "        long long ret = obj->size2();"
+// params: []
+extern "C"
+long long
+    casadi__SX__size2(std::string ** err_msg, casadi::SX* obj);
+long long
+    casadi__SX__size2(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        long long ret = obj->size2();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sparsity" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::sparsity"
+// cWrapperName: "casadi__SX__sparsity"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
+// args: "()"
+// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__SX__sparsity(std::string ** err_msg, casadi::SX* obj)"
+// call: "        casadi::Sparsity ret = obj->sparsity();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__SX__sparsity(std::string ** err_msg, casadi::SX* obj);
+casadi::Sparsity*
+    casadi__SX__sparsity(std::string ** err_msg, casadi::SX* obj){
+    try {
+
+        casadi::Sparsity ret = obj->sparsity();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::sym"
+// cWrapperName: "casadi__SX__sym__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
+// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
+// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi__SX__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
+// call: "        std::vector< std::vector< casadi::SX > > ret = casadi::SX::sym(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< std::vector< casadi::SX* >* >*
+    casadi__SX__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4);
+std::vector< std::vector< casadi::SX* >* >*
+    casadi__SX__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+
+        std::vector< std::vector< casadi::SX > > ret = casadi::SX::sym(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::sym"
+// cWrapperName: "casadi__SX__sym__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
+// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
+// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi__SX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
+// call: "        std::vector< std::vector< casadi::SX > > ret = casadi::SX::sym(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< std::vector< casadi::SX* >* >*
+    casadi__SX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3);
+std::vector< std::vector< casadi::SX* >* >*
+    casadi__SX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        std::vector< std::vector< casadi::SX > > ret = casadi::SX::sym(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::sym"
+// cWrapperName: "casadi__SX__sym__2"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi__SX__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
+// call: "        std::vector< casadi::SX > ret = casadi::SX::sym(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< casadi::SX* >*
+    casadi__SX__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3);
+std::vector< casadi::SX* >*
+    casadi__SX__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::SX::sym(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::sym"
+// cWrapperName: "casadi__SX__sym__3"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi__SX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
+// call: "        std::vector< casadi::SX > ret = casadi::SX::sym(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< casadi::SX* >*
+    casadi__SX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2);
+std::vector< casadi::SX* >*
+    casadi__SX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::SX::sym(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::sym"
+// cWrapperName: "casadi__SX__sym__4"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
+// call: "        casadi::SX ret = casadi::SX::sym(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
+casadi::SX*
+    casadi__SX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::SX ret = casadi::SX::sym(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::sym"
+// cWrapperName: "casadi__SX__sym__5"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
+// call: "        casadi::SX ret = casadi::SX::sym(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1);
+casadi::SX*
+    casadi__SX__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);
+
+        casadi::SX ret = casadi::SX::sym(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::sym"
+// cWrapperName: "casadi__SX__sym__6"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__sym__6(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::SX ret = casadi::SX::sym(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__sym__6(std::string ** err_msg, std::string* x0);
+casadi::SX*
+    casadi__SX__sym__6(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::sym(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::sym"
+// cWrapperName: "casadi__SX__sym__7"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__sym__7(std::string ** err_msg, std::string* x0, long long x1)"
+// call: "        casadi::SX ret = casadi::SX::sym(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__sym__7(std::string ** err_msg, std::string* x0, long long x1);
+casadi::SX*
+    casadi__SX__sym__7(std::string ** err_msg, std::string* x0, long long x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::SX ret = casadi::SX::sym(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "sym" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::sym"
+// cWrapperName: "casadi__SX__sym__8"
+// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
+// call: "        casadi::SX ret = casadi::SX::sym(x0_, x1_, x2_);"
+// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2);
+casadi::SX*
+    casadi__SX__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::SX ret = casadi::SX::sym(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_file" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::to_file"
+// cWrapperName: "casadi__SX__to_file__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__to_file__0(std::string ** err_msg, casadi::SX* obj, std::string* x0)"
+// call: "        obj->to_file(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__to_file__0(std::string ** err_msg, casadi::SX* obj, std::string* x0);
+void
+    casadi__SX__to_file__0(std::string ** err_msg, casadi::SX* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->to_file(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "to_file" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::to_file"
+// cWrapperName: "casadi__SX__to_file__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::string* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SX__to_file__1(std::string ** err_msg, casadi::SX* obj, std::string* x0, std::string* x1)"
+// call: "        obj->to_file(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__SX__to_file__1(std::string ** err_msg, casadi::SX* obj, std::string* x0, std::string* x1);
+void
+    casadi__SX__to_file__1(std::string ** err_msg, casadi::SX* obj, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        obj->to_file(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "triplet" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::triplet"
+// cWrapperName: "casadi__SX__triplet__0"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, std::pair< long long, long long >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, std::pair< long long, long long >* x3)"
+// call: "        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, std::pair< long long, long long >* x3);
+casadi::SX*
+    casadi__SX__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, std::pair< long long, long long >* x3){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        std::pair< long long, long long > x3_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x3);
+
+        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "triplet" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::triplet"
+// cWrapperName: "casadi__SX__triplet__1"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, long long x3, long long x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, long long x3, long long x4)"
+// call: "        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, long long x3, long long x4);
+casadi::SX*
+    casadi__SX__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, long long x3, long long x4){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+
+        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "triplet" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::triplet"
+// cWrapperName: "casadi__SX__triplet__2"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2)"
+// call: "        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2);
+casadi::SX*
+    casadi__SX__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "type_name" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::type_name"
+// cWrapperName: "casadi__SX__type_name"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__SX__type_name(std::string ** err_msg)"
+// call: "        std::string ret = casadi::SX::type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__SX__type_name(std::string ** err_msg);
+std::string*
+    casadi__SX__type_name(std::string ** err_msg){
+    try {
+
+        std::string ret = casadi::SX::type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "unary" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::unary"
+// cWrapperName: "casadi__SX__unary"
+// protoArgs: "(std::string ** err_msg, long long x0, casadi::SX* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__unary(std::string ** err_msg, long long x0, casadi::SX* x1)"
+// call: "        casadi::SX ret = casadi::SX::unary(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__unary(std::string ** err_msg, long long x0, casadi::SX* x1);
+casadi::SX*
+    casadi__SX__unary(std::string ** err_msg, long long x0, casadi::SX* x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = casadi::SX::unary(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::zeros"
+// cWrapperName: "casadi__SX__zeros__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::SX ret = casadi::SX::zeros(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::SX*
+    casadi__SX__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::zeros(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::zeros"
+// cWrapperName: "casadi__SX__zeros__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
+// call: "        casadi::SX ret = casadi::SX::zeros(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::SX*
+    casadi__SX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::zeros(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::zeros"
+// cWrapperName: "casadi__SX__zeros__2"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__zeros__2(std::string ** err_msg)"
+// call: "        casadi::SX ret = casadi::SX::zeros();"
+// params: []
+extern "C"
+casadi::SX*
+    casadi__SX__zeros__2(std::string ** err_msg);
+casadi::SX*
+    casadi__SX__zeros__2(std::string ** err_msg){
+    try {
+
+        casadi::SX ret = casadi::SX::zeros();
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::zeros"
+// cWrapperName: "casadi__SX__zeros__3"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__zeros__3(std::string ** err_msg, long long x0)"
+// call: "        casadi::SX ret = casadi::SX::zeros(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__zeros__3(std::string ** err_msg, long long x0);
+casadi::SX*
+    casadi__SX__zeros__3(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::SX ret = casadi::SX::zeros(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "casadi::SX"
+// cppName: "casadi::SX::zeros"
+// cWrapperName: "casadi__SX__zeros__4"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "SX")
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi__SX__zeros__4(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::SX ret = casadi::SX::zeros(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::SX*
+    casadi__SX__zeros__4(std::string ** err_msg, long long x0, long long x1);
+casadi::SX*
+    casadi__SX__zeros__4(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::SX ret = casadi::SX::zeros(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "SXElem")===============
+// classType: UserType (Namespace ["casadi"]) (Name "SXElem")
+extern "C"
+void delete_casadi__SXElem(casadi::SXElem* obj);
+void delete_casadi__SXElem(casadi::SXElem* obj){
+    delete obj;
+}
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "SharedObject")===============
+// classType: UserType (Namespace ["casadi"]) (Name "SharedObject")
+extern "C"
+void delete_casadi__SharedObject(casadi::SharedObject* obj);
+void delete_casadi__SharedObject(casadi::SharedObject* obj){
+    delete obj;
+}
+
+// ================== Normal method: "__hash__" ===============
+// class: "casadi::SharedObject"
+// cppName: "casadi::SharedObject::__hash__"
+// cWrapperName: "casadi__SharedObject____hash__"
+// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__SharedObject____hash__(std::string ** err_msg, casadi::SharedObject* obj)"
+// call: "        long long ret = obj->__hash__();"
+// params: []
+extern "C"
+long long
+    casadi__SharedObject____hash__(std::string ** err_msg, casadi::SharedObject* obj);
+long long
+    casadi__SharedObject____hash__(std::string ** err_msg, casadi::SharedObject* obj){
+    try {
+
+        long long ret = obj->__hash__();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "class_name" ===============
+// class: "casadi::SharedObject"
+// cppName: "casadi::SharedObject::class_name"
+// cWrapperName: "casadi__SharedObject__class_name"
+// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__SharedObject__class_name(std::string ** err_msg, casadi::SharedObject* obj)"
+// call: "        std::string ret = obj->class_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__SharedObject__class_name(std::string ** err_msg, casadi::SharedObject* obj);
+std::string*
+    casadi__SharedObject__class_name(std::string ** err_msg, casadi::SharedObject* obj){
+    try {
+
+        std::string ret = obj->class_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::SharedObject"
+// cppName: "casadi::SharedObject::get_str"
+// cWrapperName: "casadi__SharedObject__get_str__0"
+// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__SharedObject__get_str__0(std::string ** err_msg, casadi::SharedObject* obj)"
+// call: "        std::string ret = obj->get_str();"
+// params: []
+extern "C"
+std::string*
+    casadi__SharedObject__get_str__0(std::string ** err_msg, casadi::SharedObject* obj);
+std::string*
+    casadi__SharedObject__get_str__0(std::string ** err_msg, casadi::SharedObject* obj){
+    try {
+
+        std::string ret = obj->get_str();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::SharedObject"
+// cppName: "casadi::SharedObject::get_str"
+// cWrapperName: "casadi__SharedObject__get_str__1"
+// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__SharedObject__get_str__1(std::string ** err_msg, casadi::SharedObject* obj, int x0)"
+// call: "        std::string ret = obj->get_str(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__SharedObject__get_str__1(std::string ** err_msg, casadi::SharedObject* obj, int x0);
+std::string*
+    casadi__SharedObject__get_str__1(std::string ** err_msg, casadi::SharedObject* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->get_str(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_null" ===============
+// class: "casadi::SharedObject"
+// cppName: "casadi::SharedObject::is_null"
+// cWrapperName: "casadi__SharedObject__is_null"
+// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__SharedObject__is_null(std::string ** err_msg, casadi::SharedObject* obj)"
+// call: "        bool ret = obj->is_null();"
+// params: []
+extern "C"
+int
+    casadi__SharedObject__is_null(std::string ** err_msg, casadi::SharedObject* obj);
+int
+    casadi__SharedObject__is_null(std::string ** err_msg, casadi::SharedObject* obj){
+    try {
+
+        bool ret = obj->is_null();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "print_ptr" ===============
+// class: "casadi::SharedObject"
+// cppName: "casadi::SharedObject::print_ptr"
+// cWrapperName: "casadi__SharedObject__print_ptr"
+// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__SharedObject__print_ptr(std::string ** err_msg, casadi::SharedObject* obj)"
+// call: "        obj->print_ptr();"
+// params: []
+extern "C"
+void
+    casadi__SharedObject__print_ptr(std::string ** err_msg, casadi::SharedObject* obj);
+void
+    casadi__SharedObject__print_ptr(std::string ** err_msg, casadi::SharedObject* obj){
+    try {
+
+        obj->print_ptr();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "Slice")===============
+// classType: UserType (Namespace ["casadi"]) (Name "Slice")
+extern "C"
+void delete_casadi__Slice(casadi::Slice* obj);
+void delete_casadi__Slice(casadi::Slice* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice"
+// cWrapperName: "casadi__Slice__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, long long x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__0(std::string ** err_msg, long long x0, int x1)"
+// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CInt,SwigOutput False)]
+extern "C"
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__0(std::string ** err_msg, long long x0, int x1);
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__0(std::string ** err_msg, long long x0, int x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        int x1_ = Marshaling<int,int>::marshal(x1);
+
+        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice"
+// cWrapperName: "casadi__Slice__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg, long long x0, int x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__1(std::string ** err_msg, long long x0, int x1, int x2)"
+// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
+extern "C"
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__1(std::string ** err_msg, long long x0, int x1, int x2);
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__1(std::string ** err_msg, long long x0, int x1, int x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        int x1_ = Marshaling<int,int>::marshal(x1);
+        int x2_ = Marshaling<int,int>::marshal(x2);
+
+        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice"
+// cWrapperName: "casadi__Slice__CONSTRUCTOR__2"
+// protoArgs: "(std::string ** err_msg, int x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__2(std::string ** err_msg, int x0, long long x1)"
+// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);"
+// params: [(CInt,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__2(std::string ** err_msg, int x0, long long x1);
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__2(std::string ** err_msg, int x0, long long x1){
+    try {
+        int x0_ = Marshaling<int,int>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice"
+// cWrapperName: "casadi__Slice__CONSTRUCTOR__3"
+// protoArgs: "(std::string ** err_msg, int x0, long long x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__3(std::string ** err_msg, int x0, long long x1, int x2)"
+// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);"
+// params: [(CInt,SwigOutput False),(CLongLong,SwigOutput False),(CInt,SwigOutput False)]
+extern "C"
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__3(std::string ** err_msg, int x0, long long x1, int x2);
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__3(std::string ** err_msg, int x0, long long x1, int x2){
+    try {
+        int x0_ = Marshaling<int,int>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        int x2_ = Marshaling<int,int>::marshal(x2);
+
+        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice"
+// cWrapperName: "casadi__Slice__CONSTRUCTOR__4"
+// protoArgs: "(std::string ** err_msg, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__4(std::string ** err_msg, int x0, int x1)"
+// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);"
+// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
+extern "C"
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__4(std::string ** err_msg, int x0, int x1);
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__4(std::string ** err_msg, int x0, int x1){
+    try {
+        int x0_ = Marshaling<int,int>::marshal(x0);
+        int x1_ = Marshaling<int,int>::marshal(x1);
+
+        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice"
+// cWrapperName: "casadi__Slice__CONSTRUCTOR__5"
+// protoArgs: "(std::string ** err_msg, int x0, int x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__5(std::string ** err_msg, int x0, int x1, int x2)"
+// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);"
+// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
+extern "C"
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__5(std::string ** err_msg, int x0, int x1, int x2);
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__5(std::string ** err_msg, int x0, int x1, int x2){
+    try {
+        int x0_ = Marshaling<int,int>::marshal(x0);
+        int x1_ = Marshaling<int,int>::marshal(x1);
+        int x2_ = Marshaling<int,int>::marshal(x2);
+
+        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice"
+// cWrapperName: "casadi__Slice__CONSTRUCTOR__6"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__6(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__6(std::string ** err_msg, long long x0, long long x1);
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__6(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice"
+// cWrapperName: "casadi__Slice__CONSTRUCTOR__7"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1, long long x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__7(std::string ** err_msg, long long x0, long long x1, long long x2)"
+// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__7(std::string ** err_msg, long long x0, long long x1, long long x2);
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__7(std::string ** err_msg, long long x0, long long x1, long long x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice"
+// cWrapperName: "casadi__Slice__CONSTRUCTOR__8"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__8(std::string ** err_msg, long long x0)"
+// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__8(std::string ** err_msg, long long x0);
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__8(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice"
+// cWrapperName: "casadi__Slice__CONSTRUCTOR__9"
+// protoArgs: "(std::string ** err_msg, long long x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__9(std::string ** err_msg, long long x0, int x1)"
+// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__9(std::string ** err_msg, long long x0, int x1);
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__9(std::string ** err_msg, long long x0, int x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice"
+// cWrapperName: "casadi__Slice__CONSTRUCTOR__10"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__10(std::string ** err_msg)"
+// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice();"
+// params: []
+extern "C"
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__10(std::string ** err_msg);
+casadi::Slice*
+    casadi__Slice__CONSTRUCTOR__10(std::string ** err_msg){
+    try {
+
+        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "all" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice::all"
+// cWrapperName: "casadi__Slice__all__0"
+// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Slice__all__0(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, long long x1)"
+// call: "        std::vector< long long > ret = obj->all(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< long long >*
+    casadi__Slice__all__0(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, long long x1);
+std::vector< long long >*
+    casadi__Slice__all__0(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, long long x1){
+    try {
+        casadi::Slice& x0_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< long long > ret = obj->all(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "all" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice::all"
+// cWrapperName: "casadi__Slice__all__1"
+// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, long long x0)"
+// args: "(x0_)"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Slice__all__1(std::string ** err_msg, casadi::Slice* obj, long long x0)"
+// call: "        std::vector< long long > ret = obj->all(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+std::vector< long long >*
+    casadi__Slice__all__1(std::string ** err_msg, casadi::Slice* obj, long long x0);
+std::vector< long long >*
+    casadi__Slice__all__1(std::string ** err_msg, casadi::Slice* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::vector< long long > ret = obj->all(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "all" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice::all"
+// cWrapperName: "casadi__Slice__all__2"
+// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, long long x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Slice__all__2(std::string ** err_msg, casadi::Slice* obj, long long x0, int x1)"
+// call: "        std::vector< long long > ret = obj->all(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+std::vector< long long >*
+    casadi__Slice__all__2(std::string ** err_msg, casadi::Slice* obj, long long x0, int x1);
+std::vector< long long >*
+    casadi__Slice__all__2(std::string ** err_msg, casadi::Slice* obj, long long x0, int x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        std::vector< long long > ret = obj->all(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice::get_str"
+// cWrapperName: "casadi__Slice__get_str__0"
+// protoArgs: "(std::string ** err_msg, casadi::Slice* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Slice__get_str__0(std::string ** err_msg, casadi::Slice* obj)"
+// call: "        std::string ret = obj->get_str();"
+// params: []
+extern "C"
+std::string*
+    casadi__Slice__get_str__0(std::string ** err_msg, casadi::Slice* obj);
+std::string*
+    casadi__Slice__get_str__0(std::string ** err_msg, casadi::Slice* obj){
+    try {
+
+        std::string ret = obj->get_str();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice::get_str"
+// cWrapperName: "casadi__Slice__get_str__1"
+// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Slice__get_str__1(std::string ** err_msg, casadi::Slice* obj, int x0)"
+// call: "        std::string ret = obj->get_str(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Slice__get_str__1(std::string ** err_msg, casadi::Slice* obj, int x0);
+std::string*
+    casadi__Slice__get_str__1(std::string ** err_msg, casadi::Slice* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->get_str(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "info" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice::info"
+// cWrapperName: "casadi__Slice__info"
+// protoArgs: "(std::string ** err_msg, casadi::Slice* obj)"
+// args: "()"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
+// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
+// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Slice__info(std::string ** err_msg, casadi::Slice* obj)"
+// call: "        std::map< std::string, casadi::GenericType > ret = obj->info();"
+// params: []
+extern "C"
+std::map< std::string, casadi::GenericType* >*
+    casadi__Slice__info(std::string ** err_msg, casadi::Slice* obj);
+std::map< std::string, casadi::GenericType* >*
+    casadi__Slice__info(std::string ** err_msg, casadi::Slice* obj){
+    try {
+
+        std::map< std::string, casadi::GenericType > ret = obj->info();
+
+        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_scalar" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice::is_scalar"
+// cWrapperName: "casadi__Slice__is_scalar"
+// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Slice__is_scalar(std::string ** err_msg, casadi::Slice* obj, long long x0)"
+// call: "        bool ret = obj->is_scalar(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+int
+    casadi__Slice__is_scalar(std::string ** err_msg, casadi::Slice* obj, long long x0);
+int
+    casadi__Slice__is_scalar(std::string ** err_msg, casadi::Slice* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        bool ret = obj->is_scalar(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator !=" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice::operator !="
+// cWrapperName: "casadi__Slice__operator__nequals"
+// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Slice__operator__nequals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
+// call: "        bool ret = obj->operator !=(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+int
+    casadi__Slice__operator__nequals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0);
+int
+    casadi__Slice__operator__nequals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0){
+    try {
+        casadi::Slice& x0_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x0);
+
+        bool ret = obj->operator !=(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator ==" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice::operator =="
+// cWrapperName: "casadi__Slice__operator__equals"
+// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Slice__operator__equals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
+// call: "        bool ret = obj->operator ==(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
+extern "C"
+int
+    casadi__Slice__operator__equals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0);
+int
+    casadi__Slice__operator__equals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0){
+    try {
+        casadi::Slice& x0_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x0);
+
+        bool ret = obj->operator ==(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "scalar" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice::scalar"
+// cWrapperName: "casadi__Slice__scalar"
+// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Slice__scalar(std::string ** err_msg, casadi::Slice* obj, long long x0)"
+// call: "        long long ret = obj->scalar(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Slice__scalar(std::string ** err_msg, casadi::Slice* obj, long long x0);
+long long
+    casadi__Slice__scalar(std::string ** err_msg, casadi::Slice* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->scalar(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "type_name" ===============
+// class: "casadi::Slice"
+// cppName: "casadi::Slice::type_name"
+// cWrapperName: "casadi__Slice__type_name"
+// protoArgs: "(std::string ** err_msg, casadi::Slice* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Slice__type_name(std::string ** err_msg, casadi::Slice* obj)"
+// call: "        std::string ret = obj->type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__Slice__type_name(std::string ** err_msg, casadi::Slice* obj);
+std::string*
+    casadi__Slice__type_name(std::string ** err_msg, casadi::Slice* obj){
+    try {
+
+        std::string ret = obj->type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "Sparsity")===============
+// classType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+extern "C"
+void delete_casadi__Sparsity(casadi::Sparsity* obj);
+void delete_casadi__Sparsity(casadi::Sparsity* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity"
+// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__CONSTRUCTOR__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::Sparsity*
+    casadi__Sparsity__CONSTRUCTOR__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity"
+// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_, x2_, x3_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__CONSTRUCTOR__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
+casadi::Sparsity*
+    casadi__Sparsity__CONSTRUCTOR__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity"
+// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__2"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__2(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
+// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_, x2_, x3_, x4_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__CONSTRUCTOR__2(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4);
+casadi::Sparsity*
+    casadi__Sparsity__CONSTRUCTOR__2(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        bool x4_ = Marshaling<bool,int>::marshal(x4);
+
+        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity"
+// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__3"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__3(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__CONSTRUCTOR__3(std::string ** err_msg, long long x0, long long x1);
+casadi::Sparsity*
+    casadi__Sparsity__CONSTRUCTOR__3(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity"
+// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__4"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__4(std::string ** err_msg)"
+// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__CONSTRUCTOR__4(std::string ** err_msg);
+casadi::Sparsity*
+    casadi__Sparsity__CONSTRUCTOR__4(std::string ** err_msg){
+    try {
+
+        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity"
+// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__5"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__5(std::string ** err_msg, long long x0)"
+// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__CONSTRUCTOR__5(std::string ** err_msg, long long x0);
+casadi::Sparsity*
+    casadi__Sparsity__CONSTRUCTOR__5(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "T" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::T"
+// cWrapperName: "casadi__Sparsity__T"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__T(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        casadi::Sparsity ret = obj->T();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__T(std::string ** err_msg, casadi::Sparsity* obj);
+casadi::Sparsity*
+    casadi__Sparsity__T(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        casadi::Sparsity ret = obj->T();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "add_nz" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::add_nz"
+// cWrapperName: "casadi__Sparsity__add_nz"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__add_nz(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
+// call: "        long long ret = obj->add_nz(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Sparsity__add_nz(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1);
+long long
+    casadi__Sparsity__add_nz(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        long long ret = obj->add_nz(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "amd" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::amd"
+// cWrapperName: "casadi__Sparsity__amd"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__amd(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::vector< long long > ret = obj->amd();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__amd(std::string ** err_msg, casadi::Sparsity* obj);
+std::vector< long long >*
+    casadi__Sparsity__amd(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::vector< long long > ret = obj->amd();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "append" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::append"
+// cWrapperName: "casadi__Sparsity__append"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__append(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// call: "        obj->append(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__append(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
+void
+    casadi__Sparsity__append(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        obj->append(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "appendColumns" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::appendColumns"
+// cWrapperName: "casadi__Sparsity__appendColumns"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__appendColumns(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// call: "        obj->appendColumns(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__appendColumns(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
+void
+    casadi__Sparsity__appendColumns(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        obj->appendColumns(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "band" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::band"
+// cWrapperName: "casadi__Sparsity__band"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__band(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::band(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__band(std::string ** err_msg, long long x0, long long x1);
+casadi::Sparsity*
+    casadi__Sparsity__band(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Sparsity ret = casadi::Sparsity::band(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "banded" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::banded"
+// cWrapperName: "casadi__Sparsity__banded"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__banded(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::banded(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__banded(std::string ** err_msg, long long x0, long long x1);
+casadi::Sparsity*
+    casadi__Sparsity__banded(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Sparsity ret = casadi::Sparsity::banded(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "btf" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::btf"
+// cWrapperName: "casadi__Sparsity__btf"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1, std::vector< long long >** x2, std::vector< long long >** x3, std::vector< long long >** x4, std::vector< long long >** x5)"
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__btf(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1, std::vector< long long >** x2, std::vector< long long >** x3, std::vector< long long >** x4, std::vector< long long >** x5)"
+// call: "        long long ret = obj->btf(x0_, x1_, x2_, x3_, x4_, x5_);"
+// params: [(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True)]
+extern "C"
+long long
+    casadi__Sparsity__btf(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1, std::vector< long long >** x2, std::vector< long long >** x3, std::vector< long long >** x4, std::vector< long long >** x5);
+long long
+    casadi__Sparsity__btf(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1, std::vector< long long >** x2, std::vector< long long >** x3, std::vector< long long >** x4, std::vector< long long >** x5){
+    try {
+        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
+        std::vector< long long > x1_ = std::vector< long long >();  // Swig output
+        std::vector< long long > x2_ = std::vector< long long >();  // Swig output
+        std::vector< long long > x3_ = std::vector< long long >();  // Swig output
+        std::vector< long long > x4_ = std::vector< long long >();  // Swig output
+        std::vector< long long > x5_ = std::vector< long long >();  // Swig output
+
+        long long ret = obj->btf(x0_, x1_, x2_, x3_, x4_, x5_);
+        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
+        *x1 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x1_ );
+        *x2 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x2_ );
+        *x3 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x3_ );
+        *x4 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x4_ );
+        *x5 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x5_ );
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "bw_lower" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::bw_lower"
+// cWrapperName: "casadi__Sparsity__bw_lower"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__bw_lower(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        long long ret = obj->bw_lower();"
+// params: []
+extern "C"
+long long
+    casadi__Sparsity__bw_lower(std::string ** err_msg, casadi::Sparsity* obj);
+long long
+    casadi__Sparsity__bw_lower(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        long long ret = obj->bw_lower();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "bw_upper" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::bw_upper"
+// cWrapperName: "casadi__Sparsity__bw_upper"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__bw_upper(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        long long ret = obj->bw_upper();"
+// params: []
+extern "C"
+long long
+    casadi__Sparsity__bw_upper(std::string ** err_msg, casadi::Sparsity* obj);
+long long
+    casadi__Sparsity__bw_upper(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        long long ret = obj->bw_upper();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "colind" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::colind"
+// cWrapperName: "casadi__Sparsity__colind"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__colind(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
+// call: "        long long ret = obj->colind(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Sparsity__colind(std::string ** err_msg, casadi::Sparsity* obj, long long x0);
+long long
+    casadi__Sparsity__colind(std::string ** err_msg, casadi::Sparsity* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->colind(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "columns" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::columns"
+// cWrapperName: "casadi__Sparsity__columns"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__columns(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        long long ret = obj->columns();"
+// params: []
+extern "C"
+long long
+    casadi__Sparsity__columns(std::string ** err_msg, casadi::Sparsity* obj);
+long long
+    casadi__Sparsity__columns(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        long long ret = obj->columns();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "combine" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::combine"
+// cWrapperName: "casadi__Sparsity__combine"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__combine(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2)"
+// call: "        casadi::Sparsity ret = obj->combine(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__combine(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2);
+casadi::Sparsity*
+    casadi__Sparsity__combine(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        casadi::Sparsity ret = obj->combine(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "compress" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::compress"
+// cWrapperName: "casadi__Sparsity__compress"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__compress(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::vector< long long > ret = obj->compress();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__compress(std::string ** err_msg, casadi::Sparsity* obj);
+std::vector< long long >*
+    casadi__Sparsity__compress(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::vector< long long > ret = obj->compress();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "compressed" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::compressed"
+// cWrapperName: "casadi__Sparsity__compressed__0"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__compressed__0(std::string ** err_msg, std::vector< long long >* x0)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::compressed(x0_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__compressed__0(std::string ** err_msg, std::vector< long long >* x0);
+casadi::Sparsity*
+    casadi__Sparsity__compressed__0(std::string ** err_msg, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        casadi::Sparsity ret = casadi::Sparsity::compressed(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "compressed" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::compressed"
+// cWrapperName: "casadi__Sparsity__compressed__1"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__compressed__1(std::string ** err_msg, std::vector< long long >* x0, int x1)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::compressed(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__compressed__1(std::string ** err_msg, std::vector< long long >* x0, int x1);
+casadi::Sparsity*
+    casadi__Sparsity__compressed__1(std::string ** err_msg, std::vector< long long >* x0, int x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::Sparsity ret = casadi::Sparsity::compressed(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "dense" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::dense"
+// cWrapperName: "casadi__Sparsity__dense__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__dense__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::dense(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__dense__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::Sparsity*
+    casadi__Sparsity__dense__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::Sparsity ret = casadi::Sparsity::dense(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "dense" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::dense"
+// cWrapperName: "casadi__Sparsity__dense__1"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__dense__1(std::string ** err_msg, long long x0)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::dense(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__dense__1(std::string ** err_msg, long long x0);
+casadi::Sparsity*
+    casadi__Sparsity__dense__1(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Sparsity ret = casadi::Sparsity::dense(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "dense" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::dense"
+// cWrapperName: "casadi__Sparsity__dense__2"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__dense__2(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::dense(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__dense__2(std::string ** err_msg, long long x0, long long x1);
+casadi::Sparsity*
+    casadi__Sparsity__dense__2(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Sparsity ret = casadi::Sparsity::dense(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "density" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::density"
+// cWrapperName: "casadi__Sparsity__density"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double\n    casadi__Sparsity__density(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        double ret = obj->density();"
+// params: []
+extern "C"
+double
+    casadi__Sparsity__density(std::string ** err_msg, casadi::Sparsity* obj);
+double
+    casadi__Sparsity__density(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        double ret = obj->density();
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "deserialize" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::deserialize"
+// cWrapperName: "casadi__Sparsity__deserialize"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__deserialize(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::deserialize(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__deserialize(std::string ** err_msg, std::string* x0);
+casadi::Sparsity*
+    casadi__Sparsity__deserialize(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Sparsity ret = casadi::Sparsity::deserialize(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dfs" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::dfs"
+// cWrapperName: "casadi__Sparsity__dfs"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< int >* x5)"
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__dfs(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< int >* x5)"
+// call: "        long long ret = obj->dfs(x0_, x1_, x2_, x3_, x4_, x5_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (StdVec CBool),SwigOutput False)]
+extern "C"
+long long
+    casadi__Sparsity__dfs(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< int >* x5);
+long long
+    casadi__Sparsity__dfs(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< int >* x5){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< bool > x5_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x5);
+
+        long long ret = obj->dfs(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "diag" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::diag"
+// cWrapperName: "casadi__Sparsity__diag__0"
+// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__diag__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::diag(x0_);"
+// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__diag__0(std::string ** err_msg, std::pair< long long, long long >* x0);
+casadi::Sparsity*
+    casadi__Sparsity__diag__0(std::string ** err_msg, std::pair< long long, long long >* x0){
+    try {
+        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);
+
+        casadi::Sparsity ret = casadi::Sparsity::diag(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "diag" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::diag"
+// cWrapperName: "casadi__Sparsity__diag__1"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__diag__1(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::diag(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__diag__1(std::string ** err_msg, long long x0, long long x1);
+casadi::Sparsity*
+    casadi__Sparsity__diag__1(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Sparsity ret = casadi::Sparsity::diag(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "diag" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::diag"
+// cWrapperName: "casadi__Sparsity__diag__2"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__diag__2(std::string ** err_msg, long long x0)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::diag(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__diag__2(std::string ** err_msg, long long x0);
+casadi::Sparsity*
+    casadi__Sparsity__diag__2(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Sparsity ret = casadi::Sparsity::diag(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dim" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::dim"
+// cWrapperName: "casadi__Sparsity__dim__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Sparsity__dim__0(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::string ret = obj->dim();"
+// params: []
+extern "C"
+std::string*
+    casadi__Sparsity__dim__0(std::string ** err_msg, casadi::Sparsity* obj);
+std::string*
+    casadi__Sparsity__dim__0(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::string ret = obj->dim();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "dim" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::dim"
+// cWrapperName: "casadi__Sparsity__dim__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Sparsity__dim__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// call: "        std::string ret = obj->dim(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Sparsity__dim__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
+std::string*
+    casadi__Sparsity__dim__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->dim(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "enlarge" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::enlarge"
+// cWrapperName: "casadi__Sparsity__enlarge__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__enlarge__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__enlarge__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
+void
+    casadi__Sparsity__enlarge__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        obj->enlarge(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "enlarge" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::enlarge"
+// cWrapperName: "casadi__Sparsity__enlarge__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__enlarge__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
+// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__enlarge__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4);
+void
+    casadi__Sparsity__enlarge__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        bool x4_ = Marshaling<bool,int>::marshal(x4);
+
+        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "enlargeColumns" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::enlargeColumns"
+// cWrapperName: "casadi__Sparsity__enlargeColumns__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__enlargeColumns__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1)"
+// call: "        obj->enlargeColumns(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__enlargeColumns__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1);
+void
+    casadi__Sparsity__enlargeColumns__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        obj->enlargeColumns(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "enlargeColumns" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::enlargeColumns"
+// cWrapperName: "casadi__Sparsity__enlargeColumns__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__enlargeColumns__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2)"
+// call: "        obj->enlargeColumns(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__enlargeColumns__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2);
+void
+    casadi__Sparsity__enlargeColumns__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->enlargeColumns(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "enlargeRows" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::enlargeRows"
+// cWrapperName: "casadi__Sparsity__enlargeRows__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__enlargeRows__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1)"
+// call: "        obj->enlargeRows(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__enlargeRows__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1);
+void
+    casadi__Sparsity__enlargeRows__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        obj->enlargeRows(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "enlargeRows" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::enlargeRows"
+// cWrapperName: "casadi__Sparsity__enlargeRows__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__enlargeRows__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2)"
+// call: "        obj->enlargeRows(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__enlargeRows__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2);
+void
+    casadi__Sparsity__enlargeRows__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        obj->enlargeRows(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::erase"
+// cWrapperName: "casadi__Sparsity__erase__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
+// args: "(x0_)"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__erase__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
+// call: "        std::vector< long long > ret = obj->erase(x0_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__erase__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0);
+std::vector< long long >*
+    casadi__Sparsity__erase__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        std::vector< long long > ret = obj->erase(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::erase"
+// cWrapperName: "casadi__Sparsity__erase__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__erase__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1)"
+// call: "        std::vector< long long > ret = obj->erase(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__erase__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1);
+std::vector< long long >*
+    casadi__Sparsity__erase__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        std::vector< long long > ret = obj->erase(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::erase"
+// cWrapperName: "casadi__Sparsity__erase__2"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__erase__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// call: "        std::vector< long long > ret = obj->erase(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__erase__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1);
+std::vector< long long >*
+    casadi__Sparsity__erase__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< long long > ret = obj->erase(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::erase"
+// cWrapperName: "casadi__Sparsity__erase__3"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__erase__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
+// call: "        std::vector< long long > ret = obj->erase(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__erase__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2);
+std::vector< long long >*
+    casadi__Sparsity__erase__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        std::vector< long long > ret = obj->erase(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "etree" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::etree"
+// cWrapperName: "casadi__Sparsity__etree__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__etree__0(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::vector< long long > ret = obj->etree();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__etree__0(std::string ** err_msg, casadi::Sparsity* obj);
+std::vector< long long >*
+    casadi__Sparsity__etree__0(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::vector< long long > ret = obj->etree();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "etree" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::etree"
+// cWrapperName: "casadi__Sparsity__etree__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__etree__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// call: "        std::vector< long long > ret = obj->etree(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__etree__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
+std::vector< long long >*
+    casadi__Sparsity__etree__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::vector< long long > ret = obj->etree(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "export_code" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::export_code"
+// cWrapperName: "casadi__Sparsity__export_code"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__export_code(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
+// call: "        obj->export_code(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__export_code(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0);
+void
+    casadi__Sparsity__export_code(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->export_code(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "find" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::find"
+// cWrapperName: "casadi__Sparsity__find__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__find__0(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::vector< long long > ret = obj->find();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__find__0(std::string ** err_msg, casadi::Sparsity* obj);
+std::vector< long long >*
+    casadi__Sparsity__find__0(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::vector< long long > ret = obj->find();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "find" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::find"
+// cWrapperName: "casadi__Sparsity__find__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__find__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// call: "        std::vector< long long > ret = obj->find(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__find__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
+std::vector< long long >*
+    casadi__Sparsity__find__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::vector< long long > ret = obj->find(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "from_file" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::from_file"
+// cWrapperName: "casadi__Sparsity__from_file__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__from_file__0(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::from_file(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__from_file__0(std::string ** err_msg, std::string* x0);
+casadi::Sparsity*
+    casadi__Sparsity__from_file__0(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Sparsity ret = casadi::Sparsity::from_file(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "from_file" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::from_file"
+// cWrapperName: "casadi__Sparsity__from_file__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__from_file__1(std::string ** err_msg, std::string* x0, std::string* x1)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::from_file(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__from_file__1(std::string ** err_msg, std::string* x0, std::string* x1);
+casadi::Sparsity*
+    casadi__Sparsity__from_file__1(std::string ** err_msg, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::Sparsity ret = casadi::Sparsity::from_file(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "from_info" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::from_info"
+// cWrapperName: "casadi__Sparsity__from_info"
+// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::from_info(x0_);"
+// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0);
+casadi::Sparsity*
+    casadi__Sparsity__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0){
+    try {
+        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);
+
+        casadi::Sparsity ret = casadi::Sparsity::from_info(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_ccs" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::get_ccs"
+// cWrapperName: "casadi__Sparsity__get_ccs"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__get_ccs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
+// call: "        obj->get_ccs(x0_, x1_);"
+// params: [(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True)]
+extern "C"
+void
+    casadi__Sparsity__get_ccs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1);
+void
+    casadi__Sparsity__get_ccs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1){
+    try {
+        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
+        std::vector< long long > x1_ = std::vector< long long >();  // Swig output
+
+        obj->get_ccs(x0_, x1_);
+        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
+        *x1 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x1_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_col" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::get_col"
+// cWrapperName: "casadi__Sparsity__get_col"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__get_col(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::vector< long long > ret = obj->get_col();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__get_col(std::string ** err_msg, casadi::Sparsity* obj);
+std::vector< long long >*
+    casadi__Sparsity__get_col(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_col();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_colind" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::get_colind"
+// cWrapperName: "casadi__Sparsity__get_colind"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__get_colind(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::vector< long long > ret = obj->get_colind();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__get_colind(std::string ** err_msg, casadi::Sparsity* obj);
+std::vector< long long >*
+    casadi__Sparsity__get_colind(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_colind();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_crs" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::get_crs"
+// cWrapperName: "casadi__Sparsity__get_crs"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__get_crs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
+// call: "        obj->get_crs(x0_, x1_);"
+// params: [(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True)]
+extern "C"
+void
+    casadi__Sparsity__get_crs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1);
+void
+    casadi__Sparsity__get_crs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1){
+    try {
+        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
+        std::vector< long long > x1_ = std::vector< long long >();  // Swig output
+
+        obj->get_crs(x0_, x1_);
+        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
+        *x1 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x1_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_diag" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::get_diag"
+// cWrapperName: "casadi__Sparsity__get_diag"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__get_diag(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
+// call: "        casadi::Sparsity ret = obj->get_diag(x0_);"
+// params: [(Ref (StdVec CLongLong),SwigOutput True)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__get_diag(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0);
+casadi::Sparsity*
+    casadi__Sparsity__get_diag(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0){
+    try {
+        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
+
+        casadi::Sparsity ret = obj->get_diag(x0_);
+        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_lower" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::get_lower"
+// cWrapperName: "casadi__Sparsity__get_lower"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__get_lower(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::vector< long long > ret = obj->get_lower();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__get_lower(std::string ** err_msg, casadi::Sparsity* obj);
+std::vector< long long >*
+    casadi__Sparsity__get_lower(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_lower();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_nz" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::get_nz"
+// cWrapperName: "casadi__Sparsity__get_nz__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__get_nz__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
+// call: "        obj->get_nz(x0_);"
+// params: [(Ref (StdVec CLongLong),SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__get_nz__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0);
+void
+    casadi__Sparsity__get_nz__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        obj->get_nz(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_nz" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::get_nz"
+// cWrapperName: "casadi__Sparsity__get_nz__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// args: "(x0_, x1_)"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__get_nz__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
+// call: "        std::vector< long long > ret = obj->get_nz(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__get_nz__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1);
+std::vector< long long >*
+    casadi__Sparsity__get_nz__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< long long > ret = obj->get_nz(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_nz" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::get_nz"
+// cWrapperName: "casadi__Sparsity__get_nz__2"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__get_nz__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
+// call: "        long long ret = obj->get_nz(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Sparsity__get_nz__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1);
+long long
+    casadi__Sparsity__get_nz__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        long long ret = obj->get_nz(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_row" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::get_row"
+// cWrapperName: "casadi__Sparsity__get_row"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__get_row(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::vector< long long > ret = obj->get_row();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__get_row(std::string ** err_msg, casadi::Sparsity* obj);
+std::vector< long long >*
+    casadi__Sparsity__get_row(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_row();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_triplet" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::get_triplet"
+// cWrapperName: "casadi__Sparsity__get_triplet"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__get_triplet(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
+// call: "        obj->get_triplet(x0_, x1_);"
+// params: [(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True)]
+extern "C"
+void
+    casadi__Sparsity__get_triplet(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1);
+void
+    casadi__Sparsity__get_triplet(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1){
+    try {
+        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
+        std::vector< long long > x1_ = std::vector< long long >();  // Swig output
+
+        obj->get_triplet(x0_, x1_);
+        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
+        *x1 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x1_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "get_upper" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::get_upper"
+// cWrapperName: "casadi__Sparsity__get_upper"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__get_upper(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::vector< long long > ret = obj->get_upper();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__get_upper(std::string ** err_msg, casadi::Sparsity* obj);
+std::vector< long long >*
+    casadi__Sparsity__get_upper(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::vector< long long > ret = obj->get_upper();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "has_nz" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::has_nz"
+// cWrapperName: "casadi__Sparsity__has_nz"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__has_nz(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
+// call: "        bool ret = obj->has_nz(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+int
+    casadi__Sparsity__has_nz(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1);
+int
+    casadi__Sparsity__has_nz(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        bool ret = obj->has_nz(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "hash" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::hash"
+// cWrapperName: "casadi__Sparsity__hash"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CSize
+// cWrapperRetType: "size_t"
+// proto: "size_t\n    casadi__Sparsity__hash(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        size_t ret = obj->hash();"
+// params: []
+extern "C"
+size_t
+    casadi__Sparsity__hash(std::string ** err_msg, casadi::Sparsity* obj);
+size_t
+    casadi__Sparsity__hash(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        size_t ret = obj->hash();
+
+        return WrapReturn< size_t, size_t >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "info" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::info"
+// cWrapperName: "casadi__Sparsity__info"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
+// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
+// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Sparsity__info(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::map< std::string, casadi::GenericType > ret = obj->info();"
+// params: []
+extern "C"
+std::map< std::string, casadi::GenericType* >*
+    casadi__Sparsity__info(std::string ** err_msg, casadi::Sparsity* obj);
+std::map< std::string, casadi::GenericType* >*
+    casadi__Sparsity__info(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::map< std::string, casadi::GenericType > ret = obj->info();
+
+        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "intersect" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::intersect"
+// cWrapperName: "casadi__Sparsity__intersect"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__intersect(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// call: "        casadi::Sparsity ret = obj->intersect(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__intersect(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
+casadi::Sparsity*
+    casadi__Sparsity__intersect(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::Sparsity ret = obj->intersect(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_column" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_column"
+// cWrapperName: "casadi__Sparsity__is_column"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_column(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        bool ret = obj->is_column();"
+// params: []
+extern "C"
+int
+    casadi__Sparsity__is_column(std::string ** err_msg, casadi::Sparsity* obj);
+int
+    casadi__Sparsity__is_column(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        bool ret = obj->is_column();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_dense" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_dense"
+// cWrapperName: "casadi__Sparsity__is_dense"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_dense(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        bool ret = obj->is_dense();"
+// params: []
+extern "C"
+int
+    casadi__Sparsity__is_dense(std::string ** err_msg, casadi::Sparsity* obj);
+int
+    casadi__Sparsity__is_dense(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        bool ret = obj->is_dense();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_diag" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_diag"
+// cWrapperName: "casadi__Sparsity__is_diag"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_diag(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        bool ret = obj->is_diag();"
+// params: []
+extern "C"
+int
+    casadi__Sparsity__is_diag(std::string ** err_msg, casadi::Sparsity* obj);
+int
+    casadi__Sparsity__is_diag(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        bool ret = obj->is_diag();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_empty" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_empty"
+// cWrapperName: "casadi__Sparsity__is_empty__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_empty__0(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        bool ret = obj->is_empty();"
+// params: []
+extern "C"
+int
+    casadi__Sparsity__is_empty__0(std::string ** err_msg, casadi::Sparsity* obj);
+int
+    casadi__Sparsity__is_empty__0(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        bool ret = obj->is_empty();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_empty" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_empty"
+// cWrapperName: "casadi__Sparsity__is_empty__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_empty__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// call: "        bool ret = obj->is_empty(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+int
+    casadi__Sparsity__is_empty__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
+int
+    casadi__Sparsity__is_empty__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        bool ret = obj->is_empty(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_equal" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_equal"
+// cWrapperName: "casadi__Sparsity__is_equal__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_equal__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// call: "        bool ret = obj->is_equal(x0_, x1_, x2_, x3_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+int
+    casadi__Sparsity__is_equal__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
+int
+    casadi__Sparsity__is_equal__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        bool ret = obj->is_equal(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_equal" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_equal"
+// cWrapperName: "casadi__Sparsity__is_equal__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_equal__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// call: "        bool ret = obj->is_equal(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+int
+    casadi__Sparsity__is_equal__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
+int
+    casadi__Sparsity__is_equal__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        bool ret = obj->is_equal(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_reshape" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_reshape"
+// cWrapperName: "casadi__Sparsity__is_reshape"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_reshape(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// call: "        bool ret = obj->is_reshape(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+int
+    casadi__Sparsity__is_reshape(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
+int
+    casadi__Sparsity__is_reshape(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        bool ret = obj->is_reshape(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_row" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_row"
+// cWrapperName: "casadi__Sparsity__is_row"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_row(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        bool ret = obj->is_row();"
+// params: []
+extern "C"
+int
+    casadi__Sparsity__is_row(std::string ** err_msg, casadi::Sparsity* obj);
+int
+    casadi__Sparsity__is_row(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        bool ret = obj->is_row();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_scalar" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_scalar"
+// cWrapperName: "casadi__Sparsity__is_scalar__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_scalar__0(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        bool ret = obj->is_scalar();"
+// params: []
+extern "C"
+int
+    casadi__Sparsity__is_scalar__0(std::string ** err_msg, casadi::Sparsity* obj);
+int
+    casadi__Sparsity__is_scalar__0(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        bool ret = obj->is_scalar();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_scalar" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_scalar"
+// cWrapperName: "casadi__Sparsity__is_scalar__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_scalar__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// call: "        bool ret = obj->is_scalar(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+int
+    casadi__Sparsity__is_scalar__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
+int
+    casadi__Sparsity__is_scalar__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        bool ret = obj->is_scalar(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_singular" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_singular"
+// cWrapperName: "casadi__Sparsity__is_singular"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_singular(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        bool ret = obj->is_singular();"
+// params: []
+extern "C"
+int
+    casadi__Sparsity__is_singular(std::string ** err_msg, casadi::Sparsity* obj);
+int
+    casadi__Sparsity__is_singular(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        bool ret = obj->is_singular();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_square" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_square"
+// cWrapperName: "casadi__Sparsity__is_square"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_square(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        bool ret = obj->is_square();"
+// params: []
+extern "C"
+int
+    casadi__Sparsity__is_square(std::string ** err_msg, casadi::Sparsity* obj);
+int
+    casadi__Sparsity__is_square(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        bool ret = obj->is_square();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_stacked" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_stacked"
+// cWrapperName: "casadi__Sparsity__is_stacked"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_stacked(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1)"
+// call: "        bool ret = obj->is_stacked(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+int
+    casadi__Sparsity__is_stacked(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1);
+int
+    casadi__Sparsity__is_stacked(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        bool ret = obj->is_stacked(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_symmetric" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_symmetric"
+// cWrapperName: "casadi__Sparsity__is_symmetric"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_symmetric(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        bool ret = obj->is_symmetric();"
+// params: []
+extern "C"
+int
+    casadi__Sparsity__is_symmetric(std::string ** err_msg, casadi::Sparsity* obj);
+int
+    casadi__Sparsity__is_symmetric(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        bool ret = obj->is_symmetric();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_transpose" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_transpose"
+// cWrapperName: "casadi__Sparsity__is_transpose"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_transpose(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// call: "        bool ret = obj->is_transpose(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+int
+    casadi__Sparsity__is_transpose(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
+int
+    casadi__Sparsity__is_transpose(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        bool ret = obj->is_transpose(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_tril" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_tril"
+// cWrapperName: "casadi__Sparsity__is_tril"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_tril(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        bool ret = obj->is_tril();"
+// params: []
+extern "C"
+int
+    casadi__Sparsity__is_tril(std::string ** err_msg, casadi::Sparsity* obj);
+int
+    casadi__Sparsity__is_tril(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        bool ret = obj->is_tril();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_triu" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_triu"
+// cWrapperName: "casadi__Sparsity__is_triu"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_triu(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        bool ret = obj->is_triu();"
+// params: []
+extern "C"
+int
+    casadi__Sparsity__is_triu(std::string ** err_msg, casadi::Sparsity* obj);
+int
+    casadi__Sparsity__is_triu(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        bool ret = obj->is_triu();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "is_vector" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::is_vector"
+// cWrapperName: "casadi__Sparsity__is_vector"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__is_vector(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        bool ret = obj->is_vector();"
+// params: []
+extern "C"
+int
+    casadi__Sparsity__is_vector(std::string ** err_msg, casadi::Sparsity* obj);
+int
+    casadi__Sparsity__is_vector(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        bool ret = obj->is_vector();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "kkt" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::kkt"
+// cWrapperName: "casadi__Sparsity__kkt__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__kkt__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::kkt(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__kkt__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1);
+casadi::Sparsity*
+    casadi__Sparsity__kkt__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::Sparsity ret = casadi::Sparsity::kkt(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "kkt" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::kkt"
+// cWrapperName: "casadi__Sparsity__kkt__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__kkt__1(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::kkt(x0_, x1_, x2_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__kkt__1(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2);
+casadi::Sparsity*
+    casadi__Sparsity__kkt__1(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        casadi::Sparsity ret = casadi::Sparsity::kkt(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "kkt" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::kkt"
+// cWrapperName: "casadi__Sparsity__kkt__2"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__kkt__2(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2, int x3)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::kkt(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__kkt__2(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2, int x3);
+casadi::Sparsity*
+    casadi__Sparsity__kkt__2(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2, int x3){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::Sparsity ret = casadi::Sparsity::kkt(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "largest_first" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::largest_first"
+// cWrapperName: "casadi__Sparsity__largest_first"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdVec CLongLong
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi__Sparsity__largest_first(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::vector< long long > ret = obj->largest_first();"
+// params: []
+extern "C"
+std::vector< long long >*
+    casadi__Sparsity__largest_first(std::string ** err_msg, casadi::Sparsity* obj);
+std::vector< long long >*
+    casadi__Sparsity__largest_first(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::vector< long long > ret = obj->largest_first();
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "ldl" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::ldl"
+// cWrapperName: "casadi__Sparsity__ldl__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__ldl__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
+// call: "        casadi::Sparsity ret = obj->ldl(x0_);"
+// params: [(Ref (StdVec CLongLong),SwigOutput True)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__ldl__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0);
+casadi::Sparsity*
+    casadi__Sparsity__ldl__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0){
+    try {
+        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
+
+        casadi::Sparsity ret = obj->ldl(x0_);
+        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "ldl" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::ldl"
+// cWrapperName: "casadi__Sparsity__ldl__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__ldl__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1)"
+// call: "        casadi::Sparsity ret = obj->ldl(x0_, x1_);"
+// params: [(Ref (StdVec CLongLong),SwigOutput True),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__ldl__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1);
+casadi::Sparsity*
+    casadi__Sparsity__ldl__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1){
+    try {
+        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::Sparsity ret = obj->ldl(x0_, x1_);
+        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "lower" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::lower"
+// cWrapperName: "casadi__Sparsity__lower"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__lower(std::string ** err_msg, long long x0)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::lower(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__lower(std::string ** err_msg, long long x0);
+casadi::Sparsity*
+    casadi__Sparsity__lower(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Sparsity ret = casadi::Sparsity::lower(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "makeDense" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::makeDense"
+// cWrapperName: "casadi__Sparsity__makeDense"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__makeDense(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
+// call: "        casadi::Sparsity ret = obj->makeDense(x0_);"
+// params: [(Ref (StdVec CLongLong),SwigOutput True)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__makeDense(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0);
+casadi::Sparsity*
+    casadi__Sparsity__makeDense(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0){
+    try {
+        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
+
+        casadi::Sparsity ret = obj->makeDense(x0_);
+        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::nnz"
+// cWrapperName: "casadi__Sparsity__nnz"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__nnz(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        long long ret = obj->nnz();"
+// params: []
+extern "C"
+long long
+    casadi__Sparsity__nnz(std::string ** err_msg, casadi::Sparsity* obj);
+long long
+    casadi__Sparsity__nnz(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        long long ret = obj->nnz();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_diag" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::nnz_diag"
+// cWrapperName: "casadi__Sparsity__nnz_diag"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__nnz_diag(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        long long ret = obj->nnz_diag();"
+// params: []
+extern "C"
+long long
+    casadi__Sparsity__nnz_diag(std::string ** err_msg, casadi::Sparsity* obj);
+long long
+    casadi__Sparsity__nnz_diag(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        long long ret = obj->nnz_diag();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_lower" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::nnz_lower"
+// cWrapperName: "casadi__Sparsity__nnz_lower__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__nnz_lower__0(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        long long ret = obj->nnz_lower();"
+// params: []
+extern "C"
+long long
+    casadi__Sparsity__nnz_lower__0(std::string ** err_msg, casadi::Sparsity* obj);
+long long
+    casadi__Sparsity__nnz_lower__0(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        long long ret = obj->nnz_lower();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_lower" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::nnz_lower"
+// cWrapperName: "casadi__Sparsity__nnz_lower__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__nnz_lower__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// call: "        long long ret = obj->nnz_lower(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+long long
+    casadi__Sparsity__nnz_lower__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
+long long
+    casadi__Sparsity__nnz_lower__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        long long ret = obj->nnz_lower(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_upper" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::nnz_upper"
+// cWrapperName: "casadi__Sparsity__nnz_upper__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__nnz_upper__0(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        long long ret = obj->nnz_upper();"
+// params: []
+extern "C"
+long long
+    casadi__Sparsity__nnz_upper__0(std::string ** err_msg, casadi::Sparsity* obj);
+long long
+    casadi__Sparsity__nnz_upper__0(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        long long ret = obj->nnz_upper();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "nnz_upper" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::nnz_upper"
+// cWrapperName: "casadi__Sparsity__nnz_upper__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__nnz_upper__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// call: "        long long ret = obj->nnz_upper(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+long long
+    casadi__Sparsity__nnz_upper__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
+long long
+    casadi__Sparsity__nnz_upper__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        long long ret = obj->nnz_upper(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nonzeros" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::nonzeros"
+// cWrapperName: "casadi__Sparsity__nonzeros__0"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__nonzeros__0(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::nonzeros(x0_, x1_, x2_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__nonzeros__0(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2);
+casadi::Sparsity*
+    casadi__Sparsity__nonzeros__0(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+
+        casadi::Sparsity ret = casadi::Sparsity::nonzeros(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "nonzeros" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::nonzeros"
+// cWrapperName: "casadi__Sparsity__nonzeros__1"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__nonzeros__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, int x3)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::nonzeros(x0_, x1_, x2_, x3_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__nonzeros__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, int x3);
+casadi::Sparsity*
+    casadi__Sparsity__nonzeros__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, int x3){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::Sparsity ret = casadi::Sparsity::nonzeros(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "numel" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::numel"
+// cWrapperName: "casadi__Sparsity__numel"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__numel(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        long long ret = obj->numel();"
+// params: []
+extern "C"
+long long
+    casadi__Sparsity__numel(std::string ** err_msg, casadi::Sparsity* obj);
+long long
+    casadi__Sparsity__numel(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        long long ret = obj->numel();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator !=" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::operator !="
+// cWrapperName: "casadi__Sparsity__operator__nequals"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__operator__nequals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// call: "        bool ret = obj->operator !=(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+int
+    casadi__Sparsity__operator__nequals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
+int
+    casadi__Sparsity__operator__nequals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        bool ret = obj->operator !=(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator *" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::operator *"
+// cWrapperName: "casadi__Sparsity__operator__mul"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__operator__mul(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// call: "        casadi::Sparsity ret = obj->operator *(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__operator__mul(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
+casadi::Sparsity*
+    casadi__Sparsity__operator__mul(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::Sparsity ret = obj->operator *(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator +" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::operator +"
+// cWrapperName: "casadi__Sparsity__operator__plus"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__operator__plus(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// call: "        casadi::Sparsity ret = obj->operator +(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__operator__plus(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
+casadi::Sparsity*
+    casadi__Sparsity__operator__plus(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::Sparsity ret = obj->operator +(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "operator ==" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::operator =="
+// cWrapperName: "casadi__Sparsity__operator__equals"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__operator__equals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// call: "        bool ret = obj->operator ==(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+int
+    casadi__Sparsity__operator__equals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
+int
+    casadi__Sparsity__operator__equals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        bool ret = obj->operator ==(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "pattern_inverse" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::pattern_inverse"
+// cWrapperName: "casadi__Sparsity__pattern_inverse"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__pattern_inverse(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        casadi::Sparsity ret = obj->pattern_inverse();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__pattern_inverse(std::string ** err_msg, casadi::Sparsity* obj);
+casadi::Sparsity*
+    casadi__Sparsity__pattern_inverse(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        casadi::Sparsity ret = obj->pattern_inverse();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "pmult" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::pmult"
+// cWrapperName: "casadi__Sparsity__pmult__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
+// call: "        casadi::Sparsity ret = obj->pmult(x0_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__pmult__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0);
+casadi::Sparsity*
+    casadi__Sparsity__pmult__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        casadi::Sparsity ret = obj->pmult(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "pmult" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::pmult"
+// cWrapperName: "casadi__Sparsity__pmult__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1)"
+// call: "        casadi::Sparsity ret = obj->pmult(x0_, x1_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__pmult__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1);
+casadi::Sparsity*
+    casadi__Sparsity__pmult__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::Sparsity ret = obj->pmult(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "pmult" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::pmult"
+// cWrapperName: "casadi__Sparsity__pmult__2"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2)"
+// call: "        casadi::Sparsity ret = obj->pmult(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__pmult__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2);
+casadi::Sparsity*
+    casadi__Sparsity__pmult__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        casadi::Sparsity ret = obj->pmult(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "pmult" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::pmult"
+// cWrapperName: "casadi__Sparsity__pmult__3"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2, int x3)"
+// call: "        casadi::Sparsity ret = obj->pmult(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__pmult__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2, int x3);
+casadi::Sparsity*
+    casadi__Sparsity__pmult__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2, int x3){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::Sparsity ret = obj->pmult(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "postfix_dim" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::postfix_dim"
+// cWrapperName: "casadi__Sparsity__postfix_dim"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Sparsity__postfix_dim(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::string ret = obj->postfix_dim();"
+// params: []
+extern "C"
+std::string*
+    casadi__Sparsity__postfix_dim(std::string ** err_msg, casadi::Sparsity* obj);
+std::string*
+    casadi__Sparsity__postfix_dim(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::string ret = obj->postfix_dim();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "qr_sparse" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::qr_sparse"
+// cWrapperName: "casadi__Sparsity__qr_sparse__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__qr_sparse__0(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3)"
+// call: "        obj->qr_sparse(x0_, x1_, x2_, x3_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "Sparsity")),SwigOutput True),(Ref (UserType (Namespace ["casadi"]) (Name "Sparsity")),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True)]
+extern "C"
+void
+    casadi__Sparsity__qr_sparse__0(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3);
+void
+    casadi__Sparsity__qr_sparse__0(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3){
+    try {
+        casadi::Sparsity x0_ = casadi::Sparsity();  // Swig output
+        casadi::Sparsity x1_ = casadi::Sparsity();  // Swig output
+        std::vector< long long > x2_ = std::vector< long long >();  // Swig output
+        std::vector< long long > x3_ = std::vector< long long >();  // Swig output
+
+        obj->qr_sparse(x0_, x1_, x2_, x3_);
+        *x0 = WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( x0_ );
+        *x1 = WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( x1_ );
+        *x2 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x2_ );
+        *x3 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x3_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "qr_sparse" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::qr_sparse"
+// cWrapperName: "casadi__Sparsity__qr_sparse__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3, int x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__qr_sparse__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3, int x4)"
+// call: "        obj->qr_sparse(x0_, x1_, x2_, x3_, x4_);"
+// params: [(Ref (UserType (Namespace ["casadi"]) (Name "Sparsity")),SwigOutput True),(Ref (UserType (Namespace ["casadi"]) (Name "Sparsity")),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True),(CBool,SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__qr_sparse__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3, int x4);
+void
+    casadi__Sparsity__qr_sparse__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3, int x4){
+    try {
+        casadi::Sparsity x0_ = casadi::Sparsity();  // Swig output
+        casadi::Sparsity x1_ = casadi::Sparsity();  // Swig output
+        std::vector< long long > x2_ = std::vector< long long >();  // Swig output
+        std::vector< long long > x3_ = std::vector< long long >();  // Swig output
+        bool x4_ = Marshaling<bool,int>::marshal(x4);
+
+        obj->qr_sparse(x0_, x1_, x2_, x3_, x4_);
+        *x0 = WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( x0_ );
+        *x1 = WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( x1_ );
+        *x2 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x2_ );
+        *x3 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x3_ );
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "removeDuplicates" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::removeDuplicates"
+// cWrapperName: "casadi__Sparsity__removeDuplicates"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__removeDuplicates(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
+// call: "        obj->removeDuplicates(x0_);"
+// params: [(Ref (StdVec CLongLong),SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__removeDuplicates(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0);
+void
+    casadi__Sparsity__removeDuplicates(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        obj->removeDuplicates(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "repr_el" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::repr_el"
+// cWrapperName: "casadi__Sparsity__repr_el"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Sparsity__repr_el(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
+// call: "        std::string ret = obj->repr_el(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Sparsity__repr_el(std::string ** err_msg, casadi::Sparsity* obj, long long x0);
+std::string*
+    casadi__Sparsity__repr_el(std::string ** err_msg, casadi::Sparsity* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = obj->repr_el(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "resize" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::resize"
+// cWrapperName: "casadi__Sparsity__resize"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__resize(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
+// call: "        obj->resize(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__resize(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1);
+void
+    casadi__Sparsity__resize(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        obj->resize(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "row" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::row"
+// cWrapperName: "casadi__Sparsity__row"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__row(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
+// call: "        long long ret = obj->row(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Sparsity__row(std::string ** err_msg, casadi::Sparsity* obj, long long x0);
+long long
+    casadi__Sparsity__row(std::string ** err_msg, casadi::Sparsity* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->row(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "rowcol" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::rowcol"
+// cWrapperName: "casadi__Sparsity__rowcol"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, long long x2, long long x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__rowcol(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, long long x2, long long x3)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::rowcol(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__rowcol(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, long long x2, long long x3);
+casadi::Sparsity*
+    casadi__Sparsity__rowcol(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, long long x2, long long x3){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        casadi::Sparsity ret = casadi::Sparsity::rowcol(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "rows" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::rows"
+// cWrapperName: "casadi__Sparsity__rows"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__rows(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        long long ret = obj->rows();"
+// params: []
+extern "C"
+long long
+    casadi__Sparsity__rows(std::string ** err_msg, casadi::Sparsity* obj);
+long long
+    casadi__Sparsity__rows(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        long long ret = obj->rows();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "rowsSequential" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::rowsSequential"
+// cWrapperName: "casadi__Sparsity__rowsSequential__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__rowsSequential__0(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        bool ret = obj->rowsSequential();"
+// params: []
+extern "C"
+int
+    casadi__Sparsity__rowsSequential__0(std::string ** err_msg, casadi::Sparsity* obj);
+int
+    casadi__Sparsity__rowsSequential__0(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        bool ret = obj->rowsSequential();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "rowsSequential" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::rowsSequential"
+// cWrapperName: "casadi__Sparsity__rowsSequential__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__Sparsity__rowsSequential__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
+// call: "        bool ret = obj->rowsSequential(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+int
+    casadi__Sparsity__rowsSequential__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
+int
+    casadi__Sparsity__rowsSequential__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        bool ret = obj->rowsSequential(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "scalar" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::scalar"
+// cWrapperName: "casadi__Sparsity__scalar__0"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__scalar__0(std::string ** err_msg)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::scalar();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__scalar__0(std::string ** err_msg);
+casadi::Sparsity*
+    casadi__Sparsity__scalar__0(std::string ** err_msg){
+    try {
+
+        casadi::Sparsity ret = casadi::Sparsity::scalar();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "scalar" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::scalar"
+// cWrapperName: "casadi__Sparsity__scalar__1"
+// protoArgs: "(std::string ** err_msg, int x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__scalar__1(std::string ** err_msg, int x0)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::scalar(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__scalar__1(std::string ** err_msg, int x0);
+casadi::Sparsity*
+    casadi__Sparsity__scalar__1(std::string ** err_msg, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        casadi::Sparsity ret = casadi::Sparsity::scalar(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "scc" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::scc"
+// cWrapperName: "casadi__Sparsity__scc"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
+// args: "(x0_, x1_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__scc(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
+// call: "        long long ret = obj->scc(x0_, x1_);"
+// params: [(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True)]
+extern "C"
+long long
+    casadi__Sparsity__scc(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1);
+long long
+    casadi__Sparsity__scc(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1){
+    try {
+        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
+        std::vector< long long > x1_ = std::vector< long long >();  // Swig output
+
+        long long ret = obj->scc(x0_, x1_);
+        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
+        *x1 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x1_ );
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "serialize" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::serialize"
+// cWrapperName: "casadi__Sparsity__serialize"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Sparsity__serialize(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::string ret = obj->serialize();"
+// params: []
+extern "C"
+std::string*
+    casadi__Sparsity__serialize(std::string ** err_msg, casadi::Sparsity* obj);
+std::string*
+    casadi__Sparsity__serialize(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::string ret = obj->serialize();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::size"
+// cWrapperName: "casadi__Sparsity__size__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
+// args: "(x0_)"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__size__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
+// call: "        long long ret = obj->size(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+long long
+    casadi__Sparsity__size__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0);
+long long
+    casadi__Sparsity__size__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        long long ret = obj->size(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::size"
+// cWrapperName: "casadi__Sparsity__size__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: StdPair CLongLong CLongLong
+// cWrapperRetType: "std::pair< long long, long long >*"
+// proto: "std::pair< long long, long long >*\n    casadi__Sparsity__size__1(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        std::pair< long long, long long > ret = obj->size();"
+// params: []
+extern "C"
+std::pair< long long, long long >*
+    casadi__Sparsity__size__1(std::string ** err_msg, casadi::Sparsity* obj);
+std::pair< long long, long long >*
+    casadi__Sparsity__size__1(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        std::pair< long long, long long > ret = obj->size();
+
+        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size1" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::size1"
+// cWrapperName: "casadi__Sparsity__size1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__size1(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        long long ret = obj->size1();"
+// params: []
+extern "C"
+long long
+    casadi__Sparsity__size1(std::string ** err_msg, casadi::Sparsity* obj);
+long long
+    casadi__Sparsity__size1(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        long long ret = obj->size1();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "size2" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::size2"
+// cWrapperName: "casadi__Sparsity__size2"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CLongLong
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi__Sparsity__size2(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        long long ret = obj->size2();"
+// params: []
+extern "C"
+long long
+    casadi__Sparsity__size2(std::string ** err_msg, casadi::Sparsity* obj);
+long long
+    casadi__Sparsity__size2(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        long long ret = obj->size2();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "spy" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::spy"
+// cWrapperName: "casadi__Sparsity__spy"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__spy(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        obj->spy();"
+// params: []
+extern "C"
+void
+    casadi__Sparsity__spy(std::string ** err_msg, casadi::Sparsity* obj);
+void
+    casadi__Sparsity__spy(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        obj->spy();
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "spy_matlab" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::spy_matlab"
+// cWrapperName: "casadi__Sparsity__spy_matlab"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__spy_matlab(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
+// call: "        obj->spy_matlab(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__spy_matlab(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0);
+void
+    casadi__Sparsity__spy_matlab(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->spy_matlab(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "star_coloring" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::star_coloring"
+// cWrapperName: "casadi__Sparsity__star_coloring__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring__0(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        casadi::Sparsity ret = obj->star_coloring();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__star_coloring__0(std::string ** err_msg, casadi::Sparsity* obj);
+casadi::Sparsity*
+    casadi__Sparsity__star_coloring__0(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        casadi::Sparsity ret = obj->star_coloring();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "star_coloring" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::star_coloring"
+// cWrapperName: "casadi__Sparsity__star_coloring__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
+// call: "        casadi::Sparsity ret = obj->star_coloring(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__star_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0);
+casadi::Sparsity*
+    casadi__Sparsity__star_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Sparsity ret = obj->star_coloring(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "star_coloring" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::star_coloring"
+// cWrapperName: "casadi__Sparsity__star_coloring__2"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
+// call: "        casadi::Sparsity ret = obj->star_coloring(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__star_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1);
+casadi::Sparsity*
+    casadi__Sparsity__star_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Sparsity ret = obj->star_coloring(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "star_coloring2" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::star_coloring2"
+// cWrapperName: "casadi__Sparsity__star_coloring2__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring2__0(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        casadi::Sparsity ret = obj->star_coloring2();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__star_coloring2__0(std::string ** err_msg, casadi::Sparsity* obj);
+casadi::Sparsity*
+    casadi__Sparsity__star_coloring2__0(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        casadi::Sparsity ret = obj->star_coloring2();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "star_coloring2" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::star_coloring2"
+// cWrapperName: "casadi__Sparsity__star_coloring2__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring2__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
+// call: "        casadi::Sparsity ret = obj->star_coloring2(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__star_coloring2__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0);
+casadi::Sparsity*
+    casadi__Sparsity__star_coloring2__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Sparsity ret = obj->star_coloring2(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "star_coloring2" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::star_coloring2"
+// cWrapperName: "casadi__Sparsity__star_coloring2__2"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring2__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
+// call: "        casadi::Sparsity ret = obj->star_coloring2(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__star_coloring2__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1);
+casadi::Sparsity*
+    casadi__Sparsity__star_coloring2__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Sparsity ret = obj->star_coloring2(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sub" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::sub"
+// cWrapperName: "casadi__Sparsity__sub__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2)"
+// call: "        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput True)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__sub__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2);
+casadi::Sparsity*
+    casadi__Sparsity__sub__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        std::vector< long long > x2_ = std::vector< long long >();  // Swig output
+
+        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        *x2 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x2_ );
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sub" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::sub"
+// cWrapperName: "casadi__Sparsity__sub__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2, int x3)"
+// call: "        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput True),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__sub__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2, int x3);
+casadi::Sparsity*
+    casadi__Sparsity__sub__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2, int x3){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        std::vector< long long > x2_ = std::vector< long long >();  // Swig output
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        *x2 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x2_ );
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sub" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::sub"
+// cWrapperName: "casadi__Sparsity__sub__2"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2)"
+// call: "        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput True)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__sub__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2);
+casadi::Sparsity*
+    casadi__Sparsity__sub__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        std::vector< long long > x2_ = std::vector< long long >();  // Swig output
+
+        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        *x2 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x2_ );
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "sub" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::sub"
+// cWrapperName: "casadi__Sparsity__sub__3"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2, int x3)"
+// call: "        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_, x3_);"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput True),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__sub__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2, int x3);
+casadi::Sparsity*
+    casadi__Sparsity__sub__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2, int x3){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        std::vector< long long > x2_ = std::vector< long long >();  // Swig output
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        *x2 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x2_ );
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "to_file" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::to_file"
+// cWrapperName: "casadi__Sparsity__to_file__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__to_file__0(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
+// call: "        obj->to_file(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__to_file__0(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0);
+void
+    casadi__Sparsity__to_file__0(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        obj->to_file(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "to_file" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::to_file"
+// cWrapperName: "casadi__Sparsity__to_file__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__Sparsity__to_file__1(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0, std::string* x1)"
+// call: "        obj->to_file(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__Sparsity__to_file__1(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0, std::string* x1);
+void
+    casadi__Sparsity__to_file__1(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        obj->to_file(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Normal method: "transpose" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::transpose"
+// cWrapperName: "casadi__Sparsity__transpose__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__transpose__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
+// call: "        casadi::Sparsity ret = obj->transpose(x0_);"
+// params: [(Ref (StdVec CLongLong),SwigOutput True)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__transpose__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0);
+casadi::Sparsity*
+    casadi__Sparsity__transpose__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0){
+    try {
+        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
+
+        casadi::Sparsity ret = obj->transpose(x0_);
+        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "transpose" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::transpose"
+// cWrapperName: "casadi__Sparsity__transpose__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__transpose__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1)"
+// call: "        casadi::Sparsity ret = obj->transpose(x0_, x1_);"
+// params: [(Ref (StdVec CLongLong),SwigOutput True),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__transpose__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1);
+casadi::Sparsity*
+    casadi__Sparsity__transpose__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1){
+    try {
+        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::Sparsity ret = obj->transpose(x0_, x1_);
+        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "triplet" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::triplet"
+// cWrapperName: "casadi__Sparsity__triplet__0"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__triplet__0(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__triplet__0(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
+casadi::Sparsity*
+    casadi__Sparsity__triplet__0(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "triplet" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::triplet"
+// cWrapperName: "casadi__Sparsity__triplet__1"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >** x4, int x5)"
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__triplet__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >** x4, int x5)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_, x4_, x5_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput True),(CBool,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__triplet__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >** x4, int x5);
+casadi::Sparsity*
+    casadi__Sparsity__triplet__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >** x4, int x5){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::vector< long long > x4_ = std::vector< long long >();  // Swig output
+        bool x5_ = Marshaling<bool,int>::marshal(x5);
+
+        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        *x4 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x4_ );
+        // x5 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "type_name" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::type_name"
+// cWrapperName: "casadi__Sparsity__type_name"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Sparsity__type_name(std::string ** err_msg)"
+// call: "        std::string ret = casadi::Sparsity::type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__Sparsity__type_name(std::string ** err_msg);
+std::string*
+    casadi__Sparsity__type_name(std::string ** err_msg){
+    try {
+
+        std::string ret = casadi::Sparsity::type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "uni_coloring" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::uni_coloring"
+// cWrapperName: "casadi__Sparsity__uni_coloring__0"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__uni_coloring__0(std::string ** err_msg, casadi::Sparsity* obj)"
+// call: "        casadi::Sparsity ret = obj->uni_coloring();"
+// params: []
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__uni_coloring__0(std::string ** err_msg, casadi::Sparsity* obj);
+casadi::Sparsity*
+    casadi__Sparsity__uni_coloring__0(std::string ** err_msg, casadi::Sparsity* obj){
+    try {
+
+        casadi::Sparsity ret = obj->uni_coloring();
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "uni_coloring" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::uni_coloring"
+// cWrapperName: "casadi__Sparsity__uni_coloring__1"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__uni_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// call: "        casadi::Sparsity ret = obj->uni_coloring(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__uni_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
+casadi::Sparsity*
+    casadi__Sparsity__uni_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::Sparsity ret = obj->uni_coloring(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "uni_coloring" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::uni_coloring"
+// cWrapperName: "casadi__Sparsity__uni_coloring__2"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__uni_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1)"
+// call: "        casadi::Sparsity ret = obj->uni_coloring(x0_, x1_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__uni_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1);
+casadi::Sparsity*
+    casadi__Sparsity__uni_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Sparsity ret = obj->uni_coloring(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "unit" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::unit"
+// cWrapperName: "casadi__Sparsity__unit"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__unit(std::string ** err_msg, long long x0, long long x1)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::unit(x0_, x1_);"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__unit(std::string ** err_msg, long long x0, long long x1);
+casadi::Sparsity*
+    casadi__Sparsity__unit(std::string ** err_msg, long long x0, long long x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Sparsity ret = casadi::Sparsity::unit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "unite" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::unite"
+// cWrapperName: "casadi__Sparsity__unite"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__unite(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
+// call: "        casadi::Sparsity ret = obj->unite(x0_);"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__unite(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
+casadi::Sparsity*
+    casadi__Sparsity__unite(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::Sparsity ret = obj->unite(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "upper" ===============
+// class: "casadi::Sparsity"
+// cppName: "casadi::Sparsity::upper"
+// cWrapperName: "casadi__Sparsity__upper"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi__Sparsity__upper(std::string ** err_msg, long long x0)"
+// call: "        casadi::Sparsity ret = casadi::Sparsity::upper(x0_);"
+// params: [(CLongLong,SwigOutput False)]
+extern "C"
+casadi::Sparsity*
+    casadi__Sparsity__upper(std::string ** err_msg, long long x0);
+casadi::Sparsity*
+    casadi__Sparsity__upper(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        casadi::Sparsity ret = casadi::Sparsity::upper(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "SparsityInterfaceCommon")===============
+// classType: UserType (Namespace ["casadi"]) (Name "SparsityInterfaceCommon")
+extern "C"
+void delete_casadi__SparsityInterfaceCommon(casadi::SparsityInterfaceCommon* obj);
+void delete_casadi__SparsityInterfaceCommon(casadi::SparsityInterfaceCommon* obj){
+    delete obj;
+}
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "Variable")===============
+// classType: UserType (Namespace ["casadi"]) (Name "Variable")
+extern "C"
+void delete_casadi__Variable(casadi::Variable* obj);
+void delete_casadi__Variable(casadi::Variable* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Variable"
+// cppName: "casadi::Variable"
+// cWrapperName: "casadi__Variable__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
+// cWrapperRetType: "casadi::Variable*"
+// proto: "casadi::Variable*\n    casadi__Variable__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::Variable*
+    casadi__Variable__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0);
+casadi::Variable*
+    casadi__Variable__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Variable"
+// cppName: "casadi::Variable"
+// cWrapperName: "casadi__Variable__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
+// args: "(x0_, x1_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
+// cWrapperRetType: "casadi::Variable*"
+// proto: "casadi::Variable*\n    casadi__Variable__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
+// call: "        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable(x0_, x1_);"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+extern "C"
+casadi::Variable*
+    casadi__Variable__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
+casadi::Variable*
+    casadi__Variable__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::Variable"
+// cppName: "casadi::Variable"
+// cWrapperName: "casadi__Variable__CONSTRUCTOR__2"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
+// cWrapperRetType: "casadi::Variable*"
+// proto: "casadi::Variable*\n    casadi__Variable__CONSTRUCTOR__2(std::string ** err_msg)"
+// call: "        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable();"
+// params: []
+extern "C"
+casadi::Variable*
+    casadi__Variable__CONSTRUCTOR__2(std::string ** err_msg);
+casadi::Variable*
+    casadi__Variable__CONSTRUCTOR__2(std::string ** err_msg){
+    try {
+
+        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::Variable"
+// cppName: "casadi::Variable::get_str"
+// cWrapperName: "casadi__Variable__get_str__0"
+// protoArgs: "(std::string ** err_msg, casadi::Variable* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Variable__get_str__0(std::string ** err_msg, casadi::Variable* obj)"
+// call: "        std::string ret = obj->get_str();"
+// params: []
+extern "C"
+std::string*
+    casadi__Variable__get_str__0(std::string ** err_msg, casadi::Variable* obj);
+std::string*
+    casadi__Variable__get_str__0(std::string ** err_msg, casadi::Variable* obj){
+    try {
+
+        std::string ret = obj->get_str();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "get_str" ===============
+// class: "casadi::Variable"
+// cppName: "casadi::Variable::get_str"
+// cWrapperName: "casadi__Variable__get_str__1"
+// protoArgs: "(std::string ** err_msg, casadi::Variable* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Variable__get_str__1(std::string ** err_msg, casadi::Variable* obj, int x0)"
+// call: "        std::string ret = obj->get_str(x0_);"
+// params: [(CBool,SwigOutput False)]
+extern "C"
+std::string*
+    casadi__Variable__get_str__1(std::string ** err_msg, casadi::Variable* obj, int x0);
+std::string*
+    casadi__Variable__get_str__1(std::string ** err_msg, casadi::Variable* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+        std::string ret = obj->get_str(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "name" ===============
+// class: "casadi::Variable"
+// cppName: "casadi::Variable::name"
+// cWrapperName: "casadi__Variable__name"
+// protoArgs: "(std::string ** err_msg, casadi::Variable* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Variable__name(std::string ** err_msg, casadi::Variable* obj)"
+// call: "        std::string ret = obj->name();"
+// params: []
+extern "C"
+std::string*
+    casadi__Variable__name(std::string ** err_msg, casadi::Variable* obj);
+std::string*
+    casadi__Variable__name(std::string ** err_msg, casadi::Variable* obj){
+    try {
+
+        std::string ret = obj->name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "type_name" ===============
+// class: "casadi::Variable"
+// cppName: "casadi::Variable::type_name"
+// cWrapperName: "casadi__Variable__type_name"
+// protoArgs: "(std::string ** err_msg, casadi::Variable* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__Variable__type_name(std::string ** err_msg, casadi::Variable* obj)"
+// call: "        std::string ret = obj->type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__Variable__type_name(std::string ** err_msg, casadi::Variable* obj);
+std::string*
+    casadi__Variable__type_name(std::string ** err_msg, casadi::Variable* obj){
+    try {
+
+        std::string ret = obj->type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "WeakRef")===============
+// classType: UserType (Namespace ["casadi"]) (Name "WeakRef")
+extern "C"
+void delete_casadi__WeakRef(casadi::WeakRef* obj);
+void delete_casadi__WeakRef(casadi::WeakRef* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::WeakRef"
+// cppName: "casadi::WeakRef"
+// cWrapperName: "casadi__WeakRef__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, casadi::SharedObject* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "WeakRef")
+// cWrapperRetType: "casadi::WeakRef*"
+// proto: "casadi::WeakRef*\n    casadi__WeakRef__CONSTRUCTOR__0(std::string ** err_msg, casadi::SharedObject* x0)"
+// call: "        casadi::WeakRef* ret = (casadi::WeakRef*)new casadi::WeakRef(x0_);"
+// params: [(UserType (Namespace ["casadi"]) (Name "SharedObject"),SwigOutput False)]
+extern "C"
+casadi::WeakRef*
+    casadi__WeakRef__CONSTRUCTOR__0(std::string ** err_msg, casadi::SharedObject* x0);
+casadi::WeakRef*
+    casadi__WeakRef__CONSTRUCTOR__0(std::string ** err_msg, casadi::SharedObject* x0){
+    try {
+        casadi::SharedObject x0_ = Marshaling<casadi::SharedObject,casadi::SharedObject*>::marshal(x0);
+
+        casadi::WeakRef* ret = (casadi::WeakRef*)new casadi::WeakRef(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::WeakRef"
+// cppName: "casadi::WeakRef"
+// cWrapperName: "casadi__WeakRef__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "WeakRef")
+// cWrapperRetType: "casadi::WeakRef*"
+// proto: "casadi::WeakRef*\n    casadi__WeakRef__CONSTRUCTOR__1(std::string ** err_msg)"
+// call: "        casadi::WeakRef* ret = (casadi::WeakRef*)new casadi::WeakRef();"
+// params: []
+extern "C"
+casadi::WeakRef*
+    casadi__WeakRef__CONSTRUCTOR__1(std::string ** err_msg);
+casadi::WeakRef*
+    casadi__WeakRef__CONSTRUCTOR__1(std::string ** err_msg){
+    try {
+
+        casadi::WeakRef* ret = (casadi::WeakRef*)new casadi::WeakRef();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::WeakRef"
+// cppName: "casadi::WeakRef"
+// cWrapperName: "casadi__WeakRef__CONSTRUCTOR__2"
+// protoArgs: "(std::string ** err_msg, int x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "WeakRef")
+// cWrapperRetType: "casadi::WeakRef*"
+// proto: "casadi::WeakRef*\n    casadi__WeakRef__CONSTRUCTOR__2(std::string ** err_msg, int x0)"
+// call: "        casadi::WeakRef* ret = (casadi::WeakRef*)new casadi::WeakRef(x0_);"
+// params: [(CInt,SwigOutput False)]
+extern "C"
+casadi::WeakRef*
+    casadi__WeakRef__CONSTRUCTOR__2(std::string ** err_msg, int x0);
+casadi::WeakRef*
+    casadi__WeakRef__CONSTRUCTOR__2(std::string ** err_msg, int x0){
+    try {
+        int x0_ = Marshaling<int,int>::marshal(x0);
+
+        casadi::WeakRef* ret = (casadi::WeakRef*)new casadi::WeakRef(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "alive" ===============
+// class: "casadi::WeakRef"
+// cppName: "casadi::WeakRef::alive"
+// cWrapperName: "casadi__WeakRef__alive"
+// protoArgs: "(std::string ** err_msg, casadi::WeakRef* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int\n    casadi__WeakRef__alive(std::string ** err_msg, casadi::WeakRef* obj)"
+// call: "        bool ret = obj->alive();"
+// params: []
+extern "C"
+int
+    casadi__WeakRef__alive(std::string ** err_msg, casadi::WeakRef* obj);
+int
+    casadi__WeakRef__alive(std::string ** err_msg, casadi::WeakRef* obj){
+    try {
+
+        bool ret = obj->alive();
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Normal method: "shared" ===============
+// class: "casadi::WeakRef"
+// cppName: "casadi::WeakRef::shared"
+// cWrapperName: "casadi__WeakRef__shared"
+// protoArgs: "(std::string ** err_msg, casadi::WeakRef* obj)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "SharedObject")
+// cWrapperRetType: "casadi::SharedObject*"
+// proto: "casadi::SharedObject*\n    casadi__WeakRef__shared(std::string ** err_msg, casadi::WeakRef* obj)"
+// call: "        casadi::SharedObject ret = obj->shared();"
+// params: []
+extern "C"
+casadi::SharedObject*
+    casadi__WeakRef__shared(std::string ** err_msg, casadi::WeakRef* obj);
+casadi::SharedObject*
+    casadi__WeakRef__shared(std::string ** err_msg, casadi::WeakRef* obj){
+    try {
+
+        casadi::SharedObject ret = obj->shared();
+
+        return WrapReturn< casadi::SharedObject*, casadi::SharedObject >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+
+// ================== delete UserType (Namespace ["casadi"]) (Name "XmlFile")===============
+// classType: UserType (Namespace ["casadi"]) (Name "XmlFile")
+extern "C"
+void delete_casadi__XmlFile(casadi::XmlFile* obj);
+void delete_casadi__XmlFile(casadi::XmlFile* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::XmlFile"
+// cppName: "casadi::XmlFile"
+// cWrapperName: "casadi__XmlFile__CONSTRUCTOR__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: UserType (Namespace ["casadi"]) (Name "XmlFile")
+// cWrapperRetType: "casadi::XmlFile*"
+// proto: "casadi::XmlFile*\n    casadi__XmlFile__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::XmlFile* ret = (casadi::XmlFile*)new casadi::XmlFile(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+casadi::XmlFile*
+    casadi__XmlFile__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0);
+casadi::XmlFile*
+    casadi__XmlFile__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::XmlFile* ret = (casadi::XmlFile*)new casadi::XmlFile(x0_);
+        // x0 is not a swig output
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Constructor method: "CONSTRUCTOR" ===============
+// class: "casadi::XmlFile"
+// cppName: "casadi::XmlFile"
+// cWrapperName: "casadi__XmlFile__CONSTRUCTOR__1"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: UserType (Namespace ["casadi"]) (Name "XmlFile")
+// cWrapperRetType: "casadi::XmlFile*"
+// proto: "casadi::XmlFile*\n    casadi__XmlFile__CONSTRUCTOR__1(std::string ** err_msg)"
+// call: "        casadi::XmlFile* ret = (casadi::XmlFile*)new casadi::XmlFile();"
+// params: []
+extern "C"
+casadi::XmlFile*
+    casadi__XmlFile__CONSTRUCTOR__1(std::string ** err_msg);
+casadi::XmlFile*
+    casadi__XmlFile__CONSTRUCTOR__1(std::string ** err_msg){
+    try {
+
+        casadi::XmlFile* ret = (casadi::XmlFile*)new casadi::XmlFile();
+
+        return ret;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "doc" ===============
+// class: "casadi::XmlFile"
+// cppName: "casadi::XmlFile::doc"
+// cWrapperName: "casadi__XmlFile__doc"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__XmlFile__doc(std::string ** err_msg, std::string* x0)"
+// call: "        std::string ret = casadi::XmlFile::doc(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+std::string*
+    casadi__XmlFile__doc(std::string ** err_msg, std::string* x0);
+std::string*
+    casadi__XmlFile__doc(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = casadi::XmlFile::doc(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== Static method: "load_plugin" ===============
+// class: "casadi::XmlFile"
+// cppName: "casadi::XmlFile::load_plugin"
+// cWrapperName: "casadi__XmlFile__load_plugin"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void\n    casadi__XmlFile__load_plugin(std::string ** err_msg, std::string* x0)"
+// call: "        casadi::XmlFile::load_plugin(x0_);"
+// params: [(Ref (Const StdString),SwigOutput False)]
+extern "C"
+void
+    casadi__XmlFile__load_plugin(std::string ** err_msg, std::string* x0);
+void
+    casadi__XmlFile__load_plugin(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::XmlFile::load_plugin(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== Static method: "type_name" ===============
+// class: "casadi::XmlFile"
+// cppName: "casadi::XmlFile::type_name"
+// cWrapperName: "casadi__XmlFile__type_name"
+// protoArgs: "(std::string ** err_msg)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi__XmlFile__type_name(std::string ** err_msg)"
+// call: "        std::string ret = casadi::XmlFile::type_name();"
+// params: []
+extern "C"
+std::string*
+    casadi__XmlFile__type_name(std::string ** err_msg);
+std::string*
+    casadi__XmlFile__type_name(std::string ** err_msg){
+    try {
+
+        std::string ret = casadi::XmlFile::type_name();
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
     }
 }
 
diff --git a/cbits/autogen/casadi_wrap_functions.cpp b/cbits/autogen/casadi_wrap_functions.cpp
--- a/cbits/autogen/casadi_wrap_functions.cpp
+++ b/cbits/autogen/casadi_wrap_functions.cpp
@@ -2,29264 +2,34460 @@
 #include <casadi/core/casadi_interrupt.hpp>
 #include <cmath>
 #include <stdexcept>
-#include "../marshal.hpp"
-
-// ================== function "casadi::casadi_abs" ===============
-// cppName: "casadi::casadi_abs"
-// cWrapperName: "casadi_abs__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_abs__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_abs"
-// call: "        double ret = abs(x0_);"
-extern "C"
-double
-    casadi_abs__0(std::string ** err_msg, double* x0);
-double
-    casadi_abs__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = abs(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_abs" ===============
-// cppName: "casadi::casadi_abs"
-// cWrapperName: "casadi_abs__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_abs__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_abs"
-// call: "        casadi::SX ret = abs(x0_);"
-extern "C"
-casadi::SX*
-    casadi_abs__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_abs__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = abs(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_abs" ===============
-// cppName: "casadi::casadi_abs"
-// cWrapperName: "casadi_abs__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_abs__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_abs"
-// call: "        casadi::DM ret = abs(x0_);"
-extern "C"
-casadi::DM*
-    casadi_abs__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_abs__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = abs(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_abs" ===============
-// cppName: "casadi::casadi_abs"
-// cWrapperName: "casadi_abs__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_abs__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_abs"
-// call: "        casadi::IM ret = abs(x0_);"
-extern "C"
-casadi::IM*
-    casadi_abs__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_abs__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = abs(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_abs" ===============
-// cppName: "casadi::casadi_abs"
-// cWrapperName: "casadi_abs__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_abs__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_abs"
-// call: "        casadi::MX ret = abs(x0_);"
-extern "C"
-casadi::MX*
-    casadi_abs__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_abs__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = abs(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_acos" ===============
-// cppName: "casadi::casadi_acos"
-// cWrapperName: "casadi_acos__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_acos__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_acos"
-// call: "        double ret = acos(x0_);"
-extern "C"
-double
-    casadi_acos__0(std::string ** err_msg, double* x0);
-double
-    casadi_acos__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = acos(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_acos" ===============
-// cppName: "casadi::casadi_acos"
-// cWrapperName: "casadi_acos__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_acos__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_acos"
-// call: "        casadi::SX ret = acos(x0_);"
-extern "C"
-casadi::SX*
-    casadi_acos__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_acos__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = acos(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_acos" ===============
-// cppName: "casadi::casadi_acos"
-// cWrapperName: "casadi_acos__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_acos__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_acos"
-// call: "        casadi::DM ret = acos(x0_);"
-extern "C"
-casadi::DM*
-    casadi_acos__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_acos__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = acos(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_acos" ===============
-// cppName: "casadi::casadi_acos"
-// cWrapperName: "casadi_acos__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_acos__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_acos"
-// call: "        casadi::IM ret = acos(x0_);"
-extern "C"
-casadi::IM*
-    casadi_acos__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_acos__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = acos(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_acos" ===============
-// cppName: "casadi::casadi_acos"
-// cWrapperName: "casadi_acos__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_acos__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_acos"
-// call: "        casadi::MX ret = acos(x0_);"
-extern "C"
-casadi::MX*
-    casadi_acos__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_acos__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = acos(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_acosh" ===============
-// cppName: "casadi::casadi_acosh"
-// cWrapperName: "casadi_acosh__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_acosh__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_acosh"
-// call: "        double ret = acosh(x0_);"
-extern "C"
-double
-    casadi_acosh__0(std::string ** err_msg, double* x0);
-double
-    casadi_acosh__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = acosh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_acosh" ===============
-// cppName: "casadi::casadi_acosh"
-// cWrapperName: "casadi_acosh__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_acosh__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_acosh"
-// call: "        casadi::SX ret = acosh(x0_);"
-extern "C"
-casadi::SX*
-    casadi_acosh__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_acosh__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = acosh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_acosh" ===============
-// cppName: "casadi::casadi_acosh"
-// cWrapperName: "casadi_acosh__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_acosh__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_acosh"
-// call: "        casadi::DM ret = acosh(x0_);"
-extern "C"
-casadi::DM*
-    casadi_acosh__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_acosh__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = acosh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_acosh" ===============
-// cppName: "casadi::casadi_acosh"
-// cWrapperName: "casadi_acosh__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_acosh__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_acosh"
-// call: "        casadi::IM ret = acosh(x0_);"
-extern "C"
-casadi::IM*
-    casadi_acosh__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_acosh__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = acosh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_acosh" ===============
-// cppName: "casadi::casadi_acosh"
-// cWrapperName: "casadi_acosh__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_acosh__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_acosh"
-// call: "        casadi::MX ret = acosh(x0_);"
-extern "C"
-casadi::MX*
-    casadi_acosh__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_acosh__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = acosh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_adj" ===============
-// cppName: "casadi::casadi_adj"
-// cWrapperName: "casadi_adj__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_adj__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_adj"
-// call: "        casadi::SX ret = adj(x0_);"
-extern "C"
-casadi::SX*
-    casadi_adj__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_adj__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = adj(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_adj" ===============
-// cppName: "casadi::casadi_adj"
-// cWrapperName: "casadi_adj__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_adj__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_adj"
-// call: "        casadi::DM ret = adj(x0_);"
-extern "C"
-casadi::DM*
-    casadi_adj__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_adj__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = adj(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_adj" ===============
-// cppName: "casadi::casadi_adj"
-// cWrapperName: "casadi_adj__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_adj__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_adj"
-// call: "        casadi::IM ret = adj(x0_);"
-extern "C"
-casadi::IM*
-    casadi_adj__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_adj__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = adj(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_all" ===============
-// cppName: "casadi::casadi_all"
-// cWrapperName: "casadi_all__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_all__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_all"
-// call: "        casadi::SX ret = all(x0_);"
-extern "C"
-casadi::SX*
-    casadi_all__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_all__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = all(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_all" ===============
-// cppName: "casadi::casadi_all"
-// cWrapperName: "casadi_all__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_all__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_all"
-// call: "        casadi::DM ret = all(x0_);"
-extern "C"
-casadi::DM*
-    casadi_all__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_all__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = all(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_all" ===============
-// cppName: "casadi::casadi_all"
-// cWrapperName: "casadi_all__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_all__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_all"
-// call: "        casadi::IM ret = all(x0_);"
-extern "C"
-casadi::IM*
-    casadi_all__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_all__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = all(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_and" ===============
-// cppName: "casadi::casadi_and"
-// cWrapperName: "casadi_and__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_and__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_and"
-// call: "        double ret = x0_ && x1_;"
-extern "C"
-double
-    casadi_and__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_and__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = x0_ && x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_and" ===============
-// cppName: "casadi::casadi_and"
-// cWrapperName: "casadi_and__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_and__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_and"
-// call: "        casadi::SX ret = x0_ && x1_;"
-extern "C"
-casadi::SX*
-    casadi_and__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_and__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = x0_ && x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_and" ===============
-// cppName: "casadi::casadi_and"
-// cWrapperName: "casadi_and__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_and__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_and"
-// call: "        casadi::DM ret = x0_ && x1_;"
-extern "C"
-casadi::DM*
-    casadi_and__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_and__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = x0_ && x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_and" ===============
-// cppName: "casadi::casadi_and"
-// cWrapperName: "casadi_and__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_and__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_and"
-// call: "        casadi::IM ret = x0_ && x1_;"
-extern "C"
-casadi::IM*
-    casadi_and__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_and__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = x0_ && x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_and" ===============
-// cppName: "casadi::casadi_and"
-// cWrapperName: "casadi_and__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_and__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_and"
-// call: "        casadi::MX ret = x0_ && x1_;"
-extern "C"
-casadi::MX*
-    casadi_and__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_and__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = x0_ && x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_any" ===============
-// cppName: "casadi::casadi_any"
-// cWrapperName: "casadi_any__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_any__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_any"
-// call: "        casadi::SX ret = any(x0_);"
-extern "C"
-casadi::SX*
-    casadi_any__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_any__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = any(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_any" ===============
-// cppName: "casadi::casadi_any"
-// cWrapperName: "casadi_any__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_any__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_any"
-// call: "        casadi::DM ret = any(x0_);"
-extern "C"
-casadi::DM*
-    casadi_any__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_any__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = any(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_any" ===============
-// cppName: "casadi::casadi_any"
-// cWrapperName: "casadi_any__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_any__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_any"
-// call: "        casadi::IM ret = any(x0_);"
-extern "C"
-casadi::IM*
-    casadi_any__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_any__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = any(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_asin" ===============
-// cppName: "casadi::casadi_asin"
-// cWrapperName: "casadi_asin__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_asin__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_asin"
-// call: "        double ret = asin(x0_);"
-extern "C"
-double
-    casadi_asin__0(std::string ** err_msg, double* x0);
-double
-    casadi_asin__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = asin(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_asin" ===============
-// cppName: "casadi::casadi_asin"
-// cWrapperName: "casadi_asin__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_asin__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_asin"
-// call: "        casadi::SX ret = asin(x0_);"
-extern "C"
-casadi::SX*
-    casadi_asin__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_asin__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = asin(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_asin" ===============
-// cppName: "casadi::casadi_asin"
-// cWrapperName: "casadi_asin__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_asin__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_asin"
-// call: "        casadi::DM ret = asin(x0_);"
-extern "C"
-casadi::DM*
-    casadi_asin__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_asin__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = asin(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_asin" ===============
-// cppName: "casadi::casadi_asin"
-// cWrapperName: "casadi_asin__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_asin__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_asin"
-// call: "        casadi::IM ret = asin(x0_);"
-extern "C"
-casadi::IM*
-    casadi_asin__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_asin__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = asin(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_asin" ===============
-// cppName: "casadi::casadi_asin"
-// cWrapperName: "casadi_asin__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_asin__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_asin"
-// call: "        casadi::MX ret = asin(x0_);"
-extern "C"
-casadi::MX*
-    casadi_asin__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_asin__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = asin(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_asinh" ===============
-// cppName: "casadi::casadi_asinh"
-// cWrapperName: "casadi_asinh__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_asinh__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_asinh"
-// call: "        double ret = asinh(x0_);"
-extern "C"
-double
-    casadi_asinh__0(std::string ** err_msg, double* x0);
-double
-    casadi_asinh__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = asinh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_asinh" ===============
-// cppName: "casadi::casadi_asinh"
-// cWrapperName: "casadi_asinh__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_asinh__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_asinh"
-// call: "        casadi::SX ret = asinh(x0_);"
-extern "C"
-casadi::SX*
-    casadi_asinh__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_asinh__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = asinh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_asinh" ===============
-// cppName: "casadi::casadi_asinh"
-// cWrapperName: "casadi_asinh__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_asinh__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_asinh"
-// call: "        casadi::DM ret = asinh(x0_);"
-extern "C"
-casadi::DM*
-    casadi_asinh__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_asinh__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = asinh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_asinh" ===============
-// cppName: "casadi::casadi_asinh"
-// cWrapperName: "casadi_asinh__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_asinh__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_asinh"
-// call: "        casadi::IM ret = asinh(x0_);"
-extern "C"
-casadi::IM*
-    casadi_asinh__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_asinh__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = asinh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_asinh" ===============
-// cppName: "casadi::casadi_asinh"
-// cWrapperName: "casadi_asinh__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_asinh__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_asinh"
-// call: "        casadi::MX ret = asinh(x0_);"
-extern "C"
-casadi::MX*
-    casadi_asinh__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_asinh__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = asinh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atan" ===============
-// cppName: "casadi::casadi_atan"
-// cWrapperName: "casadi_atan__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_atan__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_atan"
-// call: "        double ret = atan(x0_);"
-extern "C"
-double
-    casadi_atan__0(std::string ** err_msg, double* x0);
-double
-    casadi_atan__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = atan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atan" ===============
-// cppName: "casadi::casadi_atan"
-// cWrapperName: "casadi_atan__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_atan__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_atan"
-// call: "        casadi::SX ret = atan(x0_);"
-extern "C"
-casadi::SX*
-    casadi_atan__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_atan__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = atan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atan" ===============
-// cppName: "casadi::casadi_atan"
-// cWrapperName: "casadi_atan__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_atan__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_atan"
-// call: "        casadi::DM ret = atan(x0_);"
-extern "C"
-casadi::DM*
-    casadi_atan__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_atan__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = atan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atan" ===============
-// cppName: "casadi::casadi_atan"
-// cWrapperName: "casadi_atan__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_atan__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_atan"
-// call: "        casadi::IM ret = atan(x0_);"
-extern "C"
-casadi::IM*
-    casadi_atan__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_atan__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = atan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atan" ===============
-// cppName: "casadi::casadi_atan"
-// cWrapperName: "casadi_atan__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_atan__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_atan"
-// call: "        casadi::MX ret = atan(x0_);"
-extern "C"
-casadi::MX*
-    casadi_atan__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_atan__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = atan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atan2" ===============
-// cppName: "casadi::casadi_atan2"
-// cWrapperName: "casadi_atan2__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_atan2__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_atan2"
-// call: "        double ret = atan2(x0_, x1_);"
-extern "C"
-double
-    casadi_atan2__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_atan2__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = atan2(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atan2" ===============
-// cppName: "casadi::casadi_atan2"
-// cWrapperName: "casadi_atan2__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_atan2__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_atan2"
-// call: "        casadi::SX ret = atan2(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_atan2__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_atan2__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = atan2(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atan2" ===============
-// cppName: "casadi::casadi_atan2"
-// cWrapperName: "casadi_atan2__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_atan2__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_atan2"
-// call: "        casadi::DM ret = atan2(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_atan2__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_atan2__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = atan2(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atan2" ===============
-// cppName: "casadi::casadi_atan2"
-// cWrapperName: "casadi_atan2__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_atan2__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_atan2"
-// call: "        casadi::IM ret = atan2(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_atan2__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_atan2__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = atan2(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atan2" ===============
-// cppName: "casadi::casadi_atan2"
-// cWrapperName: "casadi_atan2__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_atan2__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_atan2"
-// call: "        casadi::MX ret = atan2(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_atan2__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_atan2__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = atan2(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atanh" ===============
-// cppName: "casadi::casadi_atanh"
-// cWrapperName: "casadi_atanh__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_atanh__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_atanh"
-// call: "        double ret = atanh(x0_);"
-extern "C"
-double
-    casadi_atanh__0(std::string ** err_msg, double* x0);
-double
-    casadi_atanh__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = atanh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atanh" ===============
-// cppName: "casadi::casadi_atanh"
-// cWrapperName: "casadi_atanh__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_atanh__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_atanh"
-// call: "        casadi::SX ret = atanh(x0_);"
-extern "C"
-casadi::SX*
-    casadi_atanh__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_atanh__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = atanh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atanh" ===============
-// cppName: "casadi::casadi_atanh"
-// cWrapperName: "casadi_atanh__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_atanh__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_atanh"
-// call: "        casadi::DM ret = atanh(x0_);"
-extern "C"
-casadi::DM*
-    casadi_atanh__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_atanh__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = atanh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atanh" ===============
-// cppName: "casadi::casadi_atanh"
-// cWrapperName: "casadi_atanh__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_atanh__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_atanh"
-// call: "        casadi::IM ret = atanh(x0_);"
-extern "C"
-casadi::IM*
-    casadi_atanh__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_atanh__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = atanh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_atanh" ===============
-// cppName: "casadi::casadi_atanh"
-// cWrapperName: "casadi_atanh__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_atanh__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_atanh"
-// call: "        casadi::MX ret = atanh(x0_);"
-extern "C"
-casadi::MX*
-    casadi_atanh__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_atanh__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = atanh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_bilin" ===============
-// cppName: "casadi::casadi_bilin"
-// cWrapperName: "casadi_bilin__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_bilin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// friendWrap: True
-// fName: "casadi_bilin"
-// call: "        casadi::SX ret = bilin(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_bilin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
-casadi::SX*
-    casadi_bilin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = bilin(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_bilin" ===============
-// cppName: "casadi::casadi_bilin"
-// cWrapperName: "casadi_bilin__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_bilin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// friendWrap: True
-// fName: "casadi_bilin"
-// call: "        casadi::DM ret = bilin(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_bilin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
-casadi::DM*
-    casadi_bilin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = bilin(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_bilin" ===============
-// cppName: "casadi::casadi_bilin"
-// cWrapperName: "casadi_bilin__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_bilin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// friendWrap: True
-// fName: "casadi_bilin"
-// call: "        casadi::IM ret = bilin(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_bilin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
-casadi::IM*
-    casadi_bilin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = bilin(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_bilin" ===============
-// cppName: "casadi::casadi_bilin"
-// cWrapperName: "casadi_bilin__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_bilin__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
-// friendWrap: True
-// fName: "casadi_bilin"
-// call: "        casadi::MX ret = bilin(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_bilin__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
-casadi::MX*
-    casadi_bilin__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
-
-        casadi::MX ret = bilin(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blockcat" ===============
-// cppName: "casadi::casadi_blockcat"
-// cWrapperName: "casadi_blockcat__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_blockcat__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
-// friendWrap: True
-// fName: "casadi_blockcat"
-// call: "        casadi::SX ret = blockcat(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::SX*
-    casadi_blockcat__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3);
-casadi::SX*
-    casadi_blockcat__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
-
-        casadi::SX ret = blockcat(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blockcat" ===============
-// cppName: "casadi::casadi_blockcat"
-// cWrapperName: "casadi_blockcat__1"
-// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::SX* >* >* x0)"
-// params: [(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_blockcat__1(std::string ** err_msg, std::vector< std::vector< casadi::SX* >* >* x0)"
-// friendWrap: True
-// fName: "casadi_blockcat"
-// call: "        casadi::SX ret = blockcat(x0_);"
-extern "C"
-casadi::SX*
-    casadi_blockcat__1(std::string ** err_msg, std::vector< std::vector< casadi::SX* >* >* x0);
-casadi::SX*
-    casadi_blockcat__1(std::string ** err_msg, std::vector< std::vector< casadi::SX* >* >* x0){
-    try {
-        std::vector< std::vector< casadi::SX > > x0_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x0);
-
-        casadi::SX ret = blockcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blockcat" ===============
-// cppName: "casadi::casadi_blockcat"
-// cWrapperName: "casadi_blockcat__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_blockcat__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
-// friendWrap: True
-// fName: "casadi_blockcat"
-// call: "        casadi::DM ret = blockcat(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::DM*
-    casadi_blockcat__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3);
-casadi::DM*
-    casadi_blockcat__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
-
-        casadi::DM ret = blockcat(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blockcat" ===============
-// cppName: "casadi::casadi_blockcat"
-// cWrapperName: "casadi_blockcat__3"
-// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::DM* >* >* x0)"
-// params: [(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_blockcat__3(std::string ** err_msg, std::vector< std::vector< casadi::DM* >* >* x0)"
-// friendWrap: True
-// fName: "casadi_blockcat"
-// call: "        casadi::DM ret = blockcat(x0_);"
-extern "C"
-casadi::DM*
-    casadi_blockcat__3(std::string ** err_msg, std::vector< std::vector< casadi::DM* >* >* x0);
-casadi::DM*
-    casadi_blockcat__3(std::string ** err_msg, std::vector< std::vector< casadi::DM* >* >* x0){
-    try {
-        std::vector< std::vector< casadi::DM > > x0_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x0);
-
-        casadi::DM ret = blockcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blockcat" ===============
-// cppName: "casadi::casadi_blockcat"
-// cWrapperName: "casadi_blockcat__4"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_blockcat__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
-// friendWrap: True
-// fName: "casadi_blockcat"
-// call: "        casadi::IM ret = blockcat(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::IM*
-    casadi_blockcat__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3);
-casadi::IM*
-    casadi_blockcat__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        casadi::IM ret = blockcat(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blockcat" ===============
-// cppName: "casadi::casadi_blockcat"
-// cWrapperName: "casadi_blockcat__5"
-// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::IM* >* >* x0)"
-// params: [(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_blockcat__5(std::string ** err_msg, std::vector< std::vector< casadi::IM* >* >* x0)"
-// friendWrap: True
-// fName: "casadi_blockcat"
-// call: "        casadi::IM ret = blockcat(x0_);"
-extern "C"
-casadi::IM*
-    casadi_blockcat__5(std::string ** err_msg, std::vector< std::vector< casadi::IM* >* >* x0);
-casadi::IM*
-    casadi_blockcat__5(std::string ** err_msg, std::vector< std::vector< casadi::IM* >* >* x0){
-    try {
-        std::vector< std::vector< casadi::IM > > x0_ = Marshaling<std::vector< std::vector< casadi::IM > >,std::vector< std::vector< casadi::IM* >* >*>::marshal(x0);
-
-        casadi::IM ret = blockcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blockcat" ===============
-// cppName: "casadi::casadi_blockcat"
-// cWrapperName: "casadi_blockcat__6"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_blockcat__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
-// friendWrap: True
-// fName: "casadi_blockcat"
-// call: "        casadi::MX ret = blockcat(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::MX*
-    casadi_blockcat__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3);
-casadi::MX*
-    casadi_blockcat__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
-        casadi::MX& x3_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x3);
-
-        casadi::MX ret = blockcat(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blockcat" ===============
-// cppName: "casadi::casadi_blockcat"
-// cWrapperName: "casadi_blockcat__7"
-// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::MX* >* >* x0)"
-// params: [(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_blockcat__7(std::string ** err_msg, std::vector< std::vector< casadi::MX* >* >* x0)"
-// friendWrap: True
-// fName: "casadi_blockcat"
-// call: "        casadi::MX ret = blockcat(x0_);"
-extern "C"
-casadi::MX*
-    casadi_blockcat__7(std::string ** err_msg, std::vector< std::vector< casadi::MX* >* >* x0);
-casadi::MX*
-    casadi_blockcat__7(std::string ** err_msg, std::vector< std::vector< casadi::MX* >* >* x0){
-    try {
-        std::vector< std::vector< casadi::MX > > x0_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x0);
-
-        casadi::MX ret = blockcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blockcat" ===============
-// cppName: "casadi::casadi_blockcat"
-// cWrapperName: "casadi_blockcat__8"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2, casadi::Sparsity* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_blockcat__8(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2, casadi::Sparsity* x3)"
-// friendWrap: True
-// fName: "casadi_blockcat"
-// call: "        casadi::Sparsity ret = blockcat(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Sparsity*
-    casadi_blockcat__8(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2, casadi::Sparsity* x3);
-casadi::Sparsity*
-    casadi_blockcat__8(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2, casadi::Sparsity* x3){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
-        casadi::Sparsity& x3_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x3);
-
-        casadi::Sparsity ret = blockcat(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blockcat" ===============
-// cppName: "casadi::casadi_blockcat"
-// cWrapperName: "casadi_blockcat__9"
-// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0)"
-// params: [(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_blockcat__9(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0)"
-// friendWrap: True
-// fName: "casadi_blockcat"
-// call: "        casadi::Sparsity ret = blockcat(x0_);"
-extern "C"
-casadi::Sparsity*
-    casadi_blockcat__9(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0);
-casadi::Sparsity*
-    casadi_blockcat__9(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0){
-    try {
-        std::vector< std::vector< casadi::Sparsity > > x0_ = Marshaling<std::vector< std::vector< casadi::Sparsity > >,std::vector< std::vector< casadi::Sparsity* >* >*>::marshal(x0);
-
-        casadi::Sparsity ret = blockcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
-// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_blocksplit__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_);"
-extern "C"
-std::vector< std::vector< casadi::SX* >* >*
-    casadi_blocksplit__0(std::string ** err_msg, casadi::SX* x0);
-std::vector< std::vector< casadi::SX* >* >*
-    casadi_blocksplit__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
-// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_blocksplit__1(std::string ** err_msg, casadi::SX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_);"
-extern "C"
-std::vector< std::vector< casadi::SX* >* >*
-    casadi_blocksplit__1(std::string ** err_msg, casadi::SX* x0, int x1);
-std::vector< std::vector< casadi::SX* >* >*
-    casadi_blocksplit__1(std::string ** err_msg, casadi::SX* x0, int x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
-// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_blocksplit__2(std::string ** err_msg, casadi::SX* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< std::vector< casadi::SX* >* >*
-    casadi_blocksplit__2(std::string ** err_msg, casadi::SX* x0, int x1, int x2);
-std::vector< std::vector< casadi::SX* >* >*
-    casadi_blocksplit__2(std::string ** err_msg, casadi::SX* x0, int x1, int x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__3"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
-// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_blocksplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< std::vector< casadi::SX* >* >*
-    casadi_blocksplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1, std::vector< int >* x2);
-std::vector< std::vector< casadi::SX* >* >*
-    casadi_blocksplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1, std::vector< int >* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-
-        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__4"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
-// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_blocksplit__4(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_);"
-extern "C"
-std::vector< std::vector< casadi::DM* >* >*
-    casadi_blocksplit__4(std::string ** err_msg, casadi::DM* x0);
-std::vector< std::vector< casadi::DM* >* >*
-    casadi_blocksplit__4(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__5"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
-// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_blocksplit__5(std::string ** err_msg, casadi::DM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_);"
-extern "C"
-std::vector< std::vector< casadi::DM* >* >*
-    casadi_blocksplit__5(std::string ** err_msg, casadi::DM* x0, int x1);
-std::vector< std::vector< casadi::DM* >* >*
-    casadi_blocksplit__5(std::string ** err_msg, casadi::DM* x0, int x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__6"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
-// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_blocksplit__6(std::string ** err_msg, casadi::DM* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< std::vector< casadi::DM* >* >*
-    casadi_blocksplit__6(std::string ** err_msg, casadi::DM* x0, int x1, int x2);
-std::vector< std::vector< casadi::DM* >* >*
-    casadi_blocksplit__6(std::string ** err_msg, casadi::DM* x0, int x1, int x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__7"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
-// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_blocksplit__7(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< std::vector< casadi::DM* >* >*
-    casadi_blocksplit__7(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1, std::vector< int >* x2);
-std::vector< std::vector< casadi::DM* >* >*
-    casadi_blocksplit__7(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1, std::vector< int >* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-
-        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__8"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
-// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_blocksplit__8(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_);"
-extern "C"
-std::vector< std::vector< casadi::IM* >* >*
-    casadi_blocksplit__8(std::string ** err_msg, casadi::IM* x0);
-std::vector< std::vector< casadi::IM* >* >*
-    casadi_blocksplit__8(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__9"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
-// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_blocksplit__9(std::string ** err_msg, casadi::IM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_);"
-extern "C"
-std::vector< std::vector< casadi::IM* >* >*
-    casadi_blocksplit__9(std::string ** err_msg, casadi::IM* x0, int x1);
-std::vector< std::vector< casadi::IM* >* >*
-    casadi_blocksplit__9(std::string ** err_msg, casadi::IM* x0, int x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__10"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
-// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_blocksplit__10(std::string ** err_msg, casadi::IM* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< std::vector< casadi::IM* >* >*
-    casadi_blocksplit__10(std::string ** err_msg, casadi::IM* x0, int x1, int x2);
-std::vector< std::vector< casadi::IM* >* >*
-    casadi_blocksplit__10(std::string ** err_msg, casadi::IM* x0, int x1, int x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__11"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
-// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_blocksplit__11(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< std::vector< casadi::IM* >* >*
-    casadi_blocksplit__11(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1, std::vector< int >* x2);
-std::vector< std::vector< casadi::IM* >* >*
-    casadi_blocksplit__11(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1, std::vector< int >* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-
-        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__12"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
-// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_blocksplit__12(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_);"
-extern "C"
-std::vector< std::vector< casadi::MX* >* >*
-    casadi_blocksplit__12(std::string ** err_msg, casadi::MX* x0);
-std::vector< std::vector< casadi::MX* >* >*
-    casadi_blocksplit__12(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__13"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
-// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_blocksplit__13(std::string ** err_msg, casadi::MX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_);"
-extern "C"
-std::vector< std::vector< casadi::MX* >* >*
-    casadi_blocksplit__13(std::string ** err_msg, casadi::MX* x0, int x1);
-std::vector< std::vector< casadi::MX* >* >*
-    casadi_blocksplit__13(std::string ** err_msg, casadi::MX* x0, int x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__14"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
-// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_blocksplit__14(std::string ** err_msg, casadi::MX* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< std::vector< casadi::MX* >* >*
-    casadi_blocksplit__14(std::string ** err_msg, casadi::MX* x0, int x1, int x2);
-std::vector< std::vector< casadi::MX* >* >*
-    casadi_blocksplit__14(std::string ** err_msg, casadi::MX* x0, int x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__15"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
-// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_blocksplit__15(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< std::vector< casadi::MX* >* >*
-    casadi_blocksplit__15(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1, std::vector< int >* x2);
-std::vector< std::vector< casadi::MX* >* >*
-    casadi_blocksplit__15(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1, std::vector< int >* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-
-        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__16"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
-// proto: "std::vector< std::vector< casadi::Sparsity* >* >*\n    casadi_blocksplit__16(std::string ** err_msg, casadi::Sparsity* x0)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_);"
-extern "C"
-std::vector< std::vector< casadi::Sparsity* >* >*
-    casadi_blocksplit__16(std::string ** err_msg, casadi::Sparsity* x0);
-std::vector< std::vector< casadi::Sparsity* >* >*
-    casadi_blocksplit__16(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__17"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
-// proto: "std::vector< std::vector< casadi::Sparsity* >* >*\n    casadi_blocksplit__17(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_);"
-extern "C"
-std::vector< std::vector< casadi::Sparsity* >* >*
-    casadi_blocksplit__17(std::string ** err_msg, casadi::Sparsity* x0, int x1);
-std::vector< std::vector< casadi::Sparsity* >* >*
-    casadi_blocksplit__17(std::string ** err_msg, casadi::Sparsity* x0, int x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__18"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
-// proto: "std::vector< std::vector< casadi::Sparsity* >* >*\n    casadi_blocksplit__18(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< std::vector< casadi::Sparsity* >* >*
-    casadi_blocksplit__18(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2);
-std::vector< std::vector< casadi::Sparsity* >* >*
-    casadi_blocksplit__18(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_blocksplit" ===============
-// cppName: "casadi::casadi_blocksplit"
-// cWrapperName: "casadi_blocksplit__19"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
-// proto: "std::vector< std::vector< casadi::Sparsity* >* >*\n    casadi_blocksplit__19(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// friendWrap: True
-// fName: "casadi_blocksplit"
-// call: "        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< std::vector< casadi::Sparsity* >* >*
-    casadi_blocksplit__19(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1, std::vector< int >* x2);
-std::vector< std::vector< casadi::Sparsity* >* >*
-    casadi_blocksplit__19(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1, std::vector< int >* x2){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-
-        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ceil" ===============
-// cppName: "casadi::casadi_ceil"
-// cWrapperName: "casadi_ceil__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_ceil__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_ceil"
-// call: "        double ret = ceil(x0_);"
-extern "C"
-double
-    casadi_ceil__0(std::string ** err_msg, double* x0);
-double
-    casadi_ceil__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = ceil(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ceil" ===============
-// cppName: "casadi::casadi_ceil"
-// cWrapperName: "casadi_ceil__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_ceil__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_ceil"
-// call: "        casadi::SX ret = ceil(x0_);"
-extern "C"
-casadi::SX*
-    casadi_ceil__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_ceil__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = ceil(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ceil" ===============
-// cppName: "casadi::casadi_ceil"
-// cWrapperName: "casadi_ceil__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_ceil__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_ceil"
-// call: "        casadi::DM ret = ceil(x0_);"
-extern "C"
-casadi::DM*
-    casadi_ceil__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_ceil__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = ceil(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ceil" ===============
-// cppName: "casadi::casadi_ceil"
-// cWrapperName: "casadi_ceil__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_ceil__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_ceil"
-// call: "        casadi::IM ret = ceil(x0_);"
-extern "C"
-casadi::IM*
-    casadi_ceil__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_ceil__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = ceil(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ceil" ===============
-// cppName: "casadi::casadi_ceil"
-// cWrapperName: "casadi_ceil__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_ceil__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_ceil"
-// call: "        casadi::MX ret = ceil(x0_);"
-extern "C"
-casadi::MX*
-    casadi_ceil__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_ceil__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = ceil(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_chol" ===============
-// cppName: "casadi::casadi_chol"
-// cWrapperName: "casadi_chol__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_chol__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_chol"
-// call: "        casadi::SX ret = chol(x0_);"
-extern "C"
-casadi::SX*
-    casadi_chol__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_chol__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = chol(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_chol" ===============
-// cppName: "casadi::casadi_chol"
-// cWrapperName: "casadi_chol__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_chol__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_chol"
-// call: "        casadi::DM ret = chol(x0_);"
-extern "C"
-casadi::DM*
-    casadi_chol__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_chol__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = chol(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_chol" ===============
-// cppName: "casadi::casadi_chol"
-// cWrapperName: "casadi_chol__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_chol__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_chol"
-// call: "        casadi::IM ret = chol(x0_);"
-extern "C"
-casadi::IM*
-    casadi_chol__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_chol__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = chol(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cofactor" ===============
-// cppName: "casadi::casadi_cofactor"
-// cWrapperName: "casadi_cofactor__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_cofactor__0(std::string ** err_msg, casadi::SX* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_cofactor"
-// call: "        casadi::SX ret = cofactor(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_cofactor__0(std::string ** err_msg, casadi::SX* x0, int x1, int x2);
-casadi::SX*
-    casadi_cofactor__0(std::string ** err_msg, casadi::SX* x0, int x1, int x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = cofactor(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cofactor" ===============
-// cppName: "casadi::casadi_cofactor"
-// cWrapperName: "casadi_cofactor__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_cofactor__1(std::string ** err_msg, casadi::DM* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_cofactor"
-// call: "        casadi::DM ret = cofactor(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_cofactor__1(std::string ** err_msg, casadi::DM* x0, int x1, int x2);
-casadi::DM*
-    casadi_cofactor__1(std::string ** err_msg, casadi::DM* x0, int x1, int x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = cofactor(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cofactor" ===============
-// cppName: "casadi::casadi_cofactor"
-// cWrapperName: "casadi_cofactor__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_cofactor__2(std::string ** err_msg, casadi::IM* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_cofactor"
-// call: "        casadi::IM ret = cofactor(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_cofactor__2(std::string ** err_msg, casadi::IM* x0, int x1, int x2);
-casadi::IM*
-    casadi_cofactor__2(std::string ** err_msg, casadi::IM* x0, int x1, int x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = cofactor(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_conditional" ===============
-// cppName: "casadi::casadi_conditional"
-// cWrapperName: "casadi_conditional__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_conditional__0(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2)"
-// friendWrap: True
-// fName: "casadi_conditional"
-// call: "        casadi::SX ret = conditional(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_conditional__0(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2);
-casadi::SX*
-    casadi_conditional__0(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = conditional(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_conditional" ===============
-// cppName: "casadi::casadi_conditional"
-// cWrapperName: "casadi_conditional__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_conditional__1(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_conditional"
-// call: "        casadi::SX ret = conditional(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::SX*
-    casadi_conditional__1(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2, int x3);
-casadi::SX*
-    casadi_conditional__1(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2, int x3){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::SX ret = conditional(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_conditional" ===============
-// cppName: "casadi::casadi_conditional"
-// cWrapperName: "casadi_conditional__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_conditional__2(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2)"
-// friendWrap: True
-// fName: "casadi_conditional"
-// call: "        casadi::DM ret = conditional(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_conditional__2(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2);
-casadi::DM*
-    casadi_conditional__2(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = conditional(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_conditional" ===============
-// cppName: "casadi::casadi_conditional"
-// cWrapperName: "casadi_conditional__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_conditional__3(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_conditional"
-// call: "        casadi::DM ret = conditional(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::DM*
-    casadi_conditional__3(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2, int x3);
-casadi::DM*
-    casadi_conditional__3(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2, int x3){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::DM ret = conditional(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_conditional" ===============
-// cppName: "casadi::casadi_conditional"
-// cWrapperName: "casadi_conditional__4"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_conditional__4(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2)"
-// friendWrap: True
-// fName: "casadi_conditional"
-// call: "        casadi::IM ret = conditional(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_conditional__4(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2);
-casadi::IM*
-    casadi_conditional__4(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = conditional(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_conditional" ===============
-// cppName: "casadi::casadi_conditional"
-// cWrapperName: "casadi_conditional__5"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_conditional__5(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_conditional"
-// call: "        casadi::IM ret = conditional(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::IM*
-    casadi_conditional__5(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2, int x3);
-casadi::IM*
-    casadi_conditional__5(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2, int x3){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::IM ret = conditional(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_conditional" ===============
-// cppName: "casadi::casadi_conditional"
-// cWrapperName: "casadi_conditional__6"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_conditional__6(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2)"
-// friendWrap: True
-// fName: "casadi_conditional"
-// call: "        casadi::MX ret = conditional(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_conditional__6(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2);
-casadi::MX*
-    casadi_conditional__6(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
-
-        casadi::MX ret = conditional(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_conditional" ===============
-// cppName: "casadi::casadi_conditional"
-// cWrapperName: "casadi_conditional__7"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_conditional__7(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_conditional"
-// call: "        casadi::MX ret = conditional(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::MX*
-    casadi_conditional__7(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2, int x3);
-casadi::MX*
-    casadi_conditional__7(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2, int x3){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::MX ret = conditional(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_constpow" ===============
-// cppName: "casadi::casadi_constpow"
-// cWrapperName: "casadi_constpow__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_constpow__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_constpow"
-// call: "        double ret = casadi::constpow(x0_, x1_);"
-extern "C"
-double
-    casadi_constpow__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_constpow__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = casadi::constpow(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_constpow" ===============
-// cppName: "casadi::casadi_constpow"
-// cWrapperName: "casadi_constpow__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_constpow__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_constpow"
-// call: "        casadi::SX ret = constpow(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_constpow__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_constpow__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = constpow(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_constpow" ===============
-// cppName: "casadi::casadi_constpow"
-// cWrapperName: "casadi_constpow__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_constpow__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_constpow"
-// call: "        casadi::DM ret = constpow(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_constpow__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_constpow__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = constpow(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_constpow" ===============
-// cppName: "casadi::casadi_constpow"
-// cWrapperName: "casadi_constpow__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_constpow__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_constpow"
-// call: "        casadi::IM ret = constpow(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_constpow__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_constpow__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = constpow(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_constpow" ===============
-// cppName: "casadi::casadi_constpow"
-// cWrapperName: "casadi_constpow__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_constpow__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_constpow"
-// call: "        casadi::MX ret = constpow(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_constpow__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_constpow__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = constpow(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_copysign" ===============
-// cppName: "casadi::casadi_copysign"
-// cWrapperName: "casadi_copysign__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_copysign__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_copysign"
-// call: "        double ret = copysign(x0_, x1_);"
-extern "C"
-double
-    casadi_copysign__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_copysign__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = copysign(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_copysign" ===============
-// cppName: "casadi::casadi_copysign"
-// cWrapperName: "casadi_copysign__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_copysign__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_copysign"
-// call: "        casadi::SX ret = copysign(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_copysign__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_copysign__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = copysign(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_copysign" ===============
-// cppName: "casadi::casadi_copysign"
-// cWrapperName: "casadi_copysign__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_copysign__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_copysign"
-// call: "        casadi::DM ret = copysign(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_copysign__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_copysign__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = copysign(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_copysign" ===============
-// cppName: "casadi::casadi_copysign"
-// cWrapperName: "casadi_copysign__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_copysign__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_copysign"
-// call: "        casadi::IM ret = copysign(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_copysign__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_copysign__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = copysign(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_copysign" ===============
-// cppName: "casadi::casadi_copysign"
-// cWrapperName: "casadi_copysign__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_copysign__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_copysign"
-// call: "        casadi::MX ret = copysign(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_copysign__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_copysign__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = copysign(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cos" ===============
-// cppName: "casadi::casadi_cos"
-// cWrapperName: "casadi_cos__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_cos__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_cos"
-// call: "        double ret = cos(x0_);"
-extern "C"
-double
-    casadi_cos__0(std::string ** err_msg, double* x0);
-double
-    casadi_cos__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = cos(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cos" ===============
-// cppName: "casadi::casadi_cos"
-// cWrapperName: "casadi_cos__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_cos__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_cos"
-// call: "        casadi::SX ret = cos(x0_);"
-extern "C"
-casadi::SX*
-    casadi_cos__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_cos__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = cos(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cos" ===============
-// cppName: "casadi::casadi_cos"
-// cWrapperName: "casadi_cos__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_cos__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_cos"
-// call: "        casadi::DM ret = cos(x0_);"
-extern "C"
-casadi::DM*
-    casadi_cos__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_cos__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = cos(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cos" ===============
-// cppName: "casadi::casadi_cos"
-// cWrapperName: "casadi_cos__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_cos__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_cos"
-// call: "        casadi::IM ret = cos(x0_);"
-extern "C"
-casadi::IM*
-    casadi_cos__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_cos__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = cos(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cos" ===============
-// cppName: "casadi::casadi_cos"
-// cWrapperName: "casadi_cos__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_cos__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_cos"
-// call: "        casadi::MX ret = cos(x0_);"
-extern "C"
-casadi::MX*
-    casadi_cos__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_cos__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = cos(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cosh" ===============
-// cppName: "casadi::casadi_cosh"
-// cWrapperName: "casadi_cosh__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_cosh__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_cosh"
-// call: "        double ret = cosh(x0_);"
-extern "C"
-double
-    casadi_cosh__0(std::string ** err_msg, double* x0);
-double
-    casadi_cosh__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = cosh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cosh" ===============
-// cppName: "casadi::casadi_cosh"
-// cWrapperName: "casadi_cosh__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_cosh__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_cosh"
-// call: "        casadi::SX ret = cosh(x0_);"
-extern "C"
-casadi::SX*
-    casadi_cosh__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_cosh__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = cosh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cosh" ===============
-// cppName: "casadi::casadi_cosh"
-// cWrapperName: "casadi_cosh__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_cosh__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_cosh"
-// call: "        casadi::DM ret = cosh(x0_);"
-extern "C"
-casadi::DM*
-    casadi_cosh__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_cosh__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = cosh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cosh" ===============
-// cppName: "casadi::casadi_cosh"
-// cWrapperName: "casadi_cosh__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_cosh__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_cosh"
-// call: "        casadi::IM ret = cosh(x0_);"
-extern "C"
-casadi::IM*
-    casadi_cosh__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_cosh__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = cosh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cosh" ===============
-// cppName: "casadi::casadi_cosh"
-// cWrapperName: "casadi_cosh__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_cosh__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_cosh"
-// call: "        casadi::MX ret = cosh(x0_);"
-extern "C"
-casadi::MX*
-    casadi_cosh__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_cosh__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = cosh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cross" ===============
-// cppName: "casadi::casadi_cross"
-// cWrapperName: "casadi_cross__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_cross__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_cross"
-// call: "        casadi::SX ret = cross(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_cross__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_cross__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = cross(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cross" ===============
-// cppName: "casadi::casadi_cross"
-// cWrapperName: "casadi_cross__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_cross__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_cross"
-// call: "        casadi::SX ret = cross(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_cross__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2);
-casadi::SX*
-    casadi_cross__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = cross(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cross" ===============
-// cppName: "casadi::casadi_cross"
-// cWrapperName: "casadi_cross__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_cross__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_cross"
-// call: "        casadi::DM ret = cross(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_cross__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_cross__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = cross(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cross" ===============
-// cppName: "casadi::casadi_cross"
-// cWrapperName: "casadi_cross__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_cross__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_cross"
-// call: "        casadi::DM ret = cross(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_cross__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, int x2);
-casadi::DM*
-    casadi_cross__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, int x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = cross(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cross" ===============
-// cppName: "casadi::casadi_cross"
-// cWrapperName: "casadi_cross__4"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_cross__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_cross"
-// call: "        casadi::IM ret = cross(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_cross__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_cross__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = cross(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cross" ===============
-// cppName: "casadi::casadi_cross"
-// cWrapperName: "casadi_cross__5"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_cross__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_cross"
-// call: "        casadi::IM ret = cross(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_cross__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, int x2);
-casadi::IM*
-    casadi_cross__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, int x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = cross(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cross" ===============
-// cppName: "casadi::casadi_cross"
-// cWrapperName: "casadi_cross__6"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_cross__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_cross"
-// call: "        casadi::MX ret = cross(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_cross__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_cross__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = cross(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_cross" ===============
-// cppName: "casadi::casadi_cross"
-// cWrapperName: "casadi_cross__7"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_cross__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_cross"
-// call: "        casadi::MX ret = cross(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_cross__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, int x2);
-casadi::MX*
-    casadi_cross__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::MX ret = cross(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_densify" ===============
-// cppName: "casadi::casadi_densify"
-// cWrapperName: "casadi_densify__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_densify__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_densify"
-// call: "        casadi::SX ret = densify(x0_);"
-extern "C"
-casadi::SX*
-    casadi_densify__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_densify__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = densify(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_densify" ===============
-// cppName: "casadi::casadi_densify"
-// cWrapperName: "casadi_densify__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_densify__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_densify"
-// call: "        casadi::DM ret = densify(x0_);"
-extern "C"
-casadi::DM*
-    casadi_densify__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_densify__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = densify(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_densify" ===============
-// cppName: "casadi::casadi_densify"
-// cWrapperName: "casadi_densify__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_densify__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_densify"
-// call: "        casadi::IM ret = densify(x0_);"
-extern "C"
-casadi::IM*
-    casadi_densify__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_densify__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = densify(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_densify" ===============
-// cppName: "casadi::casadi_densify"
-// cWrapperName: "casadi_densify__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_densify__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_densify"
-// call: "        casadi::MX ret = densify(x0_);"
-extern "C"
-casadi::MX*
-    casadi_densify__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_densify__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = densify(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_depends_on" ===============
-// cppName: "casadi::casadi_depends_on"
-// cWrapperName: "casadi_depends_on__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_depends_on__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_depends_on"
-// call: "        bool ret = depends_on(x0_, x1_);"
-extern "C"
-int
-    casadi_depends_on__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-int
-    casadi_depends_on__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        bool ret = depends_on(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_depends_on" ===============
-// cppName: "casadi::casadi_depends_on"
-// cWrapperName: "casadi_depends_on__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_depends_on__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_depends_on"
-// call: "        bool ret = depends_on(x0_, x1_);"
-extern "C"
-int
-    casadi_depends_on__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-int
-    casadi_depends_on__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        bool ret = depends_on(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_depends_on" ===============
-// cppName: "casadi::casadi_depends_on"
-// cWrapperName: "casadi_depends_on__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_depends_on__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_depends_on"
-// call: "        bool ret = depends_on(x0_, x1_);"
-extern "C"
-int
-    casadi_depends_on__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-int
-    casadi_depends_on__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        bool ret = depends_on(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_depends_on" ===============
-// cppName: "casadi::casadi_depends_on"
-// cWrapperName: "casadi_depends_on__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_depends_on__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_depends_on"
-// call: "        bool ret = depends_on(x0_, x1_);"
-extern "C"
-int
-    casadi_depends_on__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-int
-    casadi_depends_on__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        bool ret = depends_on(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_det" ===============
-// cppName: "casadi::casadi_det"
-// cWrapperName: "casadi_det__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_det__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_det"
-// call: "        casadi::SX ret = det(x0_);"
-extern "C"
-casadi::SX*
-    casadi_det__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_det__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = det(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_det" ===============
-// cppName: "casadi::casadi_det"
-// cWrapperName: "casadi_det__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_det__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_det"
-// call: "        casadi::DM ret = det(x0_);"
-extern "C"
-casadi::DM*
-    casadi_det__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_det__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = det(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_det" ===============
-// cppName: "casadi::casadi_det"
-// cWrapperName: "casadi_det__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_det__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_det"
-// call: "        casadi::IM ret = det(x0_);"
-extern "C"
-casadi::IM*
-    casadi_det__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_det__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = det(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_det" ===============
-// cppName: "casadi::casadi_det"
-// cWrapperName: "casadi_det__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_det__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_det"
-// call: "        casadi::MX ret = det(x0_);"
-extern "C"
-casadi::MX*
-    casadi_det__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_det__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = det(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diag" ===============
-// cppName: "casadi::casadi_diag"
-// cWrapperName: "casadi_diag__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_diag__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_diag"
-// call: "        casadi::SX ret = diag(x0_);"
-extern "C"
-casadi::SX*
-    casadi_diag__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_diag__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = diag(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diag" ===============
-// cppName: "casadi::casadi_diag"
-// cWrapperName: "casadi_diag__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_diag__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_diag"
-// call: "        casadi::DM ret = diag(x0_);"
-extern "C"
-casadi::DM*
-    casadi_diag__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_diag__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = diag(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diag" ===============
-// cppName: "casadi::casadi_diag"
-// cWrapperName: "casadi_diag__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_diag__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_diag"
-// call: "        casadi::IM ret = diag(x0_);"
-extern "C"
-casadi::IM*
-    casadi_diag__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_diag__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = diag(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diag" ===============
-// cppName: "casadi::casadi_diag"
-// cWrapperName: "casadi_diag__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_diag__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_diag"
-// call: "        casadi::MX ret = diag(x0_);"
-extern "C"
-casadi::MX*
-    casadi_diag__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_diag__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = diag(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagcat" ===============
-// cppName: "casadi::casadi_diagcat"
-// cWrapperName: "casadi_diagcat__0"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_diagcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
-// friendWrap: True
-// fName: "casadi_diagcat"
-// call: "        casadi::SX ret = diagcat(x0_);"
-extern "C"
-casadi::SX*
-    casadi_diagcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
-casadi::SX*
-    casadi_diagcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-
-        casadi::SX ret = diagcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagcat" ===============
-// cppName: "casadi::casadi_diagcat"
-// cWrapperName: "casadi_diagcat__1"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_diagcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
-// friendWrap: True
-// fName: "casadi_diagcat"
-// call: "        casadi::DM ret = diagcat(x0_);"
-extern "C"
-casadi::DM*
-    casadi_diagcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0);
-casadi::DM*
-    casadi_diagcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-
-        casadi::DM ret = diagcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagcat" ===============
-// cppName: "casadi::casadi_diagcat"
-// cWrapperName: "casadi_diagcat__2"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_diagcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
-// friendWrap: True
-// fName: "casadi_diagcat"
-// call: "        casadi::IM ret = diagcat(x0_);"
-extern "C"
-casadi::IM*
-    casadi_diagcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0);
-casadi::IM*
-    casadi_diagcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0){
-    try {
-        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
-
-        casadi::IM ret = diagcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagcat" ===============
-// cppName: "casadi::casadi_diagcat"
-// cWrapperName: "casadi_diagcat__3"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_diagcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
-// friendWrap: True
-// fName: "casadi_diagcat"
-// call: "        casadi::MX ret = diagcat(x0_);"
-extern "C"
-casadi::MX*
-    casadi_diagcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
-casadi::MX*
-    casadi_diagcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-
-        casadi::MX ret = diagcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagcat" ===============
-// cppName: "casadi::casadi_diagcat"
-// cWrapperName: "casadi_diagcat__4"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_diagcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
-// friendWrap: True
-// fName: "casadi_diagcat"
-// call: "        casadi::Sparsity ret = diagcat(x0_);"
-extern "C"
-casadi::Sparsity*
-    casadi_diagcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
-casadi::Sparsity*
-    casadi_diagcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
-    try {
-        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
-
-        casadi::Sparsity ret = diagcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__0(std::string ** err_msg, casadi::SX* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::SX > ret = diagsplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::SX* >*
-    casadi_diagsplit__0(std::string ** err_msg, casadi::SX* x0, int x1, int x2);
-std::vector< casadi::SX* >*
-    casadi_diagsplit__0(std::string ** err_msg, casadi::SX* x0, int x1, int x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< casadi::SX > ret = diagsplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::SX > ret = diagsplit(x0_);"
-extern "C"
-std::vector< casadi::SX* >*
-    casadi_diagsplit__1(std::string ** err_msg, casadi::SX* x0);
-std::vector< casadi::SX* >*
-    casadi_diagsplit__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        std::vector< casadi::SX > ret = diagsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__2(std::string ** err_msg, casadi::SX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::SX > ret = diagsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::SX* >*
-    casadi_diagsplit__2(std::string ** err_msg, casadi::SX* x0, int x1);
-std::vector< casadi::SX* >*
-    casadi_diagsplit__2(std::string ** err_msg, casadi::SX* x0, int x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::SX > ret = diagsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__3"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::SX > ret = diagsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::SX* >*
-    casadi_diagsplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1);
-std::vector< casadi::SX* >*
-    casadi_diagsplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::SX > ret = diagsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__4"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__4(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::SX > ret = diagsplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::SX* >*
-    casadi_diagsplit__4(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1, std::vector< int >* x2);
-std::vector< casadi::SX* >*
-    casadi_diagsplit__4(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1, std::vector< int >* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-
-        std::vector< casadi::SX > ret = diagsplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__5"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__5(std::string ** err_msg, casadi::DM* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::DM > ret = diagsplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::DM* >*
-    casadi_diagsplit__5(std::string ** err_msg, casadi::DM* x0, int x1, int x2);
-std::vector< casadi::DM* >*
-    casadi_diagsplit__5(std::string ** err_msg, casadi::DM* x0, int x1, int x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< casadi::DM > ret = diagsplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__6"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__6(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::DM > ret = diagsplit(x0_);"
-extern "C"
-std::vector< casadi::DM* >*
-    casadi_diagsplit__6(std::string ** err_msg, casadi::DM* x0);
-std::vector< casadi::DM* >*
-    casadi_diagsplit__6(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        std::vector< casadi::DM > ret = diagsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__7"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__7(std::string ** err_msg, casadi::DM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::DM > ret = diagsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::DM* >*
-    casadi_diagsplit__7(std::string ** err_msg, casadi::DM* x0, int x1);
-std::vector< casadi::DM* >*
-    casadi_diagsplit__7(std::string ** err_msg, casadi::DM* x0, int x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::DM > ret = diagsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__8"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__8(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::DM > ret = diagsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::DM* >*
-    casadi_diagsplit__8(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1);
-std::vector< casadi::DM* >*
-    casadi_diagsplit__8(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::DM > ret = diagsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__9"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__9(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::DM > ret = diagsplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::DM* >*
-    casadi_diagsplit__9(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1, std::vector< int >* x2);
-std::vector< casadi::DM* >*
-    casadi_diagsplit__9(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1, std::vector< int >* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-
-        std::vector< casadi::DM > ret = diagsplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__10"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__10(std::string ** err_msg, casadi::IM* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::IM > ret = diagsplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::IM* >*
-    casadi_diagsplit__10(std::string ** err_msg, casadi::IM* x0, int x1, int x2);
-std::vector< casadi::IM* >*
-    casadi_diagsplit__10(std::string ** err_msg, casadi::IM* x0, int x1, int x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< casadi::IM > ret = diagsplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__11"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__11(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::IM > ret = diagsplit(x0_);"
-extern "C"
-std::vector< casadi::IM* >*
-    casadi_diagsplit__11(std::string ** err_msg, casadi::IM* x0);
-std::vector< casadi::IM* >*
-    casadi_diagsplit__11(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        std::vector< casadi::IM > ret = diagsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__12"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__12(std::string ** err_msg, casadi::IM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::IM > ret = diagsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::IM* >*
-    casadi_diagsplit__12(std::string ** err_msg, casadi::IM* x0, int x1);
-std::vector< casadi::IM* >*
-    casadi_diagsplit__12(std::string ** err_msg, casadi::IM* x0, int x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::IM > ret = diagsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__13"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__13(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::IM > ret = diagsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::IM* >*
-    casadi_diagsplit__13(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1);
-std::vector< casadi::IM* >*
-    casadi_diagsplit__13(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::IM > ret = diagsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__14"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__14(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::IM > ret = diagsplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::IM* >*
-    casadi_diagsplit__14(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1, std::vector< int >* x2);
-std::vector< casadi::IM* >*
-    casadi_diagsplit__14(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1, std::vector< int >* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-
-        std::vector< casadi::IM > ret = diagsplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__15"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__15(std::string ** err_msg, casadi::MX* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::MX > ret = diagsplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_diagsplit__15(std::string ** err_msg, casadi::MX* x0, int x1, int x2);
-std::vector< casadi::MX* >*
-    casadi_diagsplit__15(std::string ** err_msg, casadi::MX* x0, int x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< casadi::MX > ret = diagsplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__16"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__16(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::MX > ret = diagsplit(x0_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_diagsplit__16(std::string ** err_msg, casadi::MX* x0);
-std::vector< casadi::MX* >*
-    casadi_diagsplit__16(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        std::vector< casadi::MX > ret = diagsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__17"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__17(std::string ** err_msg, casadi::MX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::MX > ret = diagsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_diagsplit__17(std::string ** err_msg, casadi::MX* x0, int x1);
-std::vector< casadi::MX* >*
-    casadi_diagsplit__17(std::string ** err_msg, casadi::MX* x0, int x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::MX > ret = diagsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__18"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__18(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::MX > ret = diagsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_diagsplit__18(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1);
-std::vector< casadi::MX* >*
-    casadi_diagsplit__18(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::MX > ret = diagsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__19"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__19(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::MX > ret = diagsplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_diagsplit__19(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1, std::vector< int >* x2);
-std::vector< casadi::MX* >*
-    casadi_diagsplit__19(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1, std::vector< int >* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-
-        std::vector< casadi::MX > ret = diagsplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__20"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
-// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__20(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::Sparsity* >*
-    casadi_diagsplit__20(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2);
-std::vector< casadi::Sparsity* >*
-    casadi_diagsplit__20(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__21"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
-// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__21(std::string ** err_msg, casadi::Sparsity* x0)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_);"
-extern "C"
-std::vector< casadi::Sparsity* >*
-    casadi_diagsplit__21(std::string ** err_msg, casadi::Sparsity* x0);
-std::vector< casadi::Sparsity* >*
-    casadi_diagsplit__21(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        std::vector< casadi::Sparsity > ret = diagsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__22"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
-// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__22(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::Sparsity* >*
-    casadi_diagsplit__22(std::string ** err_msg, casadi::Sparsity* x0, int x1);
-std::vector< casadi::Sparsity* >*
-    casadi_diagsplit__22(std::string ** err_msg, casadi::Sparsity* x0, int x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__23"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
-// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__23(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::Sparsity* >*
-    casadi_diagsplit__23(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1);
-std::vector< casadi::Sparsity* >*
-    casadi_diagsplit__23(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_diagsplit" ===============
-// cppName: "casadi::casadi_diagsplit"
-// cWrapperName: "casadi_diagsplit__24"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
-// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__24(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1, std::vector< int >* x2)"
-// friendWrap: True
-// fName: "casadi_diagsplit"
-// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::Sparsity* >*
-    casadi_diagsplit__24(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1, std::vector< int >* x2);
-std::vector< casadi::Sparsity* >*
-    casadi_diagsplit__24(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1, std::vector< int >* x2){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-
-        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_dot" ===============
-// cppName: "casadi::casadi_dot"
-// cWrapperName: "casadi_dot__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_dot__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_dot"
-// call: "        casadi::SX ret = dot(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_dot__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_dot__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = dot(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_dot" ===============
-// cppName: "casadi::casadi_dot"
-// cWrapperName: "casadi_dot__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_dot__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_dot"
-// call: "        casadi::DM ret = dot(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_dot__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_dot__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = dot(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_dot" ===============
-// cppName: "casadi::casadi_dot"
-// cWrapperName: "casadi_dot__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_dot__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_dot"
-// call: "        casadi::IM ret = dot(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_dot__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_dot__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = dot(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_dot" ===============
-// cppName: "casadi::casadi_dot"
-// cWrapperName: "casadi_dot__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_dot__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_dot"
-// call: "        casadi::MX ret = dot(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_dot__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_dot__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = dot(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_eig_symbolic" ===============
-// cppName: "casadi::casadi_eig_symbolic"
-// cWrapperName: "casadi_eig_symbolic__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_eig_symbolic__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_eig_symbolic"
-// call: "        casadi::SX ret = eig_symbolic(x0_);"
-extern "C"
-casadi::SX*
-    casadi_eig_symbolic__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_eig_symbolic__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = eig_symbolic(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_eig_symbolic" ===============
-// cppName: "casadi::casadi_eig_symbolic"
-// cWrapperName: "casadi_eig_symbolic__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_eig_symbolic__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_eig_symbolic"
-// call: "        casadi::DM ret = eig_symbolic(x0_);"
-extern "C"
-casadi::DM*
-    casadi_eig_symbolic__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_eig_symbolic__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = eig_symbolic(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_eig_symbolic" ===============
-// cppName: "casadi::casadi_eig_symbolic"
-// cWrapperName: "casadi_eig_symbolic__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_eig_symbolic__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_eig_symbolic"
-// call: "        casadi::IM ret = eig_symbolic(x0_);"
-extern "C"
-casadi::IM*
-    casadi_eig_symbolic__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_eig_symbolic__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = eig_symbolic(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_eq" ===============
-// cppName: "casadi::casadi_eq"
-// cWrapperName: "casadi_eq__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_eq__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_eq"
-// call: "        double ret = x0_ == x1_;"
-extern "C"
-double
-    casadi_eq__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_eq__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = x0_ == x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_eq" ===============
-// cppName: "casadi::casadi_eq"
-// cWrapperName: "casadi_eq__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_eq__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_eq"
-// call: "        casadi::SX ret = x0_ == x1_;"
-extern "C"
-casadi::SX*
-    casadi_eq__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_eq__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = x0_ == x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_eq" ===============
-// cppName: "casadi::casadi_eq"
-// cWrapperName: "casadi_eq__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_eq__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_eq"
-// call: "        casadi::DM ret = x0_ == x1_;"
-extern "C"
-casadi::DM*
-    casadi_eq__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_eq__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = x0_ == x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_eq" ===============
-// cppName: "casadi::casadi_eq"
-// cWrapperName: "casadi_eq__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_eq__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_eq"
-// call: "        casadi::IM ret = x0_ == x1_;"
-extern "C"
-casadi::IM*
-    casadi_eq__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_eq__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = x0_ == x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_eq" ===============
-// cppName: "casadi::casadi_eq"
-// cWrapperName: "casadi_eq__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_eq__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_eq"
-// call: "        casadi::MX ret = x0_ == x1_;"
-extern "C"
-casadi::MX*
-    casadi_eq__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_eq__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = x0_ == x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_erf" ===============
-// cppName: "casadi::casadi_erf"
-// cWrapperName: "casadi_erf__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_erf__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_erf"
-// call: "        double ret = erf(x0_);"
-extern "C"
-double
-    casadi_erf__0(std::string ** err_msg, double* x0);
-double
-    casadi_erf__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = erf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_erf" ===============
-// cppName: "casadi::casadi_erf"
-// cWrapperName: "casadi_erf__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_erf__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_erf"
-// call: "        casadi::SX ret = erf(x0_);"
-extern "C"
-casadi::SX*
-    casadi_erf__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_erf__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = erf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_erf" ===============
-// cppName: "casadi::casadi_erf"
-// cWrapperName: "casadi_erf__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_erf__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_erf"
-// call: "        casadi::DM ret = erf(x0_);"
-extern "C"
-casadi::DM*
-    casadi_erf__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_erf__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = erf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_erf" ===============
-// cppName: "casadi::casadi_erf"
-// cWrapperName: "casadi_erf__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_erf__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_erf"
-// call: "        casadi::IM ret = erf(x0_);"
-extern "C"
-casadi::IM*
-    casadi_erf__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_erf__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = erf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_erf" ===============
-// cppName: "casadi::casadi_erf"
-// cWrapperName: "casadi_erf__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_erf__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_erf"
-// call: "        casadi::MX ret = erf(x0_);"
-extern "C"
-casadi::MX*
-    casadi_erf__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_erf__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = erf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_erfinv" ===============
-// cppName: "casadi::casadi_erfinv"
-// cWrapperName: "casadi_erfinv__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_erfinv__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_erfinv"
-// call: "        double ret = casadi::erfinv(x0_);"
-extern "C"
-double
-    casadi_erfinv__0(std::string ** err_msg, double* x0);
-double
-    casadi_erfinv__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = casadi::erfinv(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_erfinv" ===============
-// cppName: "casadi::casadi_erfinv"
-// cWrapperName: "casadi_erfinv__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_erfinv__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_erfinv"
-// call: "        casadi::SX ret = erfinv(x0_);"
-extern "C"
-casadi::SX*
-    casadi_erfinv__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_erfinv__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = erfinv(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_erfinv" ===============
-// cppName: "casadi::casadi_erfinv"
-// cWrapperName: "casadi_erfinv__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_erfinv__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_erfinv"
-// call: "        casadi::DM ret = erfinv(x0_);"
-extern "C"
-casadi::DM*
-    casadi_erfinv__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_erfinv__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = erfinv(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_erfinv" ===============
-// cppName: "casadi::casadi_erfinv"
-// cWrapperName: "casadi_erfinv__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_erfinv__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_erfinv"
-// call: "        casadi::IM ret = erfinv(x0_);"
-extern "C"
-casadi::IM*
-    casadi_erfinv__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_erfinv__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = erfinv(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_erfinv" ===============
-// cppName: "casadi::casadi_erfinv"
-// cWrapperName: "casadi_erfinv__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_erfinv__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_erfinv"
-// call: "        casadi::MX ret = erfinv(x0_);"
-extern "C"
-casadi::MX*
-    casadi_erfinv__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_erfinv__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = erfinv(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_exp" ===============
-// cppName: "casadi::casadi_exp"
-// cWrapperName: "casadi_exp__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_exp__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_exp"
-// call: "        double ret = exp(x0_);"
-extern "C"
-double
-    casadi_exp__0(std::string ** err_msg, double* x0);
-double
-    casadi_exp__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = exp(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_exp" ===============
-// cppName: "casadi::casadi_exp"
-// cWrapperName: "casadi_exp__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_exp__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_exp"
-// call: "        casadi::SX ret = exp(x0_);"
-extern "C"
-casadi::SX*
-    casadi_exp__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_exp__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = exp(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_exp" ===============
-// cppName: "casadi::casadi_exp"
-// cWrapperName: "casadi_exp__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_exp__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_exp"
-// call: "        casadi::DM ret = exp(x0_);"
-extern "C"
-casadi::DM*
-    casadi_exp__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_exp__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = exp(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_exp" ===============
-// cppName: "casadi::casadi_exp"
-// cWrapperName: "casadi_exp__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_exp__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_exp"
-// call: "        casadi::IM ret = exp(x0_);"
-extern "C"
-casadi::IM*
-    casadi_exp__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_exp__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = exp(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_exp" ===============
-// cppName: "casadi::casadi_exp"
-// cWrapperName: "casadi_exp__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_exp__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_exp"
-// call: "        casadi::MX ret = exp(x0_);"
-extern "C"
-casadi::MX*
-    casadi_exp__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_exp__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = exp(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_expand" ===============
-// cppName: "casadi::casadi_expand"
-// cWrapperName: "casadi_expand__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_expand__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// friendWrap: True
-// fName: "casadi_expand"
-// call: "        expand(x0_, x1_, x2_);"
-extern "C"
-void
-    casadi_expand__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
-void
-    casadi_expand__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        expand(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_expand" ===============
-// cppName: "casadi::casadi_expand"
-// cWrapperName: "casadi_expand__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_expand__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// friendWrap: True
-// fName: "casadi_expand"
-// call: "        expand(x0_, x1_, x2_);"
-extern "C"
-void
-    casadi_expand__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
-void
-    casadi_expand__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        expand(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_expand" ===============
-// cppName: "casadi::casadi_expand"
-// cWrapperName: "casadi_expand__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_expand__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// friendWrap: True
-// fName: "casadi_expand"
-// call: "        expand(x0_, x1_, x2_);"
-extern "C"
-void
-    casadi_expand__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
-void
-    casadi_expand__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        expand(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_find" ===============
-// cppName: "casadi::casadi_find"
-// cWrapperName: "casadi_find"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_find(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_find"
-// call: "        casadi::MX ret = find(x0_);"
-extern "C"
-casadi::MX*
-    casadi_find(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_find(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = find(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_floor" ===============
-// cppName: "casadi::casadi_floor"
-// cWrapperName: "casadi_floor__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_floor__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_floor"
-// call: "        double ret = floor(x0_);"
-extern "C"
-double
-    casadi_floor__0(std::string ** err_msg, double* x0);
-double
-    casadi_floor__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = floor(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_floor" ===============
-// cppName: "casadi::casadi_floor"
-// cWrapperName: "casadi_floor__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_floor__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_floor"
-// call: "        casadi::SX ret = floor(x0_);"
-extern "C"
-casadi::SX*
-    casadi_floor__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_floor__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = floor(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_floor" ===============
-// cppName: "casadi::casadi_floor"
-// cWrapperName: "casadi_floor__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_floor__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_floor"
-// call: "        casadi::DM ret = floor(x0_);"
-extern "C"
-casadi::DM*
-    casadi_floor__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_floor__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = floor(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_floor" ===============
-// cppName: "casadi::casadi_floor"
-// cWrapperName: "casadi_floor__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_floor__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_floor"
-// call: "        casadi::IM ret = floor(x0_);"
-extern "C"
-casadi::IM*
-    casadi_floor__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_floor__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = floor(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_floor" ===============
-// cppName: "casadi::casadi_floor"
-// cWrapperName: "casadi_floor__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_floor__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_floor"
-// call: "        casadi::MX ret = floor(x0_);"
-extern "C"
-casadi::MX*
-    casadi_floor__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_floor__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = floor(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gauss_quadrature" ===============
-// cppName: "casadi::casadi_gauss_quadrature"
-// cWrapperName: "casadi_gauss_quadrature__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4, casadi::SX* x5)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_gauss_quadrature__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4, casadi::SX* x5)"
-// friendWrap: True
-// fName: "casadi_gauss_quadrature"
-// call: "        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);"
-extern "C"
-casadi::SX*
-    casadi_gauss_quadrature__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4, casadi::SX* x5);
-casadi::SX*
-    casadi_gauss_quadrature__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4, casadi::SX* x5){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
-        int x4_ = Marshaling<int,int>::marshal(x4);
-        casadi::SX& x5_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x5);
-
-        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gauss_quadrature" ===============
-// cppName: "casadi::casadi_gauss_quadrature"
-// cWrapperName: "casadi_gauss_quadrature__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_gauss_quadrature__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
-// friendWrap: True
-// fName: "casadi_gauss_quadrature"
-// call: "        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::SX*
-    casadi_gauss_quadrature__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3);
-casadi::SX*
-    casadi_gauss_quadrature__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
-
-        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gauss_quadrature" ===============
-// cppName: "casadi::casadi_gauss_quadrature"
-// cWrapperName: "casadi_gauss_quadrature__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_gauss_quadrature__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4)"
-// friendWrap: True
-// fName: "casadi_gauss_quadrature"
-// call: "        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-casadi::SX*
-    casadi_gauss_quadrature__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4);
-casadi::SX*
-    casadi_gauss_quadrature__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
-        int x4_ = Marshaling<int,int>::marshal(x4);
-
-        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gauss_quadrature" ===============
-// cppName: "casadi::casadi_gauss_quadrature"
-// cWrapperName: "casadi_gauss_quadrature__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, int x4, casadi::DM* x5)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_gauss_quadrature__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, int x4, casadi::DM* x5)"
-// friendWrap: True
-// fName: "casadi_gauss_quadrature"
-// call: "        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);"
-extern "C"
-casadi::DM*
-    casadi_gauss_quadrature__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, int x4, casadi::DM* x5);
-casadi::DM*
-    casadi_gauss_quadrature__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, int x4, casadi::DM* x5){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
-        int x4_ = Marshaling<int,int>::marshal(x4);
-        casadi::DM& x5_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x5);
-
-        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gauss_quadrature" ===============
-// cppName: "casadi::casadi_gauss_quadrature"
-// cWrapperName: "casadi_gauss_quadrature__4"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_gauss_quadrature__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
-// friendWrap: True
-// fName: "casadi_gauss_quadrature"
-// call: "        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::DM*
-    casadi_gauss_quadrature__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3);
-casadi::DM*
-    casadi_gauss_quadrature__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
-
-        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gauss_quadrature" ===============
-// cppName: "casadi::casadi_gauss_quadrature"
-// cWrapperName: "casadi_gauss_quadrature__5"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, int x4)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_gauss_quadrature__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, int x4)"
-// friendWrap: True
-// fName: "casadi_gauss_quadrature"
-// call: "        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-casadi::DM*
-    casadi_gauss_quadrature__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, int x4);
-casadi::DM*
-    casadi_gauss_quadrature__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, int x4){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
-        int x4_ = Marshaling<int,int>::marshal(x4);
-
-        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gauss_quadrature" ===============
-// cppName: "casadi::casadi_gauss_quadrature"
-// cWrapperName: "casadi_gauss_quadrature__6"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, int x4, casadi::IM* x5)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_gauss_quadrature__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, int x4, casadi::IM* x5)"
-// friendWrap: True
-// fName: "casadi_gauss_quadrature"
-// call: "        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);"
-extern "C"
-casadi::IM*
-    casadi_gauss_quadrature__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, int x4, casadi::IM* x5);
-casadi::IM*
-    casadi_gauss_quadrature__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, int x4, casadi::IM* x5){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-        int x4_ = Marshaling<int,int>::marshal(x4);
-        casadi::IM& x5_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x5);
-
-        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gauss_quadrature" ===============
-// cppName: "casadi::casadi_gauss_quadrature"
-// cWrapperName: "casadi_gauss_quadrature__7"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_gauss_quadrature__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
-// friendWrap: True
-// fName: "casadi_gauss_quadrature"
-// call: "        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::IM*
-    casadi_gauss_quadrature__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3);
-casadi::IM*
-    casadi_gauss_quadrature__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gauss_quadrature" ===============
-// cppName: "casadi::casadi_gauss_quadrature"
-// cWrapperName: "casadi_gauss_quadrature__8"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, int x4)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_gauss_quadrature__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, int x4)"
-// friendWrap: True
-// fName: "casadi_gauss_quadrature"
-// call: "        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-casadi::IM*
-    casadi_gauss_quadrature__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, int x4);
-casadi::IM*
-    casadi_gauss_quadrature__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, int x4){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-        int x4_ = Marshaling<int,int>::marshal(x4);
-
-        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ge" ===============
-// cppName: "casadi::casadi_ge"
-// cWrapperName: "casadi_ge__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_ge__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_ge"
-// call: "        double ret = x0_ >= x1_;"
-extern "C"
-double
-    casadi_ge__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_ge__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = x0_ >= x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ge" ===============
-// cppName: "casadi::casadi_ge"
-// cWrapperName: "casadi_ge__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_ge__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_ge"
-// call: "        casadi::SX ret = x0_ >= x1_;"
-extern "C"
-casadi::SX*
-    casadi_ge__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_ge__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = x0_ >= x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ge" ===============
-// cppName: "casadi::casadi_ge"
-// cWrapperName: "casadi_ge__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_ge__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_ge"
-// call: "        casadi::DM ret = x0_ >= x1_;"
-extern "C"
-casadi::DM*
-    casadi_ge__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_ge__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = x0_ >= x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ge" ===============
-// cppName: "casadi::casadi_ge"
-// cWrapperName: "casadi_ge__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_ge__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_ge"
-// call: "        casadi::IM ret = x0_ >= x1_;"
-extern "C"
-casadi::IM*
-    casadi_ge__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_ge__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = x0_ >= x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ge" ===============
-// cppName: "casadi::casadi_ge"
-// cWrapperName: "casadi_ge__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_ge__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_ge"
-// call: "        casadi::MX ret = x0_ >= x1_;"
-extern "C"
-casadi::MX*
-    casadi_ge__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_ge__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = x0_ >= x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_getMinor" ===============
-// cppName: "casadi::casadi_getMinor"
-// cWrapperName: "casadi_getMinor__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_getMinor__0(std::string ** err_msg, casadi::SX* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_getMinor"
-// call: "        casadi::SX ret = getMinor(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_getMinor__0(std::string ** err_msg, casadi::SX* x0, int x1, int x2);
-casadi::SX*
-    casadi_getMinor__0(std::string ** err_msg, casadi::SX* x0, int x1, int x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = getMinor(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_getMinor" ===============
-// cppName: "casadi::casadi_getMinor"
-// cWrapperName: "casadi_getMinor__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_getMinor__1(std::string ** err_msg, casadi::DM* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_getMinor"
-// call: "        casadi::DM ret = getMinor(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_getMinor__1(std::string ** err_msg, casadi::DM* x0, int x1, int x2);
-casadi::DM*
-    casadi_getMinor__1(std::string ** err_msg, casadi::DM* x0, int x1, int x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = getMinor(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_getMinor" ===============
-// cppName: "casadi::casadi_getMinor"
-// cWrapperName: "casadi_getMinor__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_getMinor__2(std::string ** err_msg, casadi::IM* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_getMinor"
-// call: "        casadi::IM ret = getMinor(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_getMinor__2(std::string ** err_msg, casadi::IM* x0, int x1, int x2);
-casadi::IM*
-    casadi_getMinor__2(std::string ** err_msg, casadi::IM* x0, int x1, int x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = getMinor(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gradient" ===============
-// cppName: "casadi::casadi_gradient"
-// cWrapperName: "casadi_gradient__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_gradient__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_gradient"
-// call: "        casadi::SX ret = gradient(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_gradient__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_gradient__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = gradient(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gradient" ===============
-// cppName: "casadi::casadi_gradient"
-// cWrapperName: "casadi_gradient__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_gradient__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_gradient"
-// call: "        casadi::DM ret = gradient(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_gradient__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_gradient__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = gradient(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gradient" ===============
-// cppName: "casadi::casadi_gradient"
-// cWrapperName: "casadi_gradient__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_gradient__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_gradient"
-// call: "        casadi::IM ret = gradient(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_gradient__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_gradient__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = gradient(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gradient" ===============
-// cppName: "casadi::casadi_gradient"
-// cWrapperName: "casadi_gradient__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_gradient__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_gradient"
-// call: "        casadi::MX ret = gradient(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_gradient__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_gradient__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = gradient(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_graph_substitute" ===============
-// cppName: "casadi::casadi_graph_substitute"
-// cWrapperName: "casadi_graph_substitute__0"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_graph_substitute__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
-// friendWrap: True
-// fName: "casadi_graph_substitute"
-// call: "        std::vector< casadi::MX > ret = graph_substitute(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_graph_substitute__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
-std::vector< casadi::MX* >*
-    casadi_graph_substitute__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
-
-        std::vector< casadi::MX > ret = graph_substitute(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_graph_substitute" ===============
-// cppName: "casadi::casadi_graph_substitute"
-// cWrapperName: "casadi_graph_substitute__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_graph_substitute__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
-// friendWrap: True
-// fName: "casadi_graph_substitute"
-// call: "        casadi::MX ret = graph_substitute(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_graph_substitute__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
-casadi::MX*
-    casadi_graph_substitute__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
-
-        casadi::MX ret = graph_substitute(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gt" ===============
-// cppName: "casadi::casadi_gt"
-// cWrapperName: "casadi_gt__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_gt__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_gt"
-// call: "        double ret = x0_ > x1_;"
-extern "C"
-double
-    casadi_gt__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_gt__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = x0_ > x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gt" ===============
-// cppName: "casadi::casadi_gt"
-// cWrapperName: "casadi_gt__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_gt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_gt"
-// call: "        casadi::SX ret = x0_ > x1_;"
-extern "C"
-casadi::SX*
-    casadi_gt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_gt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = x0_ > x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gt" ===============
-// cppName: "casadi::casadi_gt"
-// cWrapperName: "casadi_gt__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_gt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_gt"
-// call: "        casadi::DM ret = x0_ > x1_;"
-extern "C"
-casadi::DM*
-    casadi_gt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_gt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = x0_ > x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gt" ===============
-// cppName: "casadi::casadi_gt"
-// cWrapperName: "casadi_gt__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_gt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_gt"
-// call: "        casadi::IM ret = x0_ > x1_;"
-extern "C"
-casadi::IM*
-    casadi_gt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_gt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = x0_ > x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_gt" ===============
-// cppName: "casadi::casadi_gt"
-// cWrapperName: "casadi_gt__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_gt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_gt"
-// call: "        casadi::MX ret = x0_ > x1_;"
-extern "C"
-casadi::MX*
-    casadi_gt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_gt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = x0_ > x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_heaviside" ===============
-// cppName: "casadi::casadi_heaviside"
-// cWrapperName: "casadi_heaviside__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_heaviside__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_heaviside"
-// call: "        casadi::SX ret = heaviside(x0_);"
-extern "C"
-casadi::SX*
-    casadi_heaviside__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_heaviside__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = heaviside(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_heaviside" ===============
-// cppName: "casadi::casadi_heaviside"
-// cWrapperName: "casadi_heaviside__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_heaviside__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_heaviside"
-// call: "        casadi::DM ret = heaviside(x0_);"
-extern "C"
-casadi::DM*
-    casadi_heaviside__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_heaviside__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = heaviside(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_heaviside" ===============
-// cppName: "casadi::casadi_heaviside"
-// cWrapperName: "casadi_heaviside__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_heaviside__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_heaviside"
-// call: "        casadi::IM ret = heaviside(x0_);"
-extern "C"
-casadi::IM*
-    casadi_heaviside__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_heaviside__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = heaviside(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_hessian" ===============
-// cppName: "casadi::casadi_hessian"
-// cWrapperName: "casadi_hessian__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_hessian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// friendWrap: True
-// fName: "casadi_hessian"
-// call: "        casadi::SX ret = hessian(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_hessian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
-casadi::SX*
-    casadi_hessian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = hessian(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_hessian" ===============
-// cppName: "casadi::casadi_hessian"
-// cWrapperName: "casadi_hessian__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_hessian__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// friendWrap: True
-// fName: "casadi_hessian"
-// call: "        casadi::DM ret = hessian(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_hessian__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
-casadi::DM*
-    casadi_hessian__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = hessian(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_hessian" ===============
-// cppName: "casadi::casadi_hessian"
-// cWrapperName: "casadi_hessian__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_hessian__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// friendWrap: True
-// fName: "casadi_hessian"
-// call: "        casadi::IM ret = hessian(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_hessian__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
-casadi::IM*
-    casadi_hessian__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = hessian(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_hessian" ===============
-// cppName: "casadi::casadi_hessian"
-// cWrapperName: "casadi_hessian__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_hessian__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
-// friendWrap: True
-// fName: "casadi_hessian"
-// call: "        casadi::MX ret = hessian(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_hessian__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
-casadi::MX*
-    casadi_hessian__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
-
-        casadi::MX ret = hessian(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzcat" ===============
-// cppName: "casadi::casadi_horzcat"
-// cWrapperName: "casadi_horzcat__0"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_horzcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
-// friendWrap: True
-// fName: "casadi_horzcat"
-// call: "        casadi::SX ret = horzcat(x0_);"
-extern "C"
-casadi::SX*
-    casadi_horzcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
-casadi::SX*
-    casadi_horzcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-
-        casadi::SX ret = horzcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzcat" ===============
-// cppName: "casadi::casadi_horzcat"
-// cWrapperName: "casadi_horzcat__1"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_horzcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
-// friendWrap: True
-// fName: "casadi_horzcat"
-// call: "        casadi::DM ret = horzcat(x0_);"
-extern "C"
-casadi::DM*
-    casadi_horzcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0);
-casadi::DM*
-    casadi_horzcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-
-        casadi::DM ret = horzcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzcat" ===============
-// cppName: "casadi::casadi_horzcat"
-// cWrapperName: "casadi_horzcat__2"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_horzcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
-// friendWrap: True
-// fName: "casadi_horzcat"
-// call: "        casadi::IM ret = horzcat(x0_);"
-extern "C"
-casadi::IM*
-    casadi_horzcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0);
-casadi::IM*
-    casadi_horzcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0){
-    try {
-        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
-
-        casadi::IM ret = horzcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzcat" ===============
-// cppName: "casadi::casadi_horzcat"
-// cWrapperName: "casadi_horzcat__3"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_horzcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
-// friendWrap: True
-// fName: "casadi_horzcat"
-// call: "        casadi::MX ret = horzcat(x0_);"
-extern "C"
-casadi::MX*
-    casadi_horzcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
-casadi::MX*
-    casadi_horzcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-
-        casadi::MX ret = horzcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzcat" ===============
-// cppName: "casadi::casadi_horzcat"
-// cWrapperName: "casadi_horzcat__4"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_horzcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
-// friendWrap: True
-// fName: "casadi_horzcat"
-// call: "        casadi::Sparsity ret = horzcat(x0_);"
-extern "C"
-casadi::Sparsity*
-    casadi_horzcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
-casadi::Sparsity*
-    casadi_horzcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
-    try {
-        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
-
-        casadi::Sparsity ret = horzcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi_horzsplit__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::SX > ret = horzsplit(x0_);"
-extern "C"
-std::vector< casadi::SX* >*
-    casadi_horzsplit__0(std::string ** err_msg, casadi::SX* x0);
-std::vector< casadi::SX* >*
-    casadi_horzsplit__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        std::vector< casadi::SX > ret = horzsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi_horzsplit__1(std::string ** err_msg, casadi::SX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::SX > ret = horzsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::SX* >*
-    casadi_horzsplit__1(std::string ** err_msg, casadi::SX* x0, int x1);
-std::vector< casadi::SX* >*
-    casadi_horzsplit__1(std::string ** err_msg, casadi::SX* x0, int x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::SX > ret = horzsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi_horzsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::SX > ret = horzsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::SX* >*
-    casadi_horzsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1);
-std::vector< casadi::SX* >*
-    casadi_horzsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::SX > ret = horzsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi_horzsplit__3(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::DM > ret = horzsplit(x0_);"
-extern "C"
-std::vector< casadi::DM* >*
-    casadi_horzsplit__3(std::string ** err_msg, casadi::DM* x0);
-std::vector< casadi::DM* >*
-    casadi_horzsplit__3(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        std::vector< casadi::DM > ret = horzsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__4"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi_horzsplit__4(std::string ** err_msg, casadi::DM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::DM > ret = horzsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::DM* >*
-    casadi_horzsplit__4(std::string ** err_msg, casadi::DM* x0, int x1);
-std::vector< casadi::DM* >*
-    casadi_horzsplit__4(std::string ** err_msg, casadi::DM* x0, int x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::DM > ret = horzsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__5"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi_horzsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::DM > ret = horzsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::DM* >*
-    casadi_horzsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1);
-std::vector< casadi::DM* >*
-    casadi_horzsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::DM > ret = horzsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__6"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi_horzsplit__6(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::IM > ret = horzsplit(x0_);"
-extern "C"
-std::vector< casadi::IM* >*
-    casadi_horzsplit__6(std::string ** err_msg, casadi::IM* x0);
-std::vector< casadi::IM* >*
-    casadi_horzsplit__6(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        std::vector< casadi::IM > ret = horzsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__7"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi_horzsplit__7(std::string ** err_msg, casadi::IM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::IM > ret = horzsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::IM* >*
-    casadi_horzsplit__7(std::string ** err_msg, casadi::IM* x0, int x1);
-std::vector< casadi::IM* >*
-    casadi_horzsplit__7(std::string ** err_msg, casadi::IM* x0, int x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::IM > ret = horzsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__8"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi_horzsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::IM > ret = horzsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::IM* >*
-    casadi_horzsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1);
-std::vector< casadi::IM* >*
-    casadi_horzsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::IM > ret = horzsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__9"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_horzsplit__9(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::MX > ret = horzsplit(x0_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_horzsplit__9(std::string ** err_msg, casadi::MX* x0);
-std::vector< casadi::MX* >*
-    casadi_horzsplit__9(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        std::vector< casadi::MX > ret = horzsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__10"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_horzsplit__10(std::string ** err_msg, casadi::MX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::MX > ret = horzsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_horzsplit__10(std::string ** err_msg, casadi::MX* x0, int x1);
-std::vector< casadi::MX* >*
-    casadi_horzsplit__10(std::string ** err_msg, casadi::MX* x0, int x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::MX > ret = horzsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__11"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_horzsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::MX > ret = horzsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_horzsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1);
-std::vector< casadi::MX* >*
-    casadi_horzsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::MX > ret = horzsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__12"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
-// proto: "std::vector< casadi::Sparsity* >*\n    casadi_horzsplit__12(std::string ** err_msg, casadi::Sparsity* x0)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::Sparsity > ret = horzsplit(x0_);"
-extern "C"
-std::vector< casadi::Sparsity* >*
-    casadi_horzsplit__12(std::string ** err_msg, casadi::Sparsity* x0);
-std::vector< casadi::Sparsity* >*
-    casadi_horzsplit__12(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        std::vector< casadi::Sparsity > ret = horzsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__13"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
-// proto: "std::vector< casadi::Sparsity* >*\n    casadi_horzsplit__13(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::Sparsity > ret = horzsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::Sparsity* >*
-    casadi_horzsplit__13(std::string ** err_msg, casadi::Sparsity* x0, int x1);
-std::vector< casadi::Sparsity* >*
-    casadi_horzsplit__13(std::string ** err_msg, casadi::Sparsity* x0, int x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::Sparsity > ret = horzsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_horzsplit" ===============
-// cppName: "casadi::casadi_horzsplit"
-// cWrapperName: "casadi_horzsplit__14"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
-// proto: "std::vector< casadi::Sparsity* >*\n    casadi_horzsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_horzsplit"
-// call: "        std::vector< casadi::Sparsity > ret = horzsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::Sparsity* >*
-    casadi_horzsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1);
-std::vector< casadi::Sparsity* >*
-    casadi_horzsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::Sparsity > ret = horzsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_if_else" ===============
-// cppName: "casadi::casadi_if_else"
-// cWrapperName: "casadi_if_else__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_if_else__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// friendWrap: True
-// fName: "casadi_if_else"
-// call: "        casadi::SX ret = if_else(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_if_else__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
-casadi::SX*
-    casadi_if_else__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = if_else(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_if_else" ===============
-// cppName: "casadi::casadi_if_else"
-// cWrapperName: "casadi_if_else__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_if_else__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_if_else"
-// call: "        casadi::SX ret = if_else(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::SX*
-    casadi_if_else__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3);
-casadi::SX*
-    casadi_if_else__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::SX ret = if_else(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_if_else" ===============
-// cppName: "casadi::casadi_if_else"
-// cWrapperName: "casadi_if_else__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_if_else__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// friendWrap: True
-// fName: "casadi_if_else"
-// call: "        casadi::DM ret = if_else(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_if_else__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
-casadi::DM*
-    casadi_if_else__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = if_else(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_if_else" ===============
-// cppName: "casadi::casadi_if_else"
-// cWrapperName: "casadi_if_else__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_if_else__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_if_else"
-// call: "        casadi::DM ret = if_else(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::DM*
-    casadi_if_else__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3);
-casadi::DM*
-    casadi_if_else__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::DM ret = if_else(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_if_else" ===============
-// cppName: "casadi::casadi_if_else"
-// cWrapperName: "casadi_if_else__4"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_if_else__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// friendWrap: True
-// fName: "casadi_if_else"
-// call: "        casadi::IM ret = if_else(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_if_else__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
-casadi::IM*
-    casadi_if_else__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = if_else(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_if_else" ===============
-// cppName: "casadi::casadi_if_else"
-// cWrapperName: "casadi_if_else__5"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_if_else__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_if_else"
-// call: "        casadi::IM ret = if_else(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::IM*
-    casadi_if_else__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3);
-casadi::IM*
-    casadi_if_else__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::IM ret = if_else(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_if_else" ===============
-// cppName: "casadi::casadi_if_else"
-// cWrapperName: "casadi_if_else__6"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_if_else__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
-// friendWrap: True
-// fName: "casadi_if_else"
-// call: "        casadi::MX ret = if_else(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_if_else__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
-casadi::MX*
-    casadi_if_else__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
-
-        casadi::MX ret = if_else(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_if_else" ===============
-// cppName: "casadi::casadi_if_else"
-// cWrapperName: "casadi_if_else__7"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_if_else__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_if_else"
-// call: "        casadi::MX ret = if_else(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::MX*
-    casadi_if_else__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3);
-casadi::MX*
-    casadi_if_else__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::MX ret = if_else(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_inv" ===============
-// cppName: "casadi::casadi_inv"
-// cWrapperName: "casadi_inv__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_inv__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_inv"
-// call: "        casadi::SX ret = inv(x0_);"
-extern "C"
-casadi::SX*
-    casadi_inv__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_inv__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = inv(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_inv" ===============
-// cppName: "casadi::casadi_inv"
-// cWrapperName: "casadi_inv__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_inv__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_inv"
-// call: "        casadi::DM ret = inv(x0_);"
-extern "C"
-casadi::DM*
-    casadi_inv__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_inv__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = inv(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_inv" ===============
-// cppName: "casadi::casadi_inv"
-// cWrapperName: "casadi_inv__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_inv__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_inv"
-// call: "        casadi::IM ret = inv(x0_);"
-extern "C"
-casadi::IM*
-    casadi_inv__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_inv__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = inv(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_inv" ===============
-// cppName: "casadi::casadi_inv"
-// cWrapperName: "casadi_inv__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_inv__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_inv"
-// call: "        casadi::MX ret = inv(x0_);"
-extern "C"
-casadi::MX*
-    casadi_inv__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_inv__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = inv(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_inv_skew" ===============
-// cppName: "casadi::casadi_inv_skew"
-// cWrapperName: "casadi_inv_skew__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_inv_skew__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_inv_skew"
-// call: "        casadi::SX ret = inv_skew(x0_);"
-extern "C"
-casadi::SX*
-    casadi_inv_skew__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_inv_skew__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = inv_skew(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_inv_skew" ===============
-// cppName: "casadi::casadi_inv_skew"
-// cWrapperName: "casadi_inv_skew__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_inv_skew__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_inv_skew"
-// call: "        casadi::DM ret = inv_skew(x0_);"
-extern "C"
-casadi::DM*
-    casadi_inv_skew__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_inv_skew__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = inv_skew(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_inv_skew" ===============
-// cppName: "casadi::casadi_inv_skew"
-// cWrapperName: "casadi_inv_skew__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_inv_skew__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_inv_skew"
-// call: "        casadi::IM ret = inv_skew(x0_);"
-extern "C"
-casadi::IM*
-    casadi_inv_skew__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_inv_skew__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = inv_skew(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_inv_skew" ===============
-// cppName: "casadi::casadi_inv_skew"
-// cWrapperName: "casadi_inv_skew__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_inv_skew__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_inv_skew"
-// call: "        casadi::MX ret = inv_skew(x0_);"
-extern "C"
-casadi::MX*
-    casadi_inv_skew__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_inv_skew__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = inv_skew(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_is_equal" ===============
-// cppName: "casadi::casadi_is_equal"
-// cWrapperName: "casadi_is_equal__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_is_equal__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_is_equal"
-// call: "        bool ret = casadi::is_equal(x0_, x1_);"
-extern "C"
-int
-    casadi_is_equal__0(std::string ** err_msg, double* x0, double* x1);
-int
-    casadi_is_equal__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        bool ret = casadi::is_equal(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_is_equal" ===============
-// cppName: "casadi::casadi_is_equal"
-// cWrapperName: "casadi_is_equal__1"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1, int x2)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False),(CInt,SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_is_equal__1(std::string ** err_msg, double* x0, double* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_is_equal"
-// call: "        bool ret = casadi::is_equal(x0_, x1_, x2_);"
-extern "C"
-int
-    casadi_is_equal__1(std::string ** err_msg, double* x0, double* x1, int x2);
-int
-    casadi_is_equal__1(std::string ** err_msg, double* x0, double* x1, int x2){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        bool ret = casadi::is_equal(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_is_equal" ===============
-// cppName: "casadi::casadi_is_equal"
-// cWrapperName: "casadi_is_equal__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_is_equal__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_is_equal"
-// call: "        bool ret = is_equal(x0_, x1_);"
-extern "C"
-int
-    casadi_is_equal__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-int
-    casadi_is_equal__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        bool ret = is_equal(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_is_equal" ===============
-// cppName: "casadi::casadi_is_equal"
-// cWrapperName: "casadi_is_equal__3"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_is_equal__3(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_is_equal"
-// call: "        bool ret = is_equal(x0_, x1_, x2_);"
-extern "C"
-int
-    casadi_is_equal__3(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2);
-int
-    casadi_is_equal__3(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        bool ret = is_equal(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_is_equal" ===============
-// cppName: "casadi::casadi_is_equal"
-// cWrapperName: "casadi_is_equal__4"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_is_equal__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_is_equal"
-// call: "        bool ret = is_equal(x0_, x1_);"
-extern "C"
-int
-    casadi_is_equal__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-int
-    casadi_is_equal__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        bool ret = is_equal(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_is_equal" ===============
-// cppName: "casadi::casadi_is_equal"
-// cWrapperName: "casadi_is_equal__5"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_is_equal__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_is_equal"
-// call: "        bool ret = is_equal(x0_, x1_, x2_);"
-extern "C"
-int
-    casadi_is_equal__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, int x2);
-int
-    casadi_is_equal__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, int x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        bool ret = is_equal(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_is_equal" ===============
-// cppName: "casadi::casadi_is_equal"
-// cWrapperName: "casadi_is_equal__6"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_is_equal__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_is_equal"
-// call: "        bool ret = is_equal(x0_, x1_);"
-extern "C"
-int
-    casadi_is_equal__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-int
-    casadi_is_equal__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        bool ret = is_equal(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_is_equal" ===============
-// cppName: "casadi::casadi_is_equal"
-// cWrapperName: "casadi_is_equal__7"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_is_equal__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_is_equal"
-// call: "        bool ret = is_equal(x0_, x1_, x2_);"
-extern "C"
-int
-    casadi_is_equal__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, int x2);
-int
-    casadi_is_equal__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, int x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        bool ret = is_equal(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_is_equal" ===============
-// cppName: "casadi::casadi_is_equal"
-// cWrapperName: "casadi_is_equal__8"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_is_equal__8(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_is_equal"
-// call: "        bool ret = is_equal(x0_, x1_);"
-extern "C"
-int
-    casadi_is_equal__8(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-int
-    casadi_is_equal__8(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        bool ret = is_equal(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_is_equal" ===============
-// cppName: "casadi::casadi_is_equal"
-// cWrapperName: "casadi_is_equal__9"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_is_equal__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_is_equal"
-// call: "        bool ret = is_equal(x0_, x1_, x2_);"
-extern "C"
-int
-    casadi_is_equal__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, int x2);
-int
-    casadi_is_equal__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        bool ret = is_equal(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_jacobian" ===============
-// cppName: "casadi::casadi_jacobian"
-// cWrapperName: "casadi_jacobian__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_jacobian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_jacobian"
-// call: "        casadi::SX ret = jacobian(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_jacobian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_jacobian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = jacobian(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_jacobian" ===============
-// cppName: "casadi::casadi_jacobian"
-// cWrapperName: "casadi_jacobian__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_jacobian__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_jacobian"
-// call: "        casadi::DM ret = jacobian(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_jacobian__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_jacobian__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = jacobian(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_jacobian" ===============
-// cppName: "casadi::casadi_jacobian"
-// cWrapperName: "casadi_jacobian__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_jacobian__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_jacobian"
-// call: "        casadi::IM ret = jacobian(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_jacobian__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_jacobian__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = jacobian(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_jacobian" ===============
-// cppName: "casadi::casadi_jacobian"
-// cWrapperName: "casadi_jacobian__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_jacobian__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_jacobian"
-// call: "        casadi::MX ret = jacobian(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_jacobian__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_jacobian__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = jacobian(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_jtimes" ===============
-// cppName: "casadi::casadi_jtimes"
-// cWrapperName: "casadi_jtimes__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_jtimes__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// friendWrap: True
-// fName: "casadi_jtimes"
-// call: "        casadi::SX ret = jtimes(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_jtimes__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
-casadi::SX*
-    casadi_jtimes__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = jtimes(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_jtimes" ===============
-// cppName: "casadi::casadi_jtimes"
-// cWrapperName: "casadi_jtimes__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_jtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_jtimes"
-// call: "        casadi::SX ret = jtimes(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::SX*
-    casadi_jtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3);
-casadi::SX*
-    casadi_jtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::SX ret = jtimes(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_jtimes" ===============
-// cppName: "casadi::casadi_jtimes"
-// cWrapperName: "casadi_jtimes__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_jtimes__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// friendWrap: True
-// fName: "casadi_jtimes"
-// call: "        casadi::DM ret = jtimes(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_jtimes__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
-casadi::DM*
-    casadi_jtimes__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = jtimes(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_jtimes" ===============
-// cppName: "casadi::casadi_jtimes"
-// cWrapperName: "casadi_jtimes__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_jtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_jtimes"
-// call: "        casadi::DM ret = jtimes(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::DM*
-    casadi_jtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3);
-casadi::DM*
-    casadi_jtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::DM ret = jtimes(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_jtimes" ===============
-// cppName: "casadi::casadi_jtimes"
-// cWrapperName: "casadi_jtimes__4"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_jtimes__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// friendWrap: True
-// fName: "casadi_jtimes"
-// call: "        casadi::IM ret = jtimes(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_jtimes__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
-casadi::IM*
-    casadi_jtimes__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = jtimes(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_jtimes" ===============
-// cppName: "casadi::casadi_jtimes"
-// cWrapperName: "casadi_jtimes__5"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_jtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_jtimes"
-// call: "        casadi::IM ret = jtimes(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::IM*
-    casadi_jtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3);
-casadi::IM*
-    casadi_jtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::IM ret = jtimes(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_jtimes" ===============
-// cppName: "casadi::casadi_jtimes"
-// cWrapperName: "casadi_jtimes__6"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_jtimes__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
-// friendWrap: True
-// fName: "casadi_jtimes"
-// call: "        casadi::MX ret = jtimes(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_jtimes__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
-casadi::MX*
-    casadi_jtimes__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
-
-        casadi::MX ret = jtimes(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_jtimes" ===============
-// cppName: "casadi::casadi_jtimes"
-// cWrapperName: "casadi_jtimes__7"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_jtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_jtimes"
-// call: "        casadi::MX ret = jtimes(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::MX*
-    casadi_jtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3);
-casadi::MX*
-    casadi_jtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        casadi::MX ret = jtimes(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_kron" ===============
-// cppName: "casadi::casadi_kron"
-// cWrapperName: "casadi_kron__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_kron__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_kron"
-// call: "        casadi::SX ret = kron(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_kron__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_kron__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = kron(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_kron" ===============
-// cppName: "casadi::casadi_kron"
-// cWrapperName: "casadi_kron__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_kron__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_kron"
-// call: "        casadi::DM ret = kron(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_kron__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_kron__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = kron(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_kron" ===============
-// cppName: "casadi::casadi_kron"
-// cWrapperName: "casadi_kron__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_kron__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_kron"
-// call: "        casadi::IM ret = kron(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_kron__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_kron__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = kron(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_kron" ===============
-// cppName: "casadi::casadi_kron"
-// cWrapperName: "casadi_kron__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_kron__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_kron"
-// call: "        casadi::MX ret = kron(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_kron__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_kron__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = kron(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_kron" ===============
-// cppName: "casadi::casadi_kron"
-// cWrapperName: "casadi_kron__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_kron__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
-// friendWrap: True
-// fName: "casadi_kron"
-// call: "        casadi::Sparsity ret = kron(x0_, x1_);"
-extern "C"
-casadi::Sparsity*
-    casadi_kron__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1);
-casadi::Sparsity*
-    casadi_kron__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::Sparsity ret = kron(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ldivide" ===============
-// cppName: "casadi::casadi_ldivide"
-// cWrapperName: "casadi_ldivide__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_ldivide__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_ldivide"
-// call: "        double ret = x0_ / x1_;"
-extern "C"
-double
-    casadi_ldivide__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_ldivide__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = x0_ / x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ldivide" ===============
-// cppName: "casadi::casadi_ldivide"
-// cWrapperName: "casadi_ldivide__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_ldivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_ldivide"
-// call: "        casadi::SX ret = x0_ / x1_;"
-extern "C"
-casadi::SX*
-    casadi_ldivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_ldivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = x0_ / x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ldivide" ===============
-// cppName: "casadi::casadi_ldivide"
-// cWrapperName: "casadi_ldivide__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_ldivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_ldivide"
-// call: "        casadi::DM ret = x0_ / x1_;"
-extern "C"
-casadi::DM*
-    casadi_ldivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_ldivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = x0_ / x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ldivide" ===============
-// cppName: "casadi::casadi_ldivide"
-// cWrapperName: "casadi_ldivide__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_ldivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_ldivide"
-// call: "        casadi::IM ret = x0_ / x1_;"
-extern "C"
-casadi::IM*
-    casadi_ldivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_ldivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = x0_ / x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ldivide" ===============
-// cppName: "casadi::casadi_ldivide"
-// cWrapperName: "casadi_ldivide__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_ldivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_ldivide"
-// call: "        casadi::MX ret = x0_ / x1_;"
-extern "C"
-casadi::MX*
-    casadi_ldivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_ldivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = x0_ / x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_le" ===============
-// cppName: "casadi::casadi_le"
-// cWrapperName: "casadi_le__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_le__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_le"
-// call: "        double ret = x0_ <= x1_;"
-extern "C"
-double
-    casadi_le__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_le__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = x0_ <= x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_le" ===============
-// cppName: "casadi::casadi_le"
-// cWrapperName: "casadi_le__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_le__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_le"
-// call: "        casadi::SX ret = x0_ <= x1_;"
-extern "C"
-casadi::SX*
-    casadi_le__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_le__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = x0_ <= x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_le" ===============
-// cppName: "casadi::casadi_le"
-// cWrapperName: "casadi_le__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_le__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_le"
-// call: "        casadi::DM ret = x0_ <= x1_;"
-extern "C"
-casadi::DM*
-    casadi_le__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_le__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = x0_ <= x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_le" ===============
-// cppName: "casadi::casadi_le"
-// cWrapperName: "casadi_le__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_le__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_le"
-// call: "        casadi::IM ret = x0_ <= x1_;"
-extern "C"
-casadi::IM*
-    casadi_le__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_le__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = x0_ <= x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_le" ===============
-// cppName: "casadi::casadi_le"
-// cWrapperName: "casadi_le__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_le__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_le"
-// call: "        casadi::MX ret = x0_ <= x1_;"
-extern "C"
-casadi::MX*
-    casadi_le__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_le__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = x0_ <= x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_linspace" ===============
-// cppName: "casadi::casadi_linspace"
-// cWrapperName: "casadi_linspace__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_linspace__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_linspace"
-// call: "        casadi::SX ret = linspace(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_linspace__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2);
-casadi::SX*
-    casadi_linspace__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = linspace(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_linspace" ===============
-// cppName: "casadi::casadi_linspace"
-// cWrapperName: "casadi_linspace__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_linspace__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_linspace"
-// call: "        casadi::DM ret = linspace(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_linspace__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, int x2);
-casadi::DM*
-    casadi_linspace__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, int x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = linspace(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_linspace" ===============
-// cppName: "casadi::casadi_linspace"
-// cWrapperName: "casadi_linspace__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_linspace__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_linspace"
-// call: "        casadi::IM ret = linspace(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_linspace__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, int x2);
-casadi::IM*
-    casadi_linspace__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, int x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = linspace(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_linspace" ===============
-// cppName: "casadi::casadi_linspace"
-// cWrapperName: "casadi_linspace__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_linspace__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_linspace"
-// call: "        casadi::MX ret = linspace(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_linspace__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, int x2);
-casadi::MX*
-    casadi_linspace__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::MX ret = linspace(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_log" ===============
-// cppName: "casadi::casadi_log"
-// cWrapperName: "casadi_log__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_log__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_log"
-// call: "        double ret = log(x0_);"
-extern "C"
-double
-    casadi_log__0(std::string ** err_msg, double* x0);
-double
-    casadi_log__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = log(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_log" ===============
-// cppName: "casadi::casadi_log"
-// cWrapperName: "casadi_log__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_log__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_log"
-// call: "        casadi::SX ret = log(x0_);"
-extern "C"
-casadi::SX*
-    casadi_log__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_log__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = log(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_log" ===============
-// cppName: "casadi::casadi_log"
-// cWrapperName: "casadi_log__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_log__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_log"
-// call: "        casadi::DM ret = log(x0_);"
-extern "C"
-casadi::DM*
-    casadi_log__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_log__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = log(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_log" ===============
-// cppName: "casadi::casadi_log"
-// cWrapperName: "casadi_log__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_log__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_log"
-// call: "        casadi::IM ret = log(x0_);"
-extern "C"
-casadi::IM*
-    casadi_log__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_log__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = log(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_log" ===============
-// cppName: "casadi::casadi_log"
-// cWrapperName: "casadi_log__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_log__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_log"
-// call: "        casadi::MX ret = log(x0_);"
-extern "C"
-casadi::MX*
-    casadi_log__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_log__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = log(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_log10" ===============
-// cppName: "casadi::casadi_log10"
-// cWrapperName: "casadi_log10__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_log10__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_log10"
-// call: "        double ret = log10(x0_);"
-extern "C"
-double
-    casadi_log10__0(std::string ** err_msg, double* x0);
-double
-    casadi_log10__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = log10(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_log10" ===============
-// cppName: "casadi::casadi_log10"
-// cWrapperName: "casadi_log10__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_log10__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_log10"
-// call: "        casadi::SX ret = log10(x0_);"
-extern "C"
-casadi::SX*
-    casadi_log10__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_log10__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = log10(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_log10" ===============
-// cppName: "casadi::casadi_log10"
-// cWrapperName: "casadi_log10__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_log10__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_log10"
-// call: "        casadi::DM ret = log10(x0_);"
-extern "C"
-casadi::DM*
-    casadi_log10__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_log10__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = log10(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_log10" ===============
-// cppName: "casadi::casadi_log10"
-// cWrapperName: "casadi_log10__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_log10__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_log10"
-// call: "        casadi::IM ret = log10(x0_);"
-extern "C"
-casadi::IM*
-    casadi_log10__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_log10__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = log10(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_log10" ===============
-// cppName: "casadi::casadi_log10"
-// cWrapperName: "casadi_log10__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_log10__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_log10"
-// call: "        casadi::MX ret = log10(x0_);"
-extern "C"
-casadi::MX*
-    casadi_log10__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_log10__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = log10(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_lt" ===============
-// cppName: "casadi::casadi_lt"
-// cWrapperName: "casadi_lt__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_lt__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_lt"
-// call: "        double ret = x0_ < x1_;"
-extern "C"
-double
-    casadi_lt__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_lt__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = x0_ < x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_lt" ===============
-// cppName: "casadi::casadi_lt"
-// cWrapperName: "casadi_lt__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_lt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_lt"
-// call: "        casadi::SX ret = x0_ < x1_;"
-extern "C"
-casadi::SX*
-    casadi_lt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_lt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = x0_ < x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_lt" ===============
-// cppName: "casadi::casadi_lt"
-// cWrapperName: "casadi_lt__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_lt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_lt"
-// call: "        casadi::DM ret = x0_ < x1_;"
-extern "C"
-casadi::DM*
-    casadi_lt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_lt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = x0_ < x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_lt" ===============
-// cppName: "casadi::casadi_lt"
-// cWrapperName: "casadi_lt__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_lt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_lt"
-// call: "        casadi::IM ret = x0_ < x1_;"
-extern "C"
-casadi::IM*
-    casadi_lt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_lt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = x0_ < x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_lt" ===============
-// cppName: "casadi::casadi_lt"
-// cWrapperName: "casadi_lt__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_lt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_lt"
-// call: "        casadi::MX ret = x0_ < x1_;"
-extern "C"
-casadi::MX*
-    casadi_lt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_lt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = x0_ < x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mac" ===============
-// cppName: "casadi::casadi_mac"
-// cWrapperName: "casadi_mac__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_mac__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// friendWrap: True
-// fName: "casadi_mac"
-// call: "        casadi::SX ret = mac(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_mac__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
-casadi::SX*
-    casadi_mac__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = mac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mac" ===============
-// cppName: "casadi::casadi_mac"
-// cWrapperName: "casadi_mac__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_mac__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// friendWrap: True
-// fName: "casadi_mac"
-// call: "        casadi::DM ret = mac(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_mac__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
-casadi::DM*
-    casadi_mac__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = mac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mac" ===============
-// cppName: "casadi::casadi_mac"
-// cWrapperName: "casadi_mac__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_mac__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// friendWrap: True
-// fName: "casadi_mac"
-// call: "        casadi::IM ret = mac(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_mac__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
-casadi::IM*
-    casadi_mac__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = mac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mac" ===============
-// cppName: "casadi::casadi_mac"
-// cWrapperName: "casadi_mac__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_mac__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
-// friendWrap: True
-// fName: "casadi_mac"
-// call: "        casadi::MX ret = mac(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_mac__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
-casadi::MX*
-    casadi_mac__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
-
-        casadi::MX ret = mac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mac" ===============
-// cppName: "casadi::casadi_mac"
-// cWrapperName: "casadi_mac__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_mac__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2)"
-// friendWrap: True
-// fName: "casadi_mac"
-// call: "        casadi::Sparsity ret = mac(x0_, x1_, x2_);"
-extern "C"
-casadi::Sparsity*
-    casadi_mac__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2);
-casadi::Sparsity*
-    casadi_mac__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
-
-        casadi::Sparsity ret = mac(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_matrix_expand" ===============
-// cppName: "casadi::casadi_matrix_expand"
-// cWrapperName: "casadi_matrix_expand__0"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_matrix_expand__0(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_matrix_expand"
-// call: "        casadi::MX ret = matrix_expand(x0_);"
-extern "C"
-casadi::MX*
-    casadi_matrix_expand__0(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_matrix_expand__0(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = matrix_expand(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_matrix_expand" ===============
-// cppName: "casadi::casadi_matrix_expand"
-// cWrapperName: "casadi_matrix_expand__1"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_matrix_expand__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
-// friendWrap: True
-// fName: "casadi_matrix_expand"
-// call: "        casadi::MX ret = matrix_expand(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_matrix_expand__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1);
-casadi::MX*
-    casadi_matrix_expand__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-
-        casadi::MX ret = matrix_expand(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_matrix_expand" ===============
-// cppName: "casadi::casadi_matrix_expand"
-// cWrapperName: "casadi_matrix_expand__2"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_matrix_expand__2(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// friendWrap: True
-// fName: "casadi_matrix_expand"
-// call: "        casadi::MX ret = matrix_expand(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_matrix_expand__2(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::MX*
-    casadi_matrix_expand__2(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
-
-        casadi::MX ret = matrix_expand(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_matrix_expand" ===============
-// cppName: "casadi::casadi_matrix_expand"
-// cWrapperName: "casadi_matrix_expand__3"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_matrix_expand__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
-// friendWrap: True
-// fName: "casadi_matrix_expand"
-// call: "        std::vector< casadi::MX > ret = matrix_expand(x0_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_matrix_expand__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
-std::vector< casadi::MX* >*
-    casadi_matrix_expand__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-
-        std::vector< casadi::MX > ret = matrix_expand(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_matrix_expand" ===============
-// cppName: "casadi::casadi_matrix_expand"
-// cWrapperName: "casadi_matrix_expand__4"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_matrix_expand__4(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1)"
-// friendWrap: True
-// fName: "casadi_matrix_expand"
-// call: "        std::vector< casadi::MX > ret = matrix_expand(x0_, x1_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_matrix_expand__4(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1);
-std::vector< casadi::MX* >*
-    casadi_matrix_expand__4(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-
-        std::vector< casadi::MX > ret = matrix_expand(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_matrix_expand" ===============
-// cppName: "casadi::casadi_matrix_expand"
-// cWrapperName: "casadi_matrix_expand__5"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_matrix_expand__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// friendWrap: True
-// fName: "casadi_matrix_expand"
-// call: "        std::vector< casadi::MX > ret = matrix_expand(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_matrix_expand__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2);
-std::vector< casadi::MX* >*
-    casadi_matrix_expand__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
-
-        std::vector< casadi::MX > ret = matrix_expand(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_max" ===============
-// cppName: "casadi::casadi_max"
-// cWrapperName: "casadi_max__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_max__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_max"
-// call: "        double ret = fmax(x0_, x1_);"
-extern "C"
-double
-    casadi_max__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_max__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = fmax(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_max" ===============
-// cppName: "casadi::casadi_max"
-// cWrapperName: "casadi_max__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_max__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_max"
-// call: "        casadi::SX ret = fmax(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_max__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_max__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = fmax(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_max" ===============
-// cppName: "casadi::casadi_max"
-// cWrapperName: "casadi_max__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_max__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_max"
-// call: "        casadi::DM ret = fmax(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_max__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_max__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = fmax(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_max" ===============
-// cppName: "casadi::casadi_max"
-// cWrapperName: "casadi_max__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_max__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_max"
-// call: "        casadi::IM ret = fmax(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_max__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_max__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = fmax(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_max" ===============
-// cppName: "casadi::casadi_max"
-// cWrapperName: "casadi_max__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_max__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_max"
-// call: "        casadi::MX ret = fmax(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_max__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_max__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = fmax(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_min" ===============
-// cppName: "casadi::casadi_min"
-// cWrapperName: "casadi_min__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_min__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_min"
-// call: "        double ret = fmin(x0_, x1_);"
-extern "C"
-double
-    casadi_min__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_min__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = fmin(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_min" ===============
-// cppName: "casadi::casadi_min"
-// cWrapperName: "casadi_min__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_min__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_min"
-// call: "        casadi::SX ret = fmin(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_min__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_min__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = fmin(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_min" ===============
-// cppName: "casadi::casadi_min"
-// cWrapperName: "casadi_min__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_min__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_min"
-// call: "        casadi::DM ret = fmin(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_min__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_min__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = fmin(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_min" ===============
-// cppName: "casadi::casadi_min"
-// cWrapperName: "casadi_min__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_min__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_min"
-// call: "        casadi::IM ret = fmin(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_min__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_min__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = fmin(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_min" ===============
-// cppName: "casadi::casadi_min"
-// cWrapperName: "casadi_min__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_min__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_min"
-// call: "        casadi::MX ret = fmin(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_min__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_min__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = fmin(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_minus" ===============
-// cppName: "casadi::casadi_minus"
-// cWrapperName: "casadi_minus__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_minus__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_minus"
-// call: "        double ret = x0_ - x1_;"
-extern "C"
-double
-    casadi_minus__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_minus__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = x0_ - x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_minus" ===============
-// cppName: "casadi::casadi_minus"
-// cWrapperName: "casadi_minus__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_minus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_minus"
-// call: "        casadi::SX ret = x0_ - x1_;"
-extern "C"
-casadi::SX*
-    casadi_minus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_minus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = x0_ - x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_minus" ===============
-// cppName: "casadi::casadi_minus"
-// cWrapperName: "casadi_minus__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_minus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_minus"
-// call: "        casadi::DM ret = x0_ - x1_;"
-extern "C"
-casadi::DM*
-    casadi_minus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_minus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = x0_ - x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_minus" ===============
-// cppName: "casadi::casadi_minus"
-// cWrapperName: "casadi_minus__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_minus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_minus"
-// call: "        casadi::IM ret = x0_ - x1_;"
-extern "C"
-casadi::IM*
-    casadi_minus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_minus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = x0_ - x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_minus" ===============
-// cppName: "casadi::casadi_minus"
-// cWrapperName: "casadi_minus__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_minus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_minus"
-// call: "        casadi::MX ret = x0_ - x1_;"
-extern "C"
-casadi::MX*
-    casadi_minus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_minus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = x0_ - x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mldivide" ===============
-// cppName: "casadi::casadi_mldivide"
-// cWrapperName: "casadi_mldivide__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_mldivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_mldivide"
-// call: "        casadi::SX ret = mldivide(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_mldivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_mldivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = mldivide(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mldivide" ===============
-// cppName: "casadi::casadi_mldivide"
-// cWrapperName: "casadi_mldivide__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_mldivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_mldivide"
-// call: "        casadi::DM ret = mldivide(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_mldivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_mldivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = mldivide(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mldivide" ===============
-// cppName: "casadi::casadi_mldivide"
-// cWrapperName: "casadi_mldivide__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_mldivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_mldivide"
-// call: "        casadi::IM ret = mldivide(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_mldivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_mldivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = mldivide(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mldivide" ===============
-// cppName: "casadi::casadi_mldivide"
-// cWrapperName: "casadi_mldivide__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_mldivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_mldivide"
-// call: "        casadi::MX ret = mldivide(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_mldivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_mldivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = mldivide(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mod" ===============
-// cppName: "casadi::casadi_mod"
-// cWrapperName: "casadi_mod__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_mod__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_mod"
-// call: "        double ret = fmod(x0_, x1_);"
-extern "C"
-double
-    casadi_mod__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_mod__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = fmod(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mod" ===============
-// cppName: "casadi::casadi_mod"
-// cWrapperName: "casadi_mod__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_mod__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_mod"
-// call: "        casadi::SX ret = fmod(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_mod__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_mod__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = fmod(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mod" ===============
-// cppName: "casadi::casadi_mod"
-// cWrapperName: "casadi_mod__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_mod__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_mod"
-// call: "        casadi::DM ret = fmod(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_mod__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_mod__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = fmod(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mod" ===============
-// cppName: "casadi::casadi_mod"
-// cWrapperName: "casadi_mod__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_mod__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_mod"
-// call: "        casadi::IM ret = fmod(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_mod__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_mod__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = fmod(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mod" ===============
-// cppName: "casadi::casadi_mod"
-// cWrapperName: "casadi_mod__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_mod__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_mod"
-// call: "        casadi::MX ret = fmod(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_mod__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_mod__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = fmod(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mpower" ===============
-// cppName: "casadi::casadi_mpower"
-// cWrapperName: "casadi_mpower__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_mpower__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_mpower"
-// call: "        casadi::SX ret = mpower(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_mpower__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_mpower__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = mpower(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mpower" ===============
-// cppName: "casadi::casadi_mpower"
-// cWrapperName: "casadi_mpower__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_mpower__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_mpower"
-// call: "        casadi::DM ret = mpower(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_mpower__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_mpower__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = mpower(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mpower" ===============
-// cppName: "casadi::casadi_mpower"
-// cWrapperName: "casadi_mpower__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_mpower__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_mpower"
-// call: "        casadi::IM ret = mpower(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_mpower__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_mpower__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = mpower(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mpower" ===============
-// cppName: "casadi::casadi_mpower"
-// cWrapperName: "casadi_mpower__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_mpower__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_mpower"
-// call: "        casadi::MX ret = mpower(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_mpower__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_mpower__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = mpower(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mrdivide" ===============
-// cppName: "casadi::casadi_mrdivide"
-// cWrapperName: "casadi_mrdivide__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_mrdivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_mrdivide"
-// call: "        casadi::SX ret = mrdivide(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_mrdivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_mrdivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = mrdivide(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mrdivide" ===============
-// cppName: "casadi::casadi_mrdivide"
-// cWrapperName: "casadi_mrdivide__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_mrdivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_mrdivide"
-// call: "        casadi::DM ret = mrdivide(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_mrdivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_mrdivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = mrdivide(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mrdivide" ===============
-// cppName: "casadi::casadi_mrdivide"
-// cWrapperName: "casadi_mrdivide__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_mrdivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_mrdivide"
-// call: "        casadi::IM ret = mrdivide(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_mrdivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_mrdivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = mrdivide(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mrdivide" ===============
-// cppName: "casadi::casadi_mrdivide"
-// cWrapperName: "casadi_mrdivide__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_mrdivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_mrdivide"
-// call: "        casadi::MX ret = mrdivide(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_mrdivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_mrdivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = mrdivide(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtaylor" ===============
-// cppName: "casadi::casadi_mtaylor"
-// cWrapperName: "casadi_mtaylor__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3, std::vector< int >* x4)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_mtaylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3, std::vector< int >* x4)"
-// friendWrap: True
-// fName: "casadi_mtaylor"
-// call: "        casadi::SX ret = mtaylor(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-casadi::SX*
-    casadi_mtaylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3, std::vector< int >* x4);
-casadi::SX*
-    casadi_mtaylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3, std::vector< int >* x4){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
-
-        casadi::SX ret = mtaylor(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtaylor" ===============
-// cppName: "casadi::casadi_mtaylor"
-// cWrapperName: "casadi_mtaylor__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_mtaylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// friendWrap: True
-// fName: "casadi_mtaylor"
-// call: "        casadi::SX ret = mtaylor(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_mtaylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
-casadi::SX*
-    casadi_mtaylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = mtaylor(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtaylor" ===============
-// cppName: "casadi::casadi_mtaylor"
-// cWrapperName: "casadi_mtaylor__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_mtaylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_mtaylor"
-// call: "        casadi::SX ret = mtaylor(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::SX*
-    casadi_mtaylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3);
-casadi::SX*
-    casadi_mtaylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        casadi::SX ret = mtaylor(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtaylor" ===============
-// cppName: "casadi::casadi_mtaylor"
-// cWrapperName: "casadi_mtaylor__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3, std::vector< int >* x4)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_mtaylor__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3, std::vector< int >* x4)"
-// friendWrap: True
-// fName: "casadi_mtaylor"
-// call: "        casadi::DM ret = mtaylor(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-casadi::DM*
-    casadi_mtaylor__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3, std::vector< int >* x4);
-casadi::DM*
-    casadi_mtaylor__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3, std::vector< int >* x4){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
-
-        casadi::DM ret = mtaylor(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtaylor" ===============
-// cppName: "casadi::casadi_mtaylor"
-// cWrapperName: "casadi_mtaylor__4"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_mtaylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// friendWrap: True
-// fName: "casadi_mtaylor"
-// call: "        casadi::DM ret = mtaylor(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_mtaylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
-casadi::DM*
-    casadi_mtaylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = mtaylor(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtaylor" ===============
-// cppName: "casadi::casadi_mtaylor"
-// cWrapperName: "casadi_mtaylor__5"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_mtaylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_mtaylor"
-// call: "        casadi::DM ret = mtaylor(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::DM*
-    casadi_mtaylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3);
-casadi::DM*
-    casadi_mtaylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        casadi::DM ret = mtaylor(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtaylor" ===============
-// cppName: "casadi::casadi_mtaylor"
-// cWrapperName: "casadi_mtaylor__6"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3, std::vector< int >* x4)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_mtaylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3, std::vector< int >* x4)"
-// friendWrap: True
-// fName: "casadi_mtaylor"
-// call: "        casadi::IM ret = mtaylor(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-casadi::IM*
-    casadi_mtaylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3, std::vector< int >* x4);
-casadi::IM*
-    casadi_mtaylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3, std::vector< int >* x4){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
-
-        casadi::IM ret = mtaylor(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtaylor" ===============
-// cppName: "casadi::casadi_mtaylor"
-// cWrapperName: "casadi_mtaylor__7"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_mtaylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// friendWrap: True
-// fName: "casadi_mtaylor"
-// call: "        casadi::IM ret = mtaylor(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_mtaylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
-casadi::IM*
-    casadi_mtaylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = mtaylor(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtaylor" ===============
-// cppName: "casadi::casadi_mtaylor"
-// cWrapperName: "casadi_mtaylor__8"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_mtaylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_mtaylor"
-// call: "        casadi::IM ret = mtaylor(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::IM*
-    casadi_mtaylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3);
-casadi::IM*
-    casadi_mtaylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        casadi::IM ret = mtaylor(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtimes" ===============
-// cppName: "casadi::casadi_mtimes"
-// cWrapperName: "casadi_mtimes__0"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_mtimes__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
-// friendWrap: True
-// fName: "casadi_mtimes"
-// call: "        casadi::SX ret = mtimes(x0_);"
-extern "C"
-casadi::SX*
-    casadi_mtimes__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
-casadi::SX*
-    casadi_mtimes__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-
-        casadi::SX ret = mtimes(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtimes" ===============
-// cppName: "casadi::casadi_mtimes"
-// cWrapperName: "casadi_mtimes__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_mtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_mtimes"
-// call: "        casadi::SX ret = mtimes(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_mtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_mtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = mtimes(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtimes" ===============
-// cppName: "casadi::casadi_mtimes"
-// cWrapperName: "casadi_mtimes__2"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_mtimes__2(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
-// friendWrap: True
-// fName: "casadi_mtimes"
-// call: "        casadi::DM ret = mtimes(x0_);"
-extern "C"
-casadi::DM*
-    casadi_mtimes__2(std::string ** err_msg, std::vector< casadi::DM* >* x0);
-casadi::DM*
-    casadi_mtimes__2(std::string ** err_msg, std::vector< casadi::DM* >* x0){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-
-        casadi::DM ret = mtimes(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtimes" ===============
-// cppName: "casadi::casadi_mtimes"
-// cWrapperName: "casadi_mtimes__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_mtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_mtimes"
-// call: "        casadi::DM ret = mtimes(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_mtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_mtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = mtimes(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtimes" ===============
-// cppName: "casadi::casadi_mtimes"
-// cWrapperName: "casadi_mtimes__4"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_mtimes__4(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
-// friendWrap: True
-// fName: "casadi_mtimes"
-// call: "        casadi::IM ret = mtimes(x0_);"
-extern "C"
-casadi::IM*
-    casadi_mtimes__4(std::string ** err_msg, std::vector< casadi::IM* >* x0);
-casadi::IM*
-    casadi_mtimes__4(std::string ** err_msg, std::vector< casadi::IM* >* x0){
-    try {
-        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
-
-        casadi::IM ret = mtimes(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtimes" ===============
-// cppName: "casadi::casadi_mtimes"
-// cWrapperName: "casadi_mtimes__5"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_mtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_mtimes"
-// call: "        casadi::IM ret = mtimes(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_mtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_mtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = mtimes(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtimes" ===============
-// cppName: "casadi::casadi_mtimes"
-// cWrapperName: "casadi_mtimes__6"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_mtimes__6(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
-// friendWrap: True
-// fName: "casadi_mtimes"
-// call: "        casadi::MX ret = mtimes(x0_);"
-extern "C"
-casadi::MX*
-    casadi_mtimes__6(std::string ** err_msg, std::vector< casadi::MX* >* x0);
-casadi::MX*
-    casadi_mtimes__6(std::string ** err_msg, std::vector< casadi::MX* >* x0){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-
-        casadi::MX ret = mtimes(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtimes" ===============
-// cppName: "casadi::casadi_mtimes"
-// cWrapperName: "casadi_mtimes__7"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_mtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_mtimes"
-// call: "        casadi::MX ret = mtimes(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_mtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_mtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = mtimes(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtimes" ===============
-// cppName: "casadi::casadi_mtimes"
-// cWrapperName: "casadi_mtimes__8"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_mtimes__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
-// friendWrap: True
-// fName: "casadi_mtimes"
-// call: "        casadi::Sparsity ret = mtimes(x0_);"
-extern "C"
-casadi::Sparsity*
-    casadi_mtimes__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
-casadi::Sparsity*
-    casadi_mtimes__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
-    try {
-        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
-
-        casadi::Sparsity ret = mtimes(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_mtimes" ===============
-// cppName: "casadi::casadi_mtimes"
-// cWrapperName: "casadi_mtimes__9"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_mtimes__9(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
-// friendWrap: True
-// fName: "casadi_mtimes"
-// call: "        casadi::Sparsity ret = mtimes(x0_, x1_);"
-extern "C"
-casadi::Sparsity*
-    casadi_mtimes__9(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1);
-casadi::Sparsity*
-    casadi_mtimes__9(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::Sparsity ret = mtimes(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_n_nodes" ===============
-// cppName: "casadi::casadi_n_nodes"
-// cWrapperName: "casadi_n_nodes__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: CInt
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_n_nodes__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_n_nodes"
-// call: "        int ret = n_nodes(x0_);"
-extern "C"
-int
-    casadi_n_nodes__0(std::string ** err_msg, casadi::SX* x0);
-int
-    casadi_n_nodes__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        int ret = n_nodes(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_n_nodes" ===============
-// cppName: "casadi::casadi_n_nodes"
-// cWrapperName: "casadi_n_nodes__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: CInt
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_n_nodes__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_n_nodes"
-// call: "        int ret = n_nodes(x0_);"
-extern "C"
-int
-    casadi_n_nodes__1(std::string ** err_msg, casadi::DM* x0);
-int
-    casadi_n_nodes__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        int ret = n_nodes(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_n_nodes" ===============
-// cppName: "casadi::casadi_n_nodes"
-// cWrapperName: "casadi_n_nodes__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: CInt
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_n_nodes__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_n_nodes"
-// call: "        int ret = n_nodes(x0_);"
-extern "C"
-int
-    casadi_n_nodes__2(std::string ** err_msg, casadi::IM* x0);
-int
-    casadi_n_nodes__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        int ret = n_nodes(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_n_nodes" ===============
-// cppName: "casadi::casadi_n_nodes"
-// cWrapperName: "casadi_n_nodes__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: CInt
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_n_nodes__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_n_nodes"
-// call: "        int ret = n_nodes(x0_);"
-extern "C"
-int
-    casadi_n_nodes__3(std::string ** err_msg, casadi::MX* x0);
-int
-    casadi_n_nodes__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        int ret = n_nodes(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ne" ===============
-// cppName: "casadi::casadi_ne"
-// cWrapperName: "casadi_ne__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_ne__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_ne"
-// call: "        double ret = x0_ != x1_;"
-extern "C"
-double
-    casadi_ne__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_ne__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = x0_ != x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ne" ===============
-// cppName: "casadi::casadi_ne"
-// cWrapperName: "casadi_ne__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_ne__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_ne"
-// call: "        casadi::SX ret = x0_ != x1_;"
-extern "C"
-casadi::SX*
-    casadi_ne__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_ne__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = x0_ != x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ne" ===============
-// cppName: "casadi::casadi_ne"
-// cWrapperName: "casadi_ne__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_ne__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_ne"
-// call: "        casadi::DM ret = x0_ != x1_;"
-extern "C"
-casadi::DM*
-    casadi_ne__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_ne__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = x0_ != x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ne" ===============
-// cppName: "casadi::casadi_ne"
-// cWrapperName: "casadi_ne__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_ne__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_ne"
-// call: "        casadi::IM ret = x0_ != x1_;"
-extern "C"
-casadi::IM*
-    casadi_ne__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_ne__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = x0_ != x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ne" ===============
-// cppName: "casadi::casadi_ne"
-// cWrapperName: "casadi_ne__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_ne__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_ne"
-// call: "        casadi::MX ret = x0_ != x1_;"
-extern "C"
-casadi::MX*
-    casadi_ne__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_ne__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = x0_ != x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_0_mul" ===============
-// cppName: "casadi::casadi_norm_0_mul"
-// cWrapperName: "casadi_norm_0_mul__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: CInt
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_norm_0_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_norm_0_mul"
-// call: "        int ret = norm_0_mul(x0_, x1_);"
-extern "C"
-int
-    casadi_norm_0_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-int
-    casadi_norm_0_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        int ret = norm_0_mul(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_0_mul" ===============
-// cppName: "casadi::casadi_norm_0_mul"
-// cWrapperName: "casadi_norm_0_mul__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: CInt
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_norm_0_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_norm_0_mul"
-// call: "        int ret = norm_0_mul(x0_, x1_);"
-extern "C"
-int
-    casadi_norm_0_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-int
-    casadi_norm_0_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        int ret = norm_0_mul(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_0_mul" ===============
-// cppName: "casadi::casadi_norm_0_mul"
-// cWrapperName: "casadi_norm_0_mul__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: CInt
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_norm_0_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_norm_0_mul"
-// call: "        int ret = norm_0_mul(x0_, x1_);"
-extern "C"
-int
-    casadi_norm_0_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-int
-    casadi_norm_0_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        int ret = norm_0_mul(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_0_mul" ===============
-// cppName: "casadi::casadi_norm_0_mul"
-// cWrapperName: "casadi_norm_0_mul__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: CInt
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_norm_0_mul__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_norm_0_mul"
-// call: "        int ret = norm_0_mul(x0_, x1_);"
-extern "C"
-int
-    casadi_norm_0_mul__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-int
-    casadi_norm_0_mul__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        int ret = norm_0_mul(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_0_mul" ===============
-// cppName: "casadi::casadi_norm_0_mul"
-// cWrapperName: "casadi_norm_0_mul__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: CInt
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_norm_0_mul__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
-// friendWrap: True
-// fName: "casadi_norm_0_mul"
-// call: "        int ret = norm_0_mul(x0_, x1_);"
-extern "C"
-int
-    casadi_norm_0_mul__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1);
-int
-    casadi_norm_0_mul__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        int ret = norm_0_mul(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_1" ===============
-// cppName: "casadi::casadi_norm_1"
-// cWrapperName: "casadi_norm_1__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_norm_1__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_norm_1"
-// call: "        casadi::SX ret = norm_1(x0_);"
-extern "C"
-casadi::SX*
-    casadi_norm_1__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_norm_1__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = norm_1(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_1" ===============
-// cppName: "casadi::casadi_norm_1"
-// cWrapperName: "casadi_norm_1__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_norm_1__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_norm_1"
-// call: "        casadi::DM ret = norm_1(x0_);"
-extern "C"
-casadi::DM*
-    casadi_norm_1__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_norm_1__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = norm_1(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_1" ===============
-// cppName: "casadi::casadi_norm_1"
-// cWrapperName: "casadi_norm_1__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_norm_1__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_norm_1"
-// call: "        casadi::IM ret = norm_1(x0_);"
-extern "C"
-casadi::IM*
-    casadi_norm_1__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_norm_1__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = norm_1(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_1" ===============
-// cppName: "casadi::casadi_norm_1"
-// cWrapperName: "casadi_norm_1__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_norm_1__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_norm_1"
-// call: "        casadi::MX ret = norm_1(x0_);"
-extern "C"
-casadi::MX*
-    casadi_norm_1__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_norm_1__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = norm_1(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_2" ===============
-// cppName: "casadi::casadi_norm_2"
-// cWrapperName: "casadi_norm_2__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_norm_2__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_norm_2"
-// call: "        casadi::SX ret = norm_2(x0_);"
-extern "C"
-casadi::SX*
-    casadi_norm_2__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_norm_2__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = norm_2(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_2" ===============
-// cppName: "casadi::casadi_norm_2"
-// cWrapperName: "casadi_norm_2__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_norm_2__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_norm_2"
-// call: "        casadi::DM ret = norm_2(x0_);"
-extern "C"
-casadi::DM*
-    casadi_norm_2__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_norm_2__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = norm_2(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_2" ===============
-// cppName: "casadi::casadi_norm_2"
-// cWrapperName: "casadi_norm_2__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_norm_2__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_norm_2"
-// call: "        casadi::IM ret = norm_2(x0_);"
-extern "C"
-casadi::IM*
-    casadi_norm_2__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_norm_2__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = norm_2(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_2" ===============
-// cppName: "casadi::casadi_norm_2"
-// cWrapperName: "casadi_norm_2__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_norm_2__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_norm_2"
-// call: "        casadi::MX ret = norm_2(x0_);"
-extern "C"
-casadi::MX*
-    casadi_norm_2__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_norm_2__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = norm_2(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_F" ===============
-// cppName: "casadi::casadi_norm_F"
-// cWrapperName: "casadi_norm_F__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_norm_F__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_norm_F"
-// call: "        casadi::SX ret = norm_F(x0_);"
-extern "C"
-casadi::SX*
-    casadi_norm_F__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_norm_F__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = norm_F(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_F" ===============
-// cppName: "casadi::casadi_norm_F"
-// cWrapperName: "casadi_norm_F__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_norm_F__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_norm_F"
-// call: "        casadi::DM ret = norm_F(x0_);"
-extern "C"
-casadi::DM*
-    casadi_norm_F__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_norm_F__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = norm_F(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_F" ===============
-// cppName: "casadi::casadi_norm_F"
-// cWrapperName: "casadi_norm_F__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_norm_F__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_norm_F"
-// call: "        casadi::IM ret = norm_F(x0_);"
-extern "C"
-casadi::IM*
-    casadi_norm_F__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_norm_F__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = norm_F(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_F" ===============
-// cppName: "casadi::casadi_norm_F"
-// cWrapperName: "casadi_norm_F__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_norm_F__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_norm_F"
-// call: "        casadi::MX ret = norm_F(x0_);"
-extern "C"
-casadi::MX*
-    casadi_norm_F__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_norm_F__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = norm_F(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_fro" ===============
-// cppName: "casadi::casadi_norm_fro"
-// cWrapperName: "casadi_norm_fro__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_norm_fro__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_norm_fro"
-// call: "        casadi::SX ret = norm_fro(x0_);"
-extern "C"
-casadi::SX*
-    casadi_norm_fro__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_norm_fro__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = norm_fro(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_fro" ===============
-// cppName: "casadi::casadi_norm_fro"
-// cWrapperName: "casadi_norm_fro__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_norm_fro__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_norm_fro"
-// call: "        casadi::DM ret = norm_fro(x0_);"
-extern "C"
-casadi::DM*
-    casadi_norm_fro__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_norm_fro__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = norm_fro(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_fro" ===============
-// cppName: "casadi::casadi_norm_fro"
-// cWrapperName: "casadi_norm_fro__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_norm_fro__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_norm_fro"
-// call: "        casadi::IM ret = norm_fro(x0_);"
-extern "C"
-casadi::IM*
-    casadi_norm_fro__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_norm_fro__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = norm_fro(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_fro" ===============
-// cppName: "casadi::casadi_norm_fro"
-// cWrapperName: "casadi_norm_fro__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_norm_fro__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_norm_fro"
-// call: "        casadi::MX ret = norm_fro(x0_);"
-extern "C"
-casadi::MX*
-    casadi_norm_fro__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_norm_fro__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = norm_fro(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_inf" ===============
-// cppName: "casadi::casadi_norm_inf"
-// cWrapperName: "casadi_norm_inf__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_norm_inf__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_norm_inf"
-// call: "        casadi::SX ret = norm_inf(x0_);"
-extern "C"
-casadi::SX*
-    casadi_norm_inf__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_norm_inf__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = norm_inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_inf" ===============
-// cppName: "casadi::casadi_norm_inf"
-// cWrapperName: "casadi_norm_inf__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_norm_inf__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_norm_inf"
-// call: "        casadi::DM ret = norm_inf(x0_);"
-extern "C"
-casadi::DM*
-    casadi_norm_inf__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_norm_inf__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = norm_inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_inf" ===============
-// cppName: "casadi::casadi_norm_inf"
-// cWrapperName: "casadi_norm_inf__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_norm_inf__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_norm_inf"
-// call: "        casadi::IM ret = norm_inf(x0_);"
-extern "C"
-casadi::IM*
-    casadi_norm_inf__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_norm_inf__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = norm_inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_inf" ===============
-// cppName: "casadi::casadi_norm_inf"
-// cWrapperName: "casadi_norm_inf__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_norm_inf__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_norm_inf"
-// call: "        casadi::MX ret = norm_inf(x0_);"
-extern "C"
-casadi::MX*
-    casadi_norm_inf__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_norm_inf__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = norm_inf(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_inf_mul" ===============
-// cppName: "casadi::casadi_norm_inf_mul"
-// cWrapperName: "casadi_norm_inf_mul__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_norm_inf_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_norm_inf_mul"
-// call: "        casadi::SX ret = norm_inf_mul(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_norm_inf_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_norm_inf_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = norm_inf_mul(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_inf_mul" ===============
-// cppName: "casadi::casadi_norm_inf_mul"
-// cWrapperName: "casadi_norm_inf_mul__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_norm_inf_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_norm_inf_mul"
-// call: "        casadi::DM ret = norm_inf_mul(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_norm_inf_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_norm_inf_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = norm_inf_mul(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_norm_inf_mul" ===============
-// cppName: "casadi::casadi_norm_inf_mul"
-// cWrapperName: "casadi_norm_inf_mul__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_norm_inf_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_norm_inf_mul"
-// call: "        casadi::IM ret = norm_inf_mul(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_norm_inf_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_norm_inf_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = norm_inf_mul(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_not" ===============
-// cppName: "casadi::casadi_not"
-// cWrapperName: "casadi_not__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_not__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_not"
-// call: "        double ret = !x0_;"
-extern "C"
-double
-    casadi_not__0(std::string ** err_msg, double* x0);
-double
-    casadi_not__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = !x0_;
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_not" ===============
-// cppName: "casadi::casadi_not"
-// cWrapperName: "casadi_not__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_not__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_not"
-// call: "        casadi::SX ret = !x0_;"
-extern "C"
-casadi::SX*
-    casadi_not__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_not__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = !x0_;
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_not" ===============
-// cppName: "casadi::casadi_not"
-// cWrapperName: "casadi_not__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_not__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_not"
-// call: "        casadi::DM ret = !x0_;"
-extern "C"
-casadi::DM*
-    casadi_not__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_not__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = !x0_;
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_not" ===============
-// cppName: "casadi::casadi_not"
-// cWrapperName: "casadi_not__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_not__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_not"
-// call: "        casadi::IM ret = !x0_;"
-extern "C"
-casadi::IM*
-    casadi_not__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_not__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = !x0_;
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_not" ===============
-// cppName: "casadi::casadi_not"
-// cWrapperName: "casadi_not__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_not__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_not"
-// call: "        casadi::MX ret = !x0_;"
-extern "C"
-casadi::MX*
-    casadi_not__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_not__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = !x0_;
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_nullspace" ===============
-// cppName: "casadi::casadi_nullspace"
-// cWrapperName: "casadi_nullspace__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_nullspace__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_nullspace"
-// call: "        casadi::SX ret = nullspace(x0_);"
-extern "C"
-casadi::SX*
-    casadi_nullspace__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_nullspace__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = nullspace(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_nullspace" ===============
-// cppName: "casadi::casadi_nullspace"
-// cWrapperName: "casadi_nullspace__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_nullspace__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_nullspace"
-// call: "        casadi::DM ret = nullspace(x0_);"
-extern "C"
-casadi::DM*
-    casadi_nullspace__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_nullspace__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = nullspace(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_nullspace" ===============
-// cppName: "casadi::casadi_nullspace"
-// cWrapperName: "casadi_nullspace__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_nullspace__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_nullspace"
-// call: "        casadi::IM ret = nullspace(x0_);"
-extern "C"
-casadi::IM*
-    casadi_nullspace__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_nullspace__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = nullspace(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_nullspace" ===============
-// cppName: "casadi::casadi_nullspace"
-// cWrapperName: "casadi_nullspace__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_nullspace__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_nullspace"
-// call: "        casadi::MX ret = nullspace(x0_);"
-extern "C"
-casadi::MX*
-    casadi_nullspace__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_nullspace__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = nullspace(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_offset" ===============
-// cppName: "casadi::casadi_offset"
-// cWrapperName: "casadi_offset__0"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
-// retType: StdVec CInt
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi_offset__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
-// friendWrap: True
-// fName: "casadi_offset"
-// call: "        std::vector< int > ret = offset(x0_);"
-extern "C"
-std::vector< int >*
-    casadi_offset__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
-std::vector< int >*
-    casadi_offset__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-
-        std::vector< int > ret = offset(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_offset" ===============
-// cppName: "casadi::casadi_offset"
-// cWrapperName: "casadi_offset__1"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, int x1)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: StdVec CInt
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi_offset__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_offset"
-// call: "        std::vector< int > ret = offset(x0_, x1_);"
-extern "C"
-std::vector< int >*
-    casadi_offset__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, int x1);
-std::vector< int >*
-    casadi_offset__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, int x1){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        std::vector< int > ret = offset(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_offset" ===============
-// cppName: "casadi::casadi_offset"
-// cWrapperName: "casadi_offset__2"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
-// retType: StdVec CInt
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi_offset__2(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
-// friendWrap: True
-// fName: "casadi_offset"
-// call: "        std::vector< int > ret = offset(x0_);"
-extern "C"
-std::vector< int >*
-    casadi_offset__2(std::string ** err_msg, std::vector< casadi::DM* >* x0);
-std::vector< int >*
-    casadi_offset__2(std::string ** err_msg, std::vector< casadi::DM* >* x0){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-
-        std::vector< int > ret = offset(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_offset" ===============
-// cppName: "casadi::casadi_offset"
-// cWrapperName: "casadi_offset__3"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, int x1)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: StdVec CInt
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi_offset__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_offset"
-// call: "        std::vector< int > ret = offset(x0_, x1_);"
-extern "C"
-std::vector< int >*
-    casadi_offset__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, int x1);
-std::vector< int >*
-    casadi_offset__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, int x1){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        std::vector< int > ret = offset(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_offset" ===============
-// cppName: "casadi::casadi_offset"
-// cWrapperName: "casadi_offset__4"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
-// retType: StdVec CInt
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi_offset__4(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
-// friendWrap: True
-// fName: "casadi_offset"
-// call: "        std::vector< int > ret = offset(x0_);"
-extern "C"
-std::vector< int >*
-    casadi_offset__4(std::string ** err_msg, std::vector< casadi::IM* >* x0);
-std::vector< int >*
-    casadi_offset__4(std::string ** err_msg, std::vector< casadi::IM* >* x0){
-    try {
-        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
-
-        std::vector< int > ret = offset(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_offset" ===============
-// cppName: "casadi::casadi_offset"
-// cWrapperName: "casadi_offset__5"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, int x1)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: StdVec CInt
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi_offset__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_offset"
-// call: "        std::vector< int > ret = offset(x0_, x1_);"
-extern "C"
-std::vector< int >*
-    casadi_offset__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, int x1);
-std::vector< int >*
-    casadi_offset__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, int x1){
-    try {
-        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        std::vector< int > ret = offset(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_offset" ===============
-// cppName: "casadi::casadi_offset"
-// cWrapperName: "casadi_offset__6"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: StdVec CInt
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi_offset__6(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
-// friendWrap: True
-// fName: "casadi_offset"
-// call: "        std::vector< int > ret = offset(x0_);"
-extern "C"
-std::vector< int >*
-    casadi_offset__6(std::string ** err_msg, std::vector< casadi::MX* >* x0);
-std::vector< int >*
-    casadi_offset__6(std::string ** err_msg, std::vector< casadi::MX* >* x0){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-
-        std::vector< int > ret = offset(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_offset" ===============
-// cppName: "casadi::casadi_offset"
-// cWrapperName: "casadi_offset__7"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, int x1)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: StdVec CInt
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi_offset__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_offset"
-// call: "        std::vector< int > ret = offset(x0_, x1_);"
-extern "C"
-std::vector< int >*
-    casadi_offset__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, int x1);
-std::vector< int >*
-    casadi_offset__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, int x1){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        std::vector< int > ret = offset(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_offset" ===============
-// cppName: "casadi::casadi_offset"
-// cWrapperName: "casadi_offset__8"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
-// retType: StdVec CInt
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi_offset__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
-// friendWrap: True
-// fName: "casadi_offset"
-// call: "        std::vector< int > ret = offset(x0_);"
-extern "C"
-std::vector< int >*
-    casadi_offset__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
-std::vector< int >*
-    casadi_offset__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
-    try {
-        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
-
-        std::vector< int > ret = offset(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_offset" ===============
-// cppName: "casadi::casadi_offset"
-// cWrapperName: "casadi_offset__9"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, int x1)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: StdVec CInt
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi_offset__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_offset"
-// call: "        std::vector< int > ret = offset(x0_, x1_);"
-extern "C"
-std::vector< int >*
-    casadi_offset__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, int x1);
-std::vector< int >*
-    casadi_offset__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, int x1){
-    try {
-        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        std::vector< int > ret = offset(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_or" ===============
-// cppName: "casadi::casadi_or"
-// cWrapperName: "casadi_or__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_or__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_or"
-// call: "        double ret = x0_ || x1_;"
-extern "C"
-double
-    casadi_or__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_or__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = x0_ || x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_or" ===============
-// cppName: "casadi::casadi_or"
-// cWrapperName: "casadi_or__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_or__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_or"
-// call: "        casadi::SX ret = x0_ || x1_;"
-extern "C"
-casadi::SX*
-    casadi_or__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_or__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = x0_ || x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_or" ===============
-// cppName: "casadi::casadi_or"
-// cWrapperName: "casadi_or__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_or__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_or"
-// call: "        casadi::DM ret = x0_ || x1_;"
-extern "C"
-casadi::DM*
-    casadi_or__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_or__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = x0_ || x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_or" ===============
-// cppName: "casadi::casadi_or"
-// cWrapperName: "casadi_or__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_or__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_or"
-// call: "        casadi::IM ret = x0_ || x1_;"
-extern "C"
-casadi::IM*
-    casadi_or__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_or__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = x0_ || x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_or" ===============
-// cppName: "casadi::casadi_or"
-// cWrapperName: "casadi_or__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_or__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_or"
-// call: "        casadi::MX ret = x0_ || x1_;"
-extern "C"
-casadi::MX*
-    casadi_or__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_or__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = x0_ || x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pinv" ===============
-// cppName: "casadi::casadi_pinv"
-// cWrapperName: "casadi_pinv__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::string* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_pinv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1)"
-// friendWrap: True
-// fName: "casadi_pinv"
-// call: "        casadi::SX ret = pinv(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_pinv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1);
-casadi::SX*
-    casadi_pinv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::SX ret = pinv(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pinv" ===============
-// cppName: "casadi::casadi_pinv"
-// cWrapperName: "casadi_pinv__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_pinv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// friendWrap: True
-// fName: "casadi_pinv"
-// call: "        casadi::SX ret = pinv(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_pinv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::SX*
-    casadi_pinv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
-
-        casadi::SX ret = pinv(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pinv" ===============
-// cppName: "casadi::casadi_pinv"
-// cWrapperName: "casadi_pinv__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_pinv__2(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_pinv"
-// call: "        casadi::SX ret = pinv(x0_);"
-extern "C"
-casadi::SX*
-    casadi_pinv__2(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_pinv__2(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = pinv(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pinv" ===============
-// cppName: "casadi::casadi_pinv"
-// cWrapperName: "casadi_pinv__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::string* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_pinv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1)"
-// friendWrap: True
-// fName: "casadi_pinv"
-// call: "        casadi::DM ret = pinv(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_pinv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1);
-casadi::DM*
-    casadi_pinv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::DM ret = pinv(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pinv" ===============
-// cppName: "casadi::casadi_pinv"
-// cWrapperName: "casadi_pinv__4"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_pinv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// friendWrap: True
-// fName: "casadi_pinv"
-// call: "        casadi::DM ret = pinv(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_pinv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::DM*
-    casadi_pinv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
-
-        casadi::DM ret = pinv(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pinv" ===============
-// cppName: "casadi::casadi_pinv"
-// cWrapperName: "casadi_pinv__5"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_pinv__5(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_pinv"
-// call: "        casadi::DM ret = pinv(x0_);"
-extern "C"
-casadi::DM*
-    casadi_pinv__5(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_pinv__5(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = pinv(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pinv" ===============
-// cppName: "casadi::casadi_pinv"
-// cWrapperName: "casadi_pinv__6"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::string* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_pinv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1)"
-// friendWrap: True
-// fName: "casadi_pinv"
-// call: "        casadi::IM ret = pinv(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_pinv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1);
-casadi::IM*
-    casadi_pinv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::IM ret = pinv(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pinv" ===============
-// cppName: "casadi::casadi_pinv"
-// cWrapperName: "casadi_pinv__7"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_pinv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// friendWrap: True
-// fName: "casadi_pinv"
-// call: "        casadi::IM ret = pinv(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_pinv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::IM*
-    casadi_pinv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
-
-        casadi::IM ret = pinv(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pinv" ===============
-// cppName: "casadi::casadi_pinv"
-// cWrapperName: "casadi_pinv__8"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_pinv__8(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_pinv"
-// call: "        casadi::IM ret = pinv(x0_);"
-extern "C"
-casadi::IM*
-    casadi_pinv__8(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_pinv__8(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = pinv(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pinv" ===============
-// cppName: "casadi::casadi_pinv"
-// cWrapperName: "casadi_pinv__9"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::string* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_pinv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1)"
-// friendWrap: True
-// fName: "casadi_pinv"
-// call: "        casadi::MX ret = pinv(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_pinv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1);
-casadi::MX*
-    casadi_pinv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::MX ret = pinv(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pinv" ===============
-// cppName: "casadi::casadi_pinv"
-// cWrapperName: "casadi_pinv__10"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_pinv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// friendWrap: True
-// fName: "casadi_pinv"
-// call: "        casadi::MX ret = pinv(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_pinv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::MX*
-    casadi_pinv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
-
-        casadi::MX ret = pinv(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pinv" ===============
-// cppName: "casadi::casadi_pinv"
-// cWrapperName: "casadi_pinv__11"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_pinv__11(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_pinv"
-// call: "        casadi::MX ret = pinv(x0_);"
-extern "C"
-casadi::MX*
-    casadi_pinv__11(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_pinv__11(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = pinv(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_plus" ===============
-// cppName: "casadi::casadi_plus"
-// cWrapperName: "casadi_plus__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_plus__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_plus"
-// call: "        double ret = x0_ + x1_;"
-extern "C"
-double
-    casadi_plus__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_plus__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = x0_ + x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_plus" ===============
-// cppName: "casadi::casadi_plus"
-// cWrapperName: "casadi_plus__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_plus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_plus"
-// call: "        casadi::SX ret = x0_ + x1_;"
-extern "C"
-casadi::SX*
-    casadi_plus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_plus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = x0_ + x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_plus" ===============
-// cppName: "casadi::casadi_plus"
-// cWrapperName: "casadi_plus__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_plus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_plus"
-// call: "        casadi::DM ret = x0_ + x1_;"
-extern "C"
-casadi::DM*
-    casadi_plus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_plus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = x0_ + x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_plus" ===============
-// cppName: "casadi::casadi_plus"
-// cWrapperName: "casadi_plus__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_plus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_plus"
-// call: "        casadi::IM ret = x0_ + x1_;"
-extern "C"
-casadi::IM*
-    casadi_plus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_plus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = x0_ + x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_plus" ===============
-// cppName: "casadi::casadi_plus"
-// cWrapperName: "casadi_plus__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_plus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_plus"
-// call: "        casadi::MX ret = x0_ + x1_;"
-extern "C"
-casadi::MX*
-    casadi_plus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_plus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = x0_ + x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_poly_coeff" ===============
-// cppName: "casadi::casadi_poly_coeff"
-// cWrapperName: "casadi_poly_coeff__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_poly_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_poly_coeff"
-// call: "        casadi::SX ret = poly_coeff(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_poly_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_poly_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = poly_coeff(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_poly_coeff" ===============
-// cppName: "casadi::casadi_poly_coeff"
-// cWrapperName: "casadi_poly_coeff__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_poly_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_poly_coeff"
-// call: "        casadi::DM ret = poly_coeff(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_poly_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_poly_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = poly_coeff(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_poly_coeff" ===============
-// cppName: "casadi::casadi_poly_coeff"
-// cWrapperName: "casadi_poly_coeff__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_poly_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_poly_coeff"
-// call: "        casadi::IM ret = poly_coeff(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_poly_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_poly_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = poly_coeff(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_poly_roots" ===============
-// cppName: "casadi::casadi_poly_roots"
-// cWrapperName: "casadi_poly_roots__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_poly_roots__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_poly_roots"
-// call: "        casadi::SX ret = poly_roots(x0_);"
-extern "C"
-casadi::SX*
-    casadi_poly_roots__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_poly_roots__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = poly_roots(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_poly_roots" ===============
-// cppName: "casadi::casadi_poly_roots"
-// cWrapperName: "casadi_poly_roots__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_poly_roots__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_poly_roots"
-// call: "        casadi::DM ret = poly_roots(x0_);"
-extern "C"
-casadi::DM*
-    casadi_poly_roots__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_poly_roots__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = poly_roots(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_poly_roots" ===============
-// cppName: "casadi::casadi_poly_roots"
-// cWrapperName: "casadi_poly_roots__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_poly_roots__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_poly_roots"
-// call: "        casadi::IM ret = poly_roots(x0_);"
-extern "C"
-casadi::IM*
-    casadi_poly_roots__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_poly_roots__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = poly_roots(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_polyval" ===============
-// cppName: "casadi::casadi_polyval"
-// cWrapperName: "casadi_polyval__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_polyval__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_polyval"
-// call: "        casadi::SX ret = polyval(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_polyval__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_polyval__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = polyval(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_polyval" ===============
-// cppName: "casadi::casadi_polyval"
-// cWrapperName: "casadi_polyval__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_polyval__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_polyval"
-// call: "        casadi::DM ret = polyval(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_polyval__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_polyval__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = polyval(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_polyval" ===============
-// cppName: "casadi::casadi_polyval"
-// cWrapperName: "casadi_polyval__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_polyval__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_polyval"
-// call: "        casadi::IM ret = polyval(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_polyval__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_polyval__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = polyval(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_polyval" ===============
-// cppName: "casadi::casadi_polyval"
-// cWrapperName: "casadi_polyval__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_polyval__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_polyval"
-// call: "        casadi::MX ret = polyval(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_polyval__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_polyval__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = polyval(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_power" ===============
-// cppName: "casadi::casadi_power"
-// cWrapperName: "casadi_power__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_power__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_power"
-// call: "        double ret = pow(x0_, x1_);"
-extern "C"
-double
-    casadi_power__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_power__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = pow(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_power" ===============
-// cppName: "casadi::casadi_power"
-// cWrapperName: "casadi_power__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_power__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_power"
-// call: "        casadi::SX ret = pow(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_power__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_power__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = pow(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_power" ===============
-// cppName: "casadi::casadi_power"
-// cWrapperName: "casadi_power__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_power__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_power"
-// call: "        casadi::DM ret = pow(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_power__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_power__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = pow(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_power" ===============
-// cppName: "casadi::casadi_power"
-// cWrapperName: "casadi_power__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_power__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_power"
-// call: "        casadi::IM ret = pow(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_power__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_power__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = pow(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_power" ===============
-// cppName: "casadi::casadi_power"
-// cWrapperName: "casadi_power__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_power__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_power"
-// call: "        casadi::MX ret = pow(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_power__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_power__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = pow(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_print_operator" ===============
-// cppName: "casadi::casadi_print_operator"
-// cWrapperName: "casadi_print_operator__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
-// retType: StdString
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi_print_operator__0(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1)"
-// friendWrap: True
-// fName: "casadi_print_operator"
-// call: "        std::string ret = print_operator(x0_, x1_);"
-extern "C"
-std::string*
-    casadi_print_operator__0(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1);
-std::string*
-    casadi_print_operator__0(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
-
-        std::string ret = print_operator(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_print_operator" ===============
-// cppName: "casadi::casadi_print_operator"
-// cWrapperName: "casadi_print_operator__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< std::string* >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
-// retType: StdString
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi_print_operator__1(std::string ** err_msg, casadi::DM* x0, std::vector< std::string* >* x1)"
-// friendWrap: True
-// fName: "casadi_print_operator"
-// call: "        std::string ret = print_operator(x0_, x1_);"
-extern "C"
-std::string*
-    casadi_print_operator__1(std::string ** err_msg, casadi::DM* x0, std::vector< std::string* >* x1);
-std::string*
-    casadi_print_operator__1(std::string ** err_msg, casadi::DM* x0, std::vector< std::string* >* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
-
-        std::string ret = print_operator(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_print_operator" ===============
-// cppName: "casadi::casadi_print_operator"
-// cWrapperName: "casadi_print_operator__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< std::string* >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
-// retType: StdString
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi_print_operator__2(std::string ** err_msg, casadi::IM* x0, std::vector< std::string* >* x1)"
-// friendWrap: True
-// fName: "casadi_print_operator"
-// call: "        std::string ret = print_operator(x0_, x1_);"
-extern "C"
-std::string*
-    casadi_print_operator__2(std::string ** err_msg, casadi::IM* x0, std::vector< std::string* >* x1);
-std::string*
-    casadi_print_operator__2(std::string ** err_msg, casadi::IM* x0, std::vector< std::string* >* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
-
-        std::string ret = print_operator(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_print_operator" ===============
-// cppName: "casadi::casadi_print_operator"
-// cWrapperName: "casadi_print_operator__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
-// retType: StdString
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi_print_operator__3(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1)"
-// friendWrap: True
-// fName: "casadi_print_operator"
-// call: "        std::string ret = print_operator(x0_, x1_);"
-extern "C"
-std::string*
-    casadi_print_operator__3(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1);
-std::string*
-    casadi_print_operator__3(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
-
-        std::string ret = print_operator(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_project" ===============
-// cppName: "casadi::casadi_project"
-// cWrapperName: "casadi_project__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_project__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1)"
-// friendWrap: True
-// fName: "casadi_project"
-// call: "        casadi::SX ret = project(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_project__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1);
-casadi::SX*
-    casadi_project__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::SX ret = project(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_project" ===============
-// cppName: "casadi::casadi_project"
-// cWrapperName: "casadi_project__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_project__1(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_project"
-// call: "        casadi::SX ret = project(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_project__1(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1, int x2);
-casadi::SX*
-    casadi_project__1(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1, int x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::SX ret = project(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_project" ===============
-// cppName: "casadi::casadi_project"
-// cWrapperName: "casadi_project__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_project__2(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1)"
-// friendWrap: True
-// fName: "casadi_project"
-// call: "        casadi::DM ret = project(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_project__2(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1);
-casadi::DM*
-    casadi_project__2(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::DM ret = project(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_project" ===============
-// cppName: "casadi::casadi_project"
-// cWrapperName: "casadi_project__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_project__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_project"
-// call: "        casadi::DM ret = project(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_project__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1, int x2);
-casadi::DM*
-    casadi_project__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1, int x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::DM ret = project(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_project" ===============
-// cppName: "casadi::casadi_project"
-// cWrapperName: "casadi_project__4"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_project__4(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1)"
-// friendWrap: True
-// fName: "casadi_project"
-// call: "        casadi::IM ret = project(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_project__4(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1);
-casadi::IM*
-    casadi_project__4(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::IM ret = project(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_project" ===============
-// cppName: "casadi::casadi_project"
-// cWrapperName: "casadi_project__5"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_project__5(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_project"
-// call: "        casadi::IM ret = project(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_project__5(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1, int x2);
-casadi::IM*
-    casadi_project__5(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1, int x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::IM ret = project(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_project" ===============
-// cppName: "casadi::casadi_project"
-// cWrapperName: "casadi_project__6"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_project__6(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1)"
-// friendWrap: True
-// fName: "casadi_project"
-// call: "        casadi::MX ret = project(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_project__6(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1);
-casadi::MX*
-    casadi_project__6(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::MX ret = project(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_project" ===============
-// cppName: "casadi::casadi_project"
-// cWrapperName: "casadi_project__7"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_project__7(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1, int x2)"
-// friendWrap: True
-// fName: "casadi_project"
-// call: "        casadi::MX ret = project(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_project__7(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1, int x2);
-casadi::MX*
-    casadi_project__7(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-        bool x2_ = Marshaling<bool,int>::marshal(x2);
-
-        casadi::MX ret = project(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pw_const" ===============
-// cppName: "casadi::casadi_pw_const"
-// cWrapperName: "casadi_pw_const__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_pw_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// friendWrap: True
-// fName: "casadi_pw_const"
-// call: "        casadi::SX ret = pw_const(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_pw_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
-casadi::SX*
-    casadi_pw_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = pw_const(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pw_const" ===============
-// cppName: "casadi::casadi_pw_const"
-// cWrapperName: "casadi_pw_const__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_pw_const__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// friendWrap: True
-// fName: "casadi_pw_const"
-// call: "        casadi::DM ret = pw_const(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_pw_const__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
-casadi::DM*
-    casadi_pw_const__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = pw_const(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pw_const" ===============
-// cppName: "casadi::casadi_pw_const"
-// cWrapperName: "casadi_pw_const__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_pw_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// friendWrap: True
-// fName: "casadi_pw_const"
-// call: "        casadi::IM ret = pw_const(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_pw_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
-casadi::IM*
-    casadi_pw_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = pw_const(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pw_lin" ===============
-// cppName: "casadi::casadi_pw_lin"
-// cWrapperName: "casadi_pw_lin__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_pw_lin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// friendWrap: True
-// fName: "casadi_pw_lin"
-// call: "        casadi::SX ret = pw_lin(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_pw_lin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
-casadi::SX*
-    casadi_pw_lin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = pw_lin(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pw_lin" ===============
-// cppName: "casadi::casadi_pw_lin"
-// cWrapperName: "casadi_pw_lin__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_pw_lin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// friendWrap: True
-// fName: "casadi_pw_lin"
-// call: "        casadi::DM ret = pw_lin(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_pw_lin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
-casadi::DM*
-    casadi_pw_lin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = pw_lin(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_pw_lin" ===============
-// cppName: "casadi::casadi_pw_lin"
-// cWrapperName: "casadi_pw_lin__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_pw_lin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// friendWrap: True
-// fName: "casadi_pw_lin"
-// call: "        casadi::IM ret = pw_lin(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_pw_lin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
-casadi::IM*
-    casadi_pw_lin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = pw_lin(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_qr" ===============
-// cppName: "casadi::casadi_qr"
-// cWrapperName: "casadi_qr__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_qr__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// friendWrap: True
-// fName: "casadi_qr"
-// call: "        qr(x0_, x1_, x2_);"
-extern "C"
-void
-    casadi_qr__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
-void
-    casadi_qr__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        qr(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_qr" ===============
-// cppName: "casadi::casadi_qr"
-// cWrapperName: "casadi_qr__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_qr__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// friendWrap: True
-// fName: "casadi_qr"
-// call: "        qr(x0_, x1_, x2_);"
-extern "C"
-void
-    casadi_qr__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
-void
-    casadi_qr__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        qr(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_qr" ===============
-// cppName: "casadi::casadi_qr"
-// cWrapperName: "casadi_qr__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_qr__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// friendWrap: True
-// fName: "casadi_qr"
-// call: "        qr(x0_, x1_, x2_);"
-extern "C"
-void
-    casadi_qr__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
-void
-    casadi_qr__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        qr(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_ramp" ===============
-// cppName: "casadi::casadi_ramp"
-// cWrapperName: "casadi_ramp__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_ramp__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_ramp"
-// call: "        casadi::SX ret = ramp(x0_);"
-extern "C"
-casadi::SX*
-    casadi_ramp__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_ramp__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = ramp(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ramp" ===============
-// cppName: "casadi::casadi_ramp"
-// cWrapperName: "casadi_ramp__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_ramp__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_ramp"
-// call: "        casadi::DM ret = ramp(x0_);"
-extern "C"
-casadi::DM*
-    casadi_ramp__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_ramp__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = ramp(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_ramp" ===============
-// cppName: "casadi::casadi_ramp"
-// cWrapperName: "casadi_ramp__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_ramp__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_ramp"
-// call: "        casadi::IM ret = ramp(x0_);"
-extern "C"
-casadi::IM*
-    casadi_ramp__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_ramp__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = ramp(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_rank1" ===============
-// cppName: "casadi::casadi_rank1"
-// cWrapperName: "casadi_rank1__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_rank1__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
-// friendWrap: True
-// fName: "casadi_rank1"
-// call: "        casadi::SX ret = rank1(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::SX*
-    casadi_rank1__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3);
-casadi::SX*
-    casadi_rank1__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
-
-        casadi::SX ret = rank1(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_rank1" ===============
-// cppName: "casadi::casadi_rank1"
-// cWrapperName: "casadi_rank1__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_rank1__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
-// friendWrap: True
-// fName: "casadi_rank1"
-// call: "        casadi::DM ret = rank1(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::DM*
-    casadi_rank1__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3);
-casadi::DM*
-    casadi_rank1__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
-
-        casadi::DM ret = rank1(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_rank1" ===============
-// cppName: "casadi::casadi_rank1"
-// cWrapperName: "casadi_rank1__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_rank1__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
-// friendWrap: True
-// fName: "casadi_rank1"
-// call: "        casadi::IM ret = rank1(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::IM*
-    casadi_rank1__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3);
-casadi::IM*
-    casadi_rank1__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
-
-        casadi::IM ret = rank1(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_rank1" ===============
-// cppName: "casadi::casadi_rank1"
-// cWrapperName: "casadi_rank1__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_rank1__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
-// friendWrap: True
-// fName: "casadi_rank1"
-// call: "        casadi::MX ret = rank1(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::MX*
-    casadi_rank1__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3);
-casadi::MX*
-    casadi_rank1__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
-        casadi::MX& x3_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x3);
-
-        casadi::MX ret = rank1(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_rdivide" ===============
-// cppName: "casadi::casadi_rdivide"
-// cWrapperName: "casadi_rdivide__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_rdivide__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_rdivide"
-// call: "        double ret = x0_ / x1_;"
-extern "C"
-double
-    casadi_rdivide__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_rdivide__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = x0_ / x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_rdivide" ===============
-// cppName: "casadi::casadi_rdivide"
-// cWrapperName: "casadi_rdivide__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_rdivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_rdivide"
-// call: "        casadi::SX ret = x0_ / x1_;"
-extern "C"
-casadi::SX*
-    casadi_rdivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_rdivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = x0_ / x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_rdivide" ===============
-// cppName: "casadi::casadi_rdivide"
-// cWrapperName: "casadi_rdivide__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_rdivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_rdivide"
-// call: "        casadi::DM ret = x0_ / x1_;"
-extern "C"
-casadi::DM*
-    casadi_rdivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_rdivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = x0_ / x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_rdivide" ===============
-// cppName: "casadi::casadi_rdivide"
-// cWrapperName: "casadi_rdivide__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_rdivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_rdivide"
-// call: "        casadi::IM ret = x0_ / x1_;"
-extern "C"
-casadi::IM*
-    casadi_rdivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_rdivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = x0_ / x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_rdivide" ===============
-// cppName: "casadi::casadi_rdivide"
-// cWrapperName: "casadi_rdivide__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_rdivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_rdivide"
-// call: "        casadi::MX ret = x0_ / x1_;"
-extern "C"
-casadi::MX*
-    casadi_rdivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_rdivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = x0_ / x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_rectangle" ===============
-// cppName: "casadi::casadi_rectangle"
-// cWrapperName: "casadi_rectangle__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_rectangle__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_rectangle"
-// call: "        casadi::SX ret = rectangle(x0_);"
-extern "C"
-casadi::SX*
-    casadi_rectangle__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_rectangle__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = rectangle(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_rectangle" ===============
-// cppName: "casadi::casadi_rectangle"
-// cWrapperName: "casadi_rectangle__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_rectangle__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_rectangle"
-// call: "        casadi::DM ret = rectangle(x0_);"
-extern "C"
-casadi::DM*
-    casadi_rectangle__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_rectangle__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = rectangle(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_rectangle" ===============
-// cppName: "casadi::casadi_rectangle"
-// cWrapperName: "casadi_rectangle__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_rectangle__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_rectangle"
-// call: "        casadi::IM ret = rectangle(x0_);"
-extern "C"
-casadi::IM*
-    casadi_rectangle__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_rectangle__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = rectangle(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::pair< int, int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_repmat__0(std::string ** err_msg, casadi::SX* x0, std::pair< int, int >* x1)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::SX ret = repmat(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_repmat__0(std::string ** err_msg, casadi::SX* x0, std::pair< int, int >* x1);
-casadi::SX*
-    casadi_repmat__0(std::string ** err_msg, casadi::SX* x0, std::pair< int, int >* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);
-
-        casadi::SX ret = repmat(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_repmat__1(std::string ** err_msg, casadi::SX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::SX ret = repmat(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_repmat__1(std::string ** err_msg, casadi::SX* x0, int x1);
-casadi::SX*
-    casadi_repmat__1(std::string ** err_msg, casadi::SX* x0, int x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::SX ret = repmat(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_repmat__2(std::string ** err_msg, casadi::SX* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::SX ret = repmat(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_repmat__2(std::string ** err_msg, casadi::SX* x0, int x1, int x2);
-casadi::SX*
-    casadi_repmat__2(std::string ** err_msg, casadi::SX* x0, int x1, int x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = repmat(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::pair< int, int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_repmat__3(std::string ** err_msg, casadi::DM* x0, std::pair< int, int >* x1)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::DM ret = repmat(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_repmat__3(std::string ** err_msg, casadi::DM* x0, std::pair< int, int >* x1);
-casadi::DM*
-    casadi_repmat__3(std::string ** err_msg, casadi::DM* x0, std::pair< int, int >* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);
-
-        casadi::DM ret = repmat(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__4"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_repmat__4(std::string ** err_msg, casadi::DM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::DM ret = repmat(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_repmat__4(std::string ** err_msg, casadi::DM* x0, int x1);
-casadi::DM*
-    casadi_repmat__4(std::string ** err_msg, casadi::DM* x0, int x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::DM ret = repmat(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__5"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_repmat__5(std::string ** err_msg, casadi::DM* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::DM ret = repmat(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_repmat__5(std::string ** err_msg, casadi::DM* x0, int x1, int x2);
-casadi::DM*
-    casadi_repmat__5(std::string ** err_msg, casadi::DM* x0, int x1, int x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = repmat(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__6"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::pair< int, int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_repmat__6(std::string ** err_msg, casadi::IM* x0, std::pair< int, int >* x1)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::IM ret = repmat(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_repmat__6(std::string ** err_msg, casadi::IM* x0, std::pair< int, int >* x1);
-casadi::IM*
-    casadi_repmat__6(std::string ** err_msg, casadi::IM* x0, std::pair< int, int >* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);
-
-        casadi::IM ret = repmat(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__7"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_repmat__7(std::string ** err_msg, casadi::IM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::IM ret = repmat(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_repmat__7(std::string ** err_msg, casadi::IM* x0, int x1);
-casadi::IM*
-    casadi_repmat__7(std::string ** err_msg, casadi::IM* x0, int x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::IM ret = repmat(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__8"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_repmat__8(std::string ** err_msg, casadi::IM* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::IM ret = repmat(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_repmat__8(std::string ** err_msg, casadi::IM* x0, int x1, int x2);
-casadi::IM*
-    casadi_repmat__8(std::string ** err_msg, casadi::IM* x0, int x1, int x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = repmat(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__9"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::pair< int, int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_repmat__9(std::string ** err_msg, casadi::MX* x0, std::pair< int, int >* x1)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::MX ret = repmat(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_repmat__9(std::string ** err_msg, casadi::MX* x0, std::pair< int, int >* x1);
-casadi::MX*
-    casadi_repmat__9(std::string ** err_msg, casadi::MX* x0, std::pair< int, int >* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);
-
-        casadi::MX ret = repmat(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__10"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_repmat__10(std::string ** err_msg, casadi::MX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::MX ret = repmat(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_repmat__10(std::string ** err_msg, casadi::MX* x0, int x1);
-casadi::MX*
-    casadi_repmat__10(std::string ** err_msg, casadi::MX* x0, int x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = repmat(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__11"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_repmat__11(std::string ** err_msg, casadi::MX* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::MX ret = repmat(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_repmat__11(std::string ** err_msg, casadi::MX* x0, int x1, int x2);
-casadi::MX*
-    casadi_repmat__11(std::string ** err_msg, casadi::MX* x0, int x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::MX ret = repmat(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__12"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::pair< int, int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdPair CInt CInt)),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_repmat__12(std::string ** err_msg, casadi::Sparsity* x0, std::pair< int, int >* x1)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::Sparsity ret = repmat(x0_, x1_);"
-extern "C"
-casadi::Sparsity*
-    casadi_repmat__12(std::string ** err_msg, casadi::Sparsity* x0, std::pair< int, int >* x1);
-casadi::Sparsity*
-    casadi_repmat__12(std::string ** err_msg, casadi::Sparsity* x0, std::pair< int, int >* x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);
-
-        casadi::Sparsity ret = repmat(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__13"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_repmat__13(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::Sparsity ret = repmat(x0_, x1_);"
-extern "C"
-casadi::Sparsity*
-    casadi_repmat__13(std::string ** err_msg, casadi::Sparsity* x0, int x1);
-casadi::Sparsity*
-    casadi_repmat__13(std::string ** err_msg, casadi::Sparsity* x0, int x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Sparsity ret = repmat(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repmat" ===============
-// cppName: "casadi::casadi_repmat"
-// cWrapperName: "casadi_repmat__14"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_repmat__14(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_repmat"
-// call: "        casadi::Sparsity ret = repmat(x0_, x1_, x2_);"
-extern "C"
-casadi::Sparsity*
-    casadi_repmat__14(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2);
-casadi::Sparsity*
-    casadi_repmat__14(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::Sparsity ret = repmat(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repsum" ===============
-// cppName: "casadi::casadi_repsum"
-// cWrapperName: "casadi_repsum__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_repsum__0(std::string ** err_msg, casadi::SX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_repsum"
-// call: "        casadi::SX ret = repsum(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_repsum__0(std::string ** err_msg, casadi::SX* x0, int x1);
-casadi::SX*
-    casadi_repsum__0(std::string ** err_msg, casadi::SX* x0, int x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::SX ret = repsum(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repsum" ===============
-// cppName: "casadi::casadi_repsum"
-// cWrapperName: "casadi_repsum__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_repsum__1(std::string ** err_msg, casadi::SX* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_repsum"
-// call: "        casadi::SX ret = repsum(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_repsum__1(std::string ** err_msg, casadi::SX* x0, int x1, int x2);
-casadi::SX*
-    casadi_repsum__1(std::string ** err_msg, casadi::SX* x0, int x1, int x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = repsum(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repsum" ===============
-// cppName: "casadi::casadi_repsum"
-// cWrapperName: "casadi_repsum__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_repsum__2(std::string ** err_msg, casadi::DM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_repsum"
-// call: "        casadi::DM ret = repsum(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_repsum__2(std::string ** err_msg, casadi::DM* x0, int x1);
-casadi::DM*
-    casadi_repsum__2(std::string ** err_msg, casadi::DM* x0, int x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::DM ret = repsum(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repsum" ===============
-// cppName: "casadi::casadi_repsum"
-// cWrapperName: "casadi_repsum__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_repsum__3(std::string ** err_msg, casadi::DM* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_repsum"
-// call: "        casadi::DM ret = repsum(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_repsum__3(std::string ** err_msg, casadi::DM* x0, int x1, int x2);
-casadi::DM*
-    casadi_repsum__3(std::string ** err_msg, casadi::DM* x0, int x1, int x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = repsum(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repsum" ===============
-// cppName: "casadi::casadi_repsum"
-// cWrapperName: "casadi_repsum__4"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_repsum__4(std::string ** err_msg, casadi::IM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_repsum"
-// call: "        casadi::IM ret = repsum(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_repsum__4(std::string ** err_msg, casadi::IM* x0, int x1);
-casadi::IM*
-    casadi_repsum__4(std::string ** err_msg, casadi::IM* x0, int x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::IM ret = repsum(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repsum" ===============
-// cppName: "casadi::casadi_repsum"
-// cWrapperName: "casadi_repsum__5"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_repsum__5(std::string ** err_msg, casadi::IM* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_repsum"
-// call: "        casadi::IM ret = repsum(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_repsum__5(std::string ** err_msg, casadi::IM* x0, int x1, int x2);
-casadi::IM*
-    casadi_repsum__5(std::string ** err_msg, casadi::IM* x0, int x1, int x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = repsum(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repsum" ===============
-// cppName: "casadi::casadi_repsum"
-// cWrapperName: "casadi_repsum__6"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_repsum__6(std::string ** err_msg, casadi::MX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_repsum"
-// call: "        casadi::MX ret = repsum(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_repsum__6(std::string ** err_msg, casadi::MX* x0, int x1);
-casadi::MX*
-    casadi_repsum__6(std::string ** err_msg, casadi::MX* x0, int x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::MX ret = repsum(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_repsum" ===============
-// cppName: "casadi::casadi_repsum"
-// cWrapperName: "casadi_repsum__7"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_repsum__7(std::string ** err_msg, casadi::MX* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_repsum"
-// call: "        casadi::MX ret = repsum(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_repsum__7(std::string ** err_msg, casadi::MX* x0, int x1, int x2);
-casadi::MX*
-    casadi_repsum__7(std::string ** err_msg, casadi::MX* x0, int x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::MX ret = repsum(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_reshape__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::SX ret = reshape(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_reshape__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1);
-casadi::SX*
-    casadi_reshape__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::SX ret = reshape(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::pair< int, int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(StdPair CInt CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_reshape__1(std::string ** err_msg, casadi::SX* x0, std::pair< int, int >* x1)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::SX ret = reshape(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_reshape__1(std::string ** err_msg, casadi::SX* x0, std::pair< int, int >* x1);
-casadi::SX*
-    casadi_reshape__1(std::string ** err_msg, casadi::SX* x0, std::pair< int, int >* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);
-
-        casadi::SX ret = reshape(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_reshape__2(std::string ** err_msg, casadi::SX* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::SX ret = reshape(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_reshape__2(std::string ** err_msg, casadi::SX* x0, int x1, int x2);
-casadi::SX*
-    casadi_reshape__2(std::string ** err_msg, casadi::SX* x0, int x1, int x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::SX ret = reshape(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_reshape__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::DM ret = reshape(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_reshape__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1);
-casadi::DM*
-    casadi_reshape__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::DM ret = reshape(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__4"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::pair< int, int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(StdPair CInt CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_reshape__4(std::string ** err_msg, casadi::DM* x0, std::pair< int, int >* x1)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::DM ret = reshape(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_reshape__4(std::string ** err_msg, casadi::DM* x0, std::pair< int, int >* x1);
-casadi::DM*
-    casadi_reshape__4(std::string ** err_msg, casadi::DM* x0, std::pair< int, int >* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);
-
-        casadi::DM ret = reshape(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__5"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_reshape__5(std::string ** err_msg, casadi::DM* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::DM ret = reshape(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_reshape__5(std::string ** err_msg, casadi::DM* x0, int x1, int x2);
-casadi::DM*
-    casadi_reshape__5(std::string ** err_msg, casadi::DM* x0, int x1, int x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::DM ret = reshape(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__6"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_reshape__6(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::IM ret = reshape(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_reshape__6(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1);
-casadi::IM*
-    casadi_reshape__6(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::IM ret = reshape(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__7"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::pair< int, int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(StdPair CInt CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_reshape__7(std::string ** err_msg, casadi::IM* x0, std::pair< int, int >* x1)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::IM ret = reshape(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_reshape__7(std::string ** err_msg, casadi::IM* x0, std::pair< int, int >* x1);
-casadi::IM*
-    casadi_reshape__7(std::string ** err_msg, casadi::IM* x0, std::pair< int, int >* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);
-
-        casadi::IM ret = reshape(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__8"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_reshape__8(std::string ** err_msg, casadi::IM* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::IM ret = reshape(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_reshape__8(std::string ** err_msg, casadi::IM* x0, int x1, int x2);
-casadi::IM*
-    casadi_reshape__8(std::string ** err_msg, casadi::IM* x0, int x1, int x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::IM ret = reshape(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__9"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_reshape__9(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::MX ret = reshape(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_reshape__9(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1);
-casadi::MX*
-    casadi_reshape__9(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::MX ret = reshape(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__10"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::pair< int, int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(StdPair CInt CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_reshape__10(std::string ** err_msg, casadi::MX* x0, std::pair< int, int >* x1)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::MX ret = reshape(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_reshape__10(std::string ** err_msg, casadi::MX* x0, std::pair< int, int >* x1);
-casadi::MX*
-    casadi_reshape__10(std::string ** err_msg, casadi::MX* x0, std::pair< int, int >* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);
-
-        casadi::MX ret = reshape(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__11"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_reshape__11(std::string ** err_msg, casadi::MX* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::MX ret = reshape(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_reshape__11(std::string ** err_msg, casadi::MX* x0, int x1, int x2);
-casadi::MX*
-    casadi_reshape__11(std::string ** err_msg, casadi::MX* x0, int x1, int x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::MX ret = reshape(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__12"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_reshape__12(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::Sparsity ret = reshape(x0_, x1_);"
-extern "C"
-casadi::Sparsity*
-    casadi_reshape__12(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1);
-casadi::Sparsity*
-    casadi_reshape__12(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
-
-        casadi::Sparsity ret = reshape(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__13"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::pair< int, int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(StdPair CInt CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_reshape__13(std::string ** err_msg, casadi::Sparsity* x0, std::pair< int, int >* x1)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::Sparsity ret = reshape(x0_, x1_);"
-extern "C"
-casadi::Sparsity*
-    casadi_reshape__13(std::string ** err_msg, casadi::Sparsity* x0, std::pair< int, int >* x1);
-casadi::Sparsity*
-    casadi_reshape__13(std::string ** err_msg, casadi::Sparsity* x0, std::pair< int, int >* x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        std::pair< int, int > x1_ = Marshaling<std::pair< int, int >,std::pair< int, int >*>::marshal(x1);
-
-        casadi::Sparsity ret = reshape(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_reshape" ===============
-// cppName: "casadi::casadi_reshape"
-// cWrapperName: "casadi_reshape__14"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_reshape__14(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2)"
-// friendWrap: True
-// fName: "casadi_reshape"
-// call: "        casadi::Sparsity ret = reshape(x0_, x1_, x2_);"
-extern "C"
-casadi::Sparsity*
-    casadi_reshape__14(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2);
-casadi::Sparsity*
-    casadi_reshape__14(std::string ** err_msg, casadi::Sparsity* x0, int x1, int x2){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::Sparsity ret = reshape(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_shared" ===============
-// cppName: "casadi::casadi_shared"
-// cWrapperName: "casadi_shared__0"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_shared__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3)"
-// friendWrap: True
-// fName: "casadi_shared"
-// call: "        shared(x0_, x1_, x2_, x3_);"
-extern "C"
-void
-    casadi_shared__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3);
-void
-    casadi_shared__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
-        std::vector< casadi::SX > x3_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x3);
-
-        shared(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_shared" ===============
-// cppName: "casadi::casadi_shared"
-// cWrapperName: "casadi_shared__1"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_shared__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4)"
-// friendWrap: True
-// fName: "casadi_shared"
-// call: "        shared(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-void
-    casadi_shared__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4);
-void
-    casadi_shared__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
-        std::vector< casadi::SX > x3_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x3);
-        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
-
-        shared(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_shared" ===============
-// cppName: "casadi::casadi_shared"
-// cWrapperName: "casadi_shared__2"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4, std::string* x5)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_shared__2(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4, std::string* x5)"
-// friendWrap: True
-// fName: "casadi_shared"
-// call: "        shared(x0_, x1_, x2_, x3_, x4_, x5_);"
-extern "C"
-void
-    casadi_shared__2(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4, std::string* x5);
-void
-    casadi_shared__2(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4, std::string* x5){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
-        std::vector< casadi::SX > x3_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x3);
-        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
-        std::string& x5_ = Marshaling<std::string&,std::string*>::marshal(x5);
-
-        shared(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_shared" ===============
-// cppName: "casadi::casadi_shared"
-// cWrapperName: "casadi_shared__3"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_shared__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3)"
-// friendWrap: True
-// fName: "casadi_shared"
-// call: "        shared(x0_, x1_, x2_, x3_);"
-extern "C"
-void
-    casadi_shared__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3);
-void
-    casadi_shared__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
-        std::vector< casadi::DM > x3_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x3);
-
-        shared(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_shared" ===============
-// cppName: "casadi::casadi_shared"
-// cWrapperName: "casadi_shared__4"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_shared__4(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4)"
-// friendWrap: True
-// fName: "casadi_shared"
-// call: "        shared(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-void
-    casadi_shared__4(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4);
-void
-    casadi_shared__4(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
-        std::vector< casadi::DM > x3_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x3);
-        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
-
-        shared(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_shared" ===============
-// cppName: "casadi::casadi_shared"
-// cWrapperName: "casadi_shared__5"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4, std::string* x5)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_shared__5(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4, std::string* x5)"
-// friendWrap: True
-// fName: "casadi_shared"
-// call: "        shared(x0_, x1_, x2_, x3_, x4_, x5_);"
-extern "C"
-void
-    casadi_shared__5(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4, std::string* x5);
-void
-    casadi_shared__5(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4, std::string* x5){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
-        std::vector< casadi::DM > x3_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x3);
-        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
-        std::string& x5_ = Marshaling<std::string&,std::string*>::marshal(x5);
-
-        shared(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_shared" ===============
-// cppName: "casadi::casadi_shared"
-// cWrapperName: "casadi_shared__6"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_shared__6(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3)"
-// friendWrap: True
-// fName: "casadi_shared"
-// call: "        shared(x0_, x1_, x2_, x3_);"
-extern "C"
-void
-    casadi_shared__6(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3);
-void
-    casadi_shared__6(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3){
-    try {
-        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
-        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
-        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
-        std::vector< casadi::IM > x3_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x3);
-
-        shared(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_shared" ===============
-// cppName: "casadi::casadi_shared"
-// cWrapperName: "casadi_shared__7"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_shared__7(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4)"
-// friendWrap: True
-// fName: "casadi_shared"
-// call: "        shared(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-void
-    casadi_shared__7(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4);
-void
-    casadi_shared__7(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4){
-    try {
-        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
-        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
-        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
-        std::vector< casadi::IM > x3_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x3);
-        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
-
-        shared(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_shared" ===============
-// cppName: "casadi::casadi_shared"
-// cWrapperName: "casadi_shared__8"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4, std::string* x5)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_shared__8(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4, std::string* x5)"
-// friendWrap: True
-// fName: "casadi_shared"
-// call: "        shared(x0_, x1_, x2_, x3_, x4_, x5_);"
-extern "C"
-void
-    casadi_shared__8(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4, std::string* x5);
-void
-    casadi_shared__8(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4, std::string* x5){
-    try {
-        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
-        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
-        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
-        std::vector< casadi::IM > x3_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x3);
-        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
-        std::string& x5_ = Marshaling<std::string&,std::string*>::marshal(x5);
-
-        shared(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_shared" ===============
-// cppName: "casadi::casadi_shared"
-// cWrapperName: "casadi_shared__9"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_shared__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3)"
-// friendWrap: True
-// fName: "casadi_shared"
-// call: "        shared(x0_, x1_, x2_, x3_);"
-extern "C"
-void
-    casadi_shared__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3);
-void
-    casadi_shared__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
-        std::vector< casadi::MX > x3_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x3);
-
-        shared(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_shared" ===============
-// cppName: "casadi::casadi_shared"
-// cWrapperName: "casadi_shared__10"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_shared__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4)"
-// friendWrap: True
-// fName: "casadi_shared"
-// call: "        shared(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-void
-    casadi_shared__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4);
-void
-    casadi_shared__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
-        std::vector< casadi::MX > x3_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x3);
-        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
-
-        shared(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_shared" ===============
-// cppName: "casadi::casadi_shared"
-// cWrapperName: "casadi_shared__11"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4, std::string* x5)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_shared__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4, std::string* x5)"
-// friendWrap: True
-// fName: "casadi_shared"
-// call: "        shared(x0_, x1_, x2_, x3_, x4_, x5_);"
-extern "C"
-void
-    casadi_shared__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4, std::string* x5);
-void
-    casadi_shared__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4, std::string* x5){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
-        std::vector< casadi::MX > x3_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x3);
-        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
-        std::string& x5_ = Marshaling<std::string&,std::string*>::marshal(x5);
-
-        shared(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_sign" ===============
-// cppName: "casadi::casadi_sign"
-// cWrapperName: "casadi_sign__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_sign__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_sign"
-// call: "        double ret = casadi::sign(x0_);"
-extern "C"
-double
-    casadi_sign__0(std::string ** err_msg, double* x0);
-double
-    casadi_sign__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = casadi::sign(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sign" ===============
-// cppName: "casadi::casadi_sign"
-// cWrapperName: "casadi_sign__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_sign__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_sign"
-// call: "        casadi::SX ret = sign(x0_);"
-extern "C"
-casadi::SX*
-    casadi_sign__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_sign__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = sign(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sign" ===============
-// cppName: "casadi::casadi_sign"
-// cWrapperName: "casadi_sign__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_sign__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_sign"
-// call: "        casadi::DM ret = sign(x0_);"
-extern "C"
-casadi::DM*
-    casadi_sign__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_sign__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = sign(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sign" ===============
-// cppName: "casadi::casadi_sign"
-// cWrapperName: "casadi_sign__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_sign__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_sign"
-// call: "        casadi::IM ret = sign(x0_);"
-extern "C"
-casadi::IM*
-    casadi_sign__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_sign__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = sign(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sign" ===============
-// cppName: "casadi::casadi_sign"
-// cWrapperName: "casadi_sign__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_sign__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_sign"
-// call: "        casadi::MX ret = sign(x0_);"
-extern "C"
-casadi::MX*
-    casadi_sign__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_sign__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = sign(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_simplify" ===============
-// cppName: "casadi::casadi_simplify"
-// cWrapperName: "casadi_simplify__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_simplify__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_simplify"
-// call: "        double ret = casadi::simplify(x0_);"
-extern "C"
-double
-    casadi_simplify__0(std::string ** err_msg, double* x0);
-double
-    casadi_simplify__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = casadi::simplify(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_simplify" ===============
-// cppName: "casadi::casadi_simplify"
-// cWrapperName: "casadi_simplify__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_simplify__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_simplify"
-// call: "        casadi::SX ret = simplify(x0_);"
-extern "C"
-casadi::SX*
-    casadi_simplify__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_simplify__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = simplify(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_simplify" ===============
-// cppName: "casadi::casadi_simplify"
-// cWrapperName: "casadi_simplify__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_simplify__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_simplify"
-// call: "        casadi::DM ret = simplify(x0_);"
-extern "C"
-casadi::DM*
-    casadi_simplify__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_simplify__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = simplify(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_simplify" ===============
-// cppName: "casadi::casadi_simplify"
-// cWrapperName: "casadi_simplify__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_simplify__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_simplify"
-// call: "        casadi::IM ret = simplify(x0_);"
-extern "C"
-casadi::IM*
-    casadi_simplify__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_simplify__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = simplify(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_simplify" ===============
-// cppName: "casadi::casadi_simplify"
-// cWrapperName: "casadi_simplify__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_simplify__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_simplify"
-// call: "        casadi::MX ret = simplify(x0_);"
-extern "C"
-casadi::MX*
-    casadi_simplify__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_simplify__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = simplify(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sin" ===============
-// cppName: "casadi::casadi_sin"
-// cWrapperName: "casadi_sin__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_sin__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_sin"
-// call: "        double ret = sin(x0_);"
-extern "C"
-double
-    casadi_sin__0(std::string ** err_msg, double* x0);
-double
-    casadi_sin__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = sin(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sin" ===============
-// cppName: "casadi::casadi_sin"
-// cWrapperName: "casadi_sin__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_sin__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_sin"
-// call: "        casadi::SX ret = sin(x0_);"
-extern "C"
-casadi::SX*
-    casadi_sin__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_sin__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = sin(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sin" ===============
-// cppName: "casadi::casadi_sin"
-// cWrapperName: "casadi_sin__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_sin__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_sin"
-// call: "        casadi::DM ret = sin(x0_);"
-extern "C"
-casadi::DM*
-    casadi_sin__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_sin__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = sin(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sin" ===============
-// cppName: "casadi::casadi_sin"
-// cWrapperName: "casadi_sin__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_sin__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_sin"
-// call: "        casadi::IM ret = sin(x0_);"
-extern "C"
-casadi::IM*
-    casadi_sin__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_sin__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = sin(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sin" ===============
-// cppName: "casadi::casadi_sin"
-// cWrapperName: "casadi_sin__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_sin__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_sin"
-// call: "        casadi::MX ret = sin(x0_);"
-extern "C"
-casadi::MX*
-    casadi_sin__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_sin__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = sin(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sinh" ===============
-// cppName: "casadi::casadi_sinh"
-// cWrapperName: "casadi_sinh__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_sinh__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_sinh"
-// call: "        double ret = sinh(x0_);"
-extern "C"
-double
-    casadi_sinh__0(std::string ** err_msg, double* x0);
-double
-    casadi_sinh__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = sinh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sinh" ===============
-// cppName: "casadi::casadi_sinh"
-// cWrapperName: "casadi_sinh__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_sinh__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_sinh"
-// call: "        casadi::SX ret = sinh(x0_);"
-extern "C"
-casadi::SX*
-    casadi_sinh__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_sinh__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = sinh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sinh" ===============
-// cppName: "casadi::casadi_sinh"
-// cWrapperName: "casadi_sinh__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_sinh__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_sinh"
-// call: "        casadi::DM ret = sinh(x0_);"
-extern "C"
-casadi::DM*
-    casadi_sinh__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_sinh__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = sinh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sinh" ===============
-// cppName: "casadi::casadi_sinh"
-// cWrapperName: "casadi_sinh__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_sinh__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_sinh"
-// call: "        casadi::IM ret = sinh(x0_);"
-extern "C"
-casadi::IM*
-    casadi_sinh__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_sinh__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = sinh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sinh" ===============
-// cppName: "casadi::casadi_sinh"
-// cWrapperName: "casadi_sinh__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_sinh__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_sinh"
-// call: "        casadi::MX ret = sinh(x0_);"
-extern "C"
-casadi::MX*
-    casadi_sinh__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_sinh__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = sinh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_skew" ===============
-// cppName: "casadi::casadi_skew"
-// cWrapperName: "casadi_skew__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_skew__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_skew"
-// call: "        casadi::SX ret = skew(x0_);"
-extern "C"
-casadi::SX*
-    casadi_skew__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_skew__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = skew(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_skew" ===============
-// cppName: "casadi::casadi_skew"
-// cWrapperName: "casadi_skew__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_skew__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_skew"
-// call: "        casadi::DM ret = skew(x0_);"
-extern "C"
-casadi::DM*
-    casadi_skew__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_skew__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = skew(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_skew" ===============
-// cppName: "casadi::casadi_skew"
-// cWrapperName: "casadi_skew__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_skew__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_skew"
-// call: "        casadi::IM ret = skew(x0_);"
-extern "C"
-casadi::IM*
-    casadi_skew__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_skew__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = skew(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_skew" ===============
-// cppName: "casadi::casadi_skew"
-// cWrapperName: "casadi_skew__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_skew__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_skew"
-// call: "        casadi::MX ret = skew(x0_);"
-extern "C"
-casadi::MX*
-    casadi_skew__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_skew__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = skew(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_solve" ===============
-// cppName: "casadi::casadi_solve"
-// cWrapperName: "casadi_solve__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2)"
-// friendWrap: True
-// fName: "casadi_solve"
-// call: "        casadi::SX ret = solve(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2);
-casadi::SX*
-    casadi_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::SX ret = solve(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_solve" ===============
-// cppName: "casadi::casadi_solve"
-// cWrapperName: "casadi_solve__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: True
-// fName: "casadi_solve"
-// call: "        casadi::SX ret = solve(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::SX*
-    casadi_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::SX*
-    casadi_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::SX ret = solve(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_solve" ===============
-// cppName: "casadi::casadi_solve"
-// cWrapperName: "casadi_solve__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_solve__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_solve"
-// call: "        casadi::SX ret = solve(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_solve__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_solve__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = solve(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_solve" ===============
-// cppName: "casadi::casadi_solve"
-// cWrapperName: "casadi_solve__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2)"
-// friendWrap: True
-// fName: "casadi_solve"
-// call: "        casadi::DM ret = solve(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2);
-casadi::DM*
-    casadi_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::DM ret = solve(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_solve" ===============
-// cppName: "casadi::casadi_solve"
-// cWrapperName: "casadi_solve__4"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_solve__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: True
-// fName: "casadi_solve"
-// call: "        casadi::DM ret = solve(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::DM*
-    casadi_solve__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::DM*
-    casadi_solve__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::DM ret = solve(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_solve" ===============
-// cppName: "casadi::casadi_solve"
-// cWrapperName: "casadi_solve__5"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_solve__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_solve"
-// call: "        casadi::DM ret = solve(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_solve__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_solve__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = solve(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_solve" ===============
-// cppName: "casadi::casadi_solve"
-// cWrapperName: "casadi_solve__6"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_solve__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2)"
-// friendWrap: True
-// fName: "casadi_solve"
-// call: "        casadi::IM ret = solve(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_solve__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2);
-casadi::IM*
-    casadi_solve__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::IM ret = solve(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_solve" ===============
-// cppName: "casadi::casadi_solve"
-// cWrapperName: "casadi_solve__7"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_solve__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: True
-// fName: "casadi_solve"
-// call: "        casadi::IM ret = solve(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::IM*
-    casadi_solve__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::IM*
-    casadi_solve__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::IM ret = solve(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_solve" ===============
-// cppName: "casadi::casadi_solve"
-// cWrapperName: "casadi_solve__8"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_solve__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_solve"
-// call: "        casadi::IM ret = solve(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_solve__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_solve__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = solve(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_solve" ===============
-// cppName: "casadi::casadi_solve"
-// cWrapperName: "casadi_solve__9"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_solve__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2)"
-// friendWrap: True
-// fName: "casadi_solve"
-// call: "        casadi::MX ret = solve(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_solve__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2);
-casadi::MX*
-    casadi_solve__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::MX ret = solve(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_solve" ===============
-// cppName: "casadi::casadi_solve"
-// cWrapperName: "casadi_solve__10"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_solve__10(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: True
-// fName: "casadi_solve"
-// call: "        casadi::MX ret = solve(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::MX*
-    casadi_solve__10(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::MX*
-    casadi_solve__10(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::MX ret = solve(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_solve" ===============
-// cppName: "casadi::casadi_solve"
-// cWrapperName: "casadi_solve__11"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_solve__11(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_solve"
-// call: "        casadi::MX ret = solve(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_solve__11(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_solve__11(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = solve(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sparsify" ===============
-// cppName: "casadi::casadi_sparsify"
-// cWrapperName: "casadi_sparsify__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_sparsify__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_sparsify"
-// call: "        casadi::SX ret = sparsify(x0_);"
-extern "C"
-casadi::SX*
-    casadi_sparsify__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_sparsify__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = sparsify(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sparsify" ===============
-// cppName: "casadi::casadi_sparsify"
-// cWrapperName: "casadi_sparsify__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, double x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CDouble,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_sparsify__1(std::string ** err_msg, casadi::SX* x0, double x1)"
-// friendWrap: True
-// fName: "casadi_sparsify"
-// call: "        casadi::SX ret = sparsify(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_sparsify__1(std::string ** err_msg, casadi::SX* x0, double x1);
-casadi::SX*
-    casadi_sparsify__1(std::string ** err_msg, casadi::SX* x0, double x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        double x1_ = Marshaling<double,double>::marshal(x1);
-
-        casadi::SX ret = sparsify(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sparsify" ===============
-// cppName: "casadi::casadi_sparsify"
-// cWrapperName: "casadi_sparsify__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_sparsify__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_sparsify"
-// call: "        casadi::DM ret = sparsify(x0_);"
-extern "C"
-casadi::DM*
-    casadi_sparsify__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_sparsify__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = sparsify(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sparsify" ===============
-// cppName: "casadi::casadi_sparsify"
-// cWrapperName: "casadi_sparsify__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, double x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CDouble,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_sparsify__3(std::string ** err_msg, casadi::DM* x0, double x1)"
-// friendWrap: True
-// fName: "casadi_sparsify"
-// call: "        casadi::DM ret = sparsify(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_sparsify__3(std::string ** err_msg, casadi::DM* x0, double x1);
-casadi::DM*
-    casadi_sparsify__3(std::string ** err_msg, casadi::DM* x0, double x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        double x1_ = Marshaling<double,double>::marshal(x1);
-
-        casadi::DM ret = sparsify(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sparsify" ===============
-// cppName: "casadi::casadi_sparsify"
-// cWrapperName: "casadi_sparsify__4"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_sparsify__4(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_sparsify"
-// call: "        casadi::IM ret = sparsify(x0_);"
-extern "C"
-casadi::IM*
-    casadi_sparsify__4(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_sparsify__4(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = sparsify(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sparsify" ===============
-// cppName: "casadi::casadi_sparsify"
-// cWrapperName: "casadi_sparsify__5"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, double x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CDouble,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_sparsify__5(std::string ** err_msg, casadi::IM* x0, double x1)"
-// friendWrap: True
-// fName: "casadi_sparsify"
-// call: "        casadi::IM ret = sparsify(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_sparsify__5(std::string ** err_msg, casadi::IM* x0, double x1);
-casadi::IM*
-    casadi_sparsify__5(std::string ** err_msg, casadi::IM* x0, double x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        double x1_ = Marshaling<double,double>::marshal(x1);
-
-        casadi::IM ret = sparsify(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sprank" ===============
-// cppName: "casadi::casadi_sprank"
-// cWrapperName: "casadi_sprank__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: CInt
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_sprank__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_sprank"
-// call: "        int ret = sprank(x0_);"
-extern "C"
-int
-    casadi_sprank__0(std::string ** err_msg, casadi::SX* x0);
-int
-    casadi_sprank__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        int ret = sprank(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sprank" ===============
-// cppName: "casadi::casadi_sprank"
-// cWrapperName: "casadi_sprank__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: CInt
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_sprank__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_sprank"
-// call: "        int ret = sprank(x0_);"
-extern "C"
-int
-    casadi_sprank__1(std::string ** err_msg, casadi::DM* x0);
-int
-    casadi_sprank__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        int ret = sprank(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sprank" ===============
-// cppName: "casadi::casadi_sprank"
-// cWrapperName: "casadi_sprank__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: CInt
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_sprank__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_sprank"
-// call: "        int ret = sprank(x0_);"
-extern "C"
-int
-    casadi_sprank__2(std::string ** err_msg, casadi::IM* x0);
-int
-    casadi_sprank__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        int ret = sprank(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sprank" ===============
-// cppName: "casadi::casadi_sprank"
-// cWrapperName: "casadi_sprank__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: CInt
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_sprank__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_sprank"
-// call: "        int ret = sprank(x0_);"
-extern "C"
-int
-    casadi_sprank__3(std::string ** err_msg, casadi::MX* x0);
-int
-    casadi_sprank__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        int ret = sprank(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sprank" ===============
-// cppName: "casadi::casadi_sprank"
-// cWrapperName: "casadi_sprank__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: CInt
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    casadi_sprank__4(std::string ** err_msg, casadi::Sparsity* x0)"
-// friendWrap: True
-// fName: "casadi_sprank"
-// call: "        int ret = sprank(x0_);"
-extern "C"
-int
-    casadi_sprank__4(std::string ** err_msg, casadi::Sparsity* x0);
-int
-    casadi_sprank__4(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        int ret = sprank(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sqrt" ===============
-// cppName: "casadi::casadi_sqrt"
-// cWrapperName: "casadi_sqrt__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_sqrt__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_sqrt"
-// call: "        double ret = sqrt(x0_);"
-extern "C"
-double
-    casadi_sqrt__0(std::string ** err_msg, double* x0);
-double
-    casadi_sqrt__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = sqrt(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sqrt" ===============
-// cppName: "casadi::casadi_sqrt"
-// cWrapperName: "casadi_sqrt__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_sqrt__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_sqrt"
-// call: "        casadi::SX ret = sqrt(x0_);"
-extern "C"
-casadi::SX*
-    casadi_sqrt__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_sqrt__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = sqrt(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sqrt" ===============
-// cppName: "casadi::casadi_sqrt"
-// cWrapperName: "casadi_sqrt__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_sqrt__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_sqrt"
-// call: "        casadi::DM ret = sqrt(x0_);"
-extern "C"
-casadi::DM*
-    casadi_sqrt__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_sqrt__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = sqrt(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sqrt" ===============
-// cppName: "casadi::casadi_sqrt"
-// cWrapperName: "casadi_sqrt__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_sqrt__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_sqrt"
-// call: "        casadi::IM ret = sqrt(x0_);"
-extern "C"
-casadi::IM*
-    casadi_sqrt__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_sqrt__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = sqrt(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sqrt" ===============
-// cppName: "casadi::casadi_sqrt"
-// cWrapperName: "casadi_sqrt__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_sqrt__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_sqrt"
-// call: "        casadi::MX ret = sqrt(x0_);"
-extern "C"
-casadi::MX*
-    casadi_sqrt__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_sqrt__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = sqrt(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute" ===============
-// cppName: "casadi::casadi_substitute"
-// cWrapperName: "casadi_substitute__0"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi_substitute__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
-// friendWrap: True
-// fName: "casadi_substitute"
-// call: "        std::vector< casadi::SX > ret = substitute(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::SX* >*
-    casadi_substitute__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2);
-std::vector< casadi::SX* >*
-    casadi_substitute__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
-
-        std::vector< casadi::SX > ret = substitute(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute" ===============
-// cppName: "casadi::casadi_substitute"
-// cWrapperName: "casadi_substitute__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_substitute__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// friendWrap: True
-// fName: "casadi_substitute"
-// call: "        casadi::SX ret = substitute(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_substitute__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
-casadi::SX*
-    casadi_substitute__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = substitute(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute" ===============
-// cppName: "casadi::casadi_substitute"
-// cWrapperName: "casadi_substitute__2"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi_substitute__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2)"
-// friendWrap: True
-// fName: "casadi_substitute"
-// call: "        std::vector< casadi::DM > ret = substitute(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::DM* >*
-    casadi_substitute__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2);
-std::vector< casadi::DM* >*
-    casadi_substitute__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
-
-        std::vector< casadi::DM > ret = substitute(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute" ===============
-// cppName: "casadi::casadi_substitute"
-// cWrapperName: "casadi_substitute__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_substitute__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// friendWrap: True
-// fName: "casadi_substitute"
-// call: "        casadi::DM ret = substitute(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_substitute__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
-casadi::DM*
-    casadi_substitute__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = substitute(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute" ===============
-// cppName: "casadi::casadi_substitute"
-// cWrapperName: "casadi_substitute__4"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi_substitute__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2)"
-// friendWrap: True
-// fName: "casadi_substitute"
-// call: "        std::vector< casadi::IM > ret = substitute(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::IM* >*
-    casadi_substitute__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2);
-std::vector< casadi::IM* >*
-    casadi_substitute__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2){
-    try {
-        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
-        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
-        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
-
-        std::vector< casadi::IM > ret = substitute(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute" ===============
-// cppName: "casadi::casadi_substitute"
-// cWrapperName: "casadi_substitute__5"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_substitute__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// friendWrap: True
-// fName: "casadi_substitute"
-// call: "        casadi::IM ret = substitute(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_substitute__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
-casadi::IM*
-    casadi_substitute__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = substitute(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute" ===============
-// cppName: "casadi::casadi_substitute"
-// cWrapperName: "casadi_substitute__6"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_substitute__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
-// friendWrap: True
-// fName: "casadi_substitute"
-// call: "        std::vector< casadi::MX > ret = substitute(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_substitute__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
-std::vector< casadi::MX* >*
-    casadi_substitute__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
-
-        std::vector< casadi::MX > ret = substitute(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute" ===============
-// cppName: "casadi::casadi_substitute"
-// cWrapperName: "casadi_substitute__7"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_substitute__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
-// friendWrap: True
-// fName: "casadi_substitute"
-// call: "        casadi::MX ret = substitute(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    casadi_substitute__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
-casadi::MX*
-    casadi_substitute__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
-
-        casadi::MX ret = substitute(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute_inplace" ===============
-// cppName: "casadi::casadi_substitute_inplace"
-// cWrapperName: "casadi_substitute_inplace__0"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_substitute_inplace__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
-// friendWrap: True
-// fName: "casadi_substitute_inplace"
-// call: "        substitute_inplace(x0_, x1_, x2_);"
-extern "C"
-void
-    casadi_substitute_inplace__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2);
-void
-    casadi_substitute_inplace__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
-
-        substitute_inplace(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute_inplace" ===============
-// cppName: "casadi::casadi_substitute_inplace"
-// cWrapperName: "casadi_substitute_inplace__1"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_substitute_inplace__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_substitute_inplace"
-// call: "        substitute_inplace(x0_, x1_, x2_, x3_);"
-extern "C"
-void
-    casadi_substitute_inplace__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3);
-void
-    casadi_substitute_inplace__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
-        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        substitute_inplace(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute_inplace" ===============
-// cppName: "casadi::casadi_substitute_inplace"
-// cWrapperName: "casadi_substitute_inplace__2"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_substitute_inplace__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2)"
-// friendWrap: True
-// fName: "casadi_substitute_inplace"
-// call: "        substitute_inplace(x0_, x1_, x2_);"
-extern "C"
-void
-    casadi_substitute_inplace__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2);
-void
-    casadi_substitute_inplace__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
-
-        substitute_inplace(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute_inplace" ===============
-// cppName: "casadi::casadi_substitute_inplace"
-// cWrapperName: "casadi_substitute_inplace__3"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, int x3)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_substitute_inplace__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_substitute_inplace"
-// call: "        substitute_inplace(x0_, x1_, x2_, x3_);"
-extern "C"
-void
-    casadi_substitute_inplace__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, int x3);
-void
-    casadi_substitute_inplace__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, int x3){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        substitute_inplace(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute_inplace" ===============
-// cppName: "casadi::casadi_substitute_inplace"
-// cWrapperName: "casadi_substitute_inplace__4"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_substitute_inplace__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2)"
-// friendWrap: True
-// fName: "casadi_substitute_inplace"
-// call: "        substitute_inplace(x0_, x1_, x2_);"
-extern "C"
-void
-    casadi_substitute_inplace__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2);
-void
-    casadi_substitute_inplace__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2){
-    try {
-        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
-        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
-        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
-
-        substitute_inplace(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute_inplace" ===============
-// cppName: "casadi::casadi_substitute_inplace"
-// cWrapperName: "casadi_substitute_inplace__5"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, int x3)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_substitute_inplace__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_substitute_inplace"
-// call: "        substitute_inplace(x0_, x1_, x2_, x3_);"
-extern "C"
-void
-    casadi_substitute_inplace__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, int x3);
-void
-    casadi_substitute_inplace__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, int x3){
-    try {
-        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
-        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
-        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        substitute_inplace(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute_inplace" ===============
-// cppName: "casadi::casadi_substitute_inplace"
-// cWrapperName: "casadi_substitute_inplace__6"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_substitute_inplace__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
-// friendWrap: True
-// fName: "casadi_substitute_inplace"
-// call: "        substitute_inplace(x0_, x1_, x2_);"
-extern "C"
-void
-    casadi_substitute_inplace__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
-void
-    casadi_substitute_inplace__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
-
-        substitute_inplace(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_substitute_inplace" ===============
-// cppName: "casadi::casadi_substitute_inplace"
-// cWrapperName: "casadi_substitute_inplace__7"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void\n    casadi_substitute_inplace__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_substitute_inplace"
-// call: "        substitute_inplace(x0_, x1_, x2_, x3_);"
-extern "C"
-void
-    casadi_substitute_inplace__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3);
-void
-    casadi_substitute_inplace__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
-        bool x3_ = Marshaling<bool,int>::marshal(x3);
-
-        substitute_inplace(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::casadi_sum1" ===============
-// cppName: "casadi::casadi_sum1"
-// cWrapperName: "casadi_sum1__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_sum1__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_sum1"
-// call: "        casadi::SX ret = sum1(x0_);"
-extern "C"
-casadi::SX*
-    casadi_sum1__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_sum1__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = sum1(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sum1" ===============
-// cppName: "casadi::casadi_sum1"
-// cWrapperName: "casadi_sum1__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_sum1__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_sum1"
-// call: "        casadi::DM ret = sum1(x0_);"
-extern "C"
-casadi::DM*
-    casadi_sum1__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_sum1__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = sum1(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sum1" ===============
-// cppName: "casadi::casadi_sum1"
-// cWrapperName: "casadi_sum1__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_sum1__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_sum1"
-// call: "        casadi::IM ret = sum1(x0_);"
-extern "C"
-casadi::IM*
-    casadi_sum1__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_sum1__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = sum1(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sum1" ===============
-// cppName: "casadi::casadi_sum1"
-// cWrapperName: "casadi_sum1__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_sum1__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_sum1"
-// call: "        casadi::MX ret = sum1(x0_);"
-extern "C"
-casadi::MX*
-    casadi_sum1__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_sum1__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = sum1(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sum2" ===============
-// cppName: "casadi::casadi_sum2"
-// cWrapperName: "casadi_sum2__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_sum2__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_sum2"
-// call: "        casadi::SX ret = sum2(x0_);"
-extern "C"
-casadi::SX*
-    casadi_sum2__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_sum2__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = sum2(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sum2" ===============
-// cppName: "casadi::casadi_sum2"
-// cWrapperName: "casadi_sum2__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_sum2__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_sum2"
-// call: "        casadi::DM ret = sum2(x0_);"
-extern "C"
-casadi::DM*
-    casadi_sum2__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_sum2__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = sum2(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sum2" ===============
-// cppName: "casadi::casadi_sum2"
-// cWrapperName: "casadi_sum2__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_sum2__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_sum2"
-// call: "        casadi::IM ret = sum2(x0_);"
-extern "C"
-casadi::IM*
-    casadi_sum2__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_sum2__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = sum2(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sum2" ===============
-// cppName: "casadi::casadi_sum2"
-// cWrapperName: "casadi_sum2__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_sum2__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_sum2"
-// call: "        casadi::MX ret = sum2(x0_);"
-extern "C"
-casadi::MX*
-    casadi_sum2__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_sum2__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = sum2(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sum_square" ===============
-// cppName: "casadi::casadi_sum_square"
-// cWrapperName: "casadi_sum_square__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_sum_square__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_sum_square"
-// call: "        casadi::SX ret = sum_square(x0_);"
-extern "C"
-casadi::SX*
-    casadi_sum_square__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_sum_square__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = sum_square(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sum_square" ===============
-// cppName: "casadi::casadi_sum_square"
-// cWrapperName: "casadi_sum_square__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_sum_square__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_sum_square"
-// call: "        casadi::DM ret = sum_square(x0_);"
-extern "C"
-casadi::DM*
-    casadi_sum_square__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_sum_square__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = sum_square(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sum_square" ===============
-// cppName: "casadi::casadi_sum_square"
-// cWrapperName: "casadi_sum_square__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_sum_square__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_sum_square"
-// call: "        casadi::IM ret = sum_square(x0_);"
-extern "C"
-casadi::IM*
-    casadi_sum_square__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_sum_square__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = sum_square(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_sum_square" ===============
-// cppName: "casadi::casadi_sum_square"
-// cWrapperName: "casadi_sum_square__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_sum_square__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_sum_square"
-// call: "        casadi::MX ret = sum_square(x0_);"
-extern "C"
-casadi::MX*
-    casadi_sum_square__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_sum_square__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = sum_square(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_symvar" ===============
-// cppName: "casadi::casadi_symvar"
-// cWrapperName: "casadi_symvar__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi_symvar__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_symvar"
-// call: "        std::vector< casadi::SX > ret = symvar(x0_);"
-extern "C"
-std::vector< casadi::SX* >*
-    casadi_symvar__0(std::string ** err_msg, casadi::SX* x0);
-std::vector< casadi::SX* >*
-    casadi_symvar__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        std::vector< casadi::SX > ret = symvar(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_symvar" ===============
-// cppName: "casadi::casadi_symvar"
-// cWrapperName: "casadi_symvar__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi_symvar__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_symvar"
-// call: "        std::vector< casadi::DM > ret = symvar(x0_);"
-extern "C"
-std::vector< casadi::DM* >*
-    casadi_symvar__1(std::string ** err_msg, casadi::DM* x0);
-std::vector< casadi::DM* >*
-    casadi_symvar__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        std::vector< casadi::DM > ret = symvar(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_symvar" ===============
-// cppName: "casadi::casadi_symvar"
-// cWrapperName: "casadi_symvar__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi_symvar__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_symvar"
-// call: "        std::vector< casadi::IM > ret = symvar(x0_);"
-extern "C"
-std::vector< casadi::IM* >*
-    casadi_symvar__2(std::string ** err_msg, casadi::IM* x0);
-std::vector< casadi::IM* >*
-    casadi_symvar__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        std::vector< casadi::IM > ret = symvar(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_symvar" ===============
-// cppName: "casadi::casadi_symvar"
-// cWrapperName: "casadi_symvar__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_symvar__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_symvar"
-// call: "        std::vector< casadi::MX > ret = symvar(x0_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_symvar__3(std::string ** err_msg, casadi::MX* x0);
-std::vector< casadi::MX* >*
-    casadi_symvar__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        std::vector< casadi::MX > ret = symvar(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tan" ===============
-// cppName: "casadi::casadi_tan"
-// cWrapperName: "casadi_tan__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_tan__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_tan"
-// call: "        double ret = tan(x0_);"
-extern "C"
-double
-    casadi_tan__0(std::string ** err_msg, double* x0);
-double
-    casadi_tan__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = tan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tan" ===============
-// cppName: "casadi::casadi_tan"
-// cWrapperName: "casadi_tan__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_tan__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_tan"
-// call: "        casadi::SX ret = tan(x0_);"
-extern "C"
-casadi::SX*
-    casadi_tan__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_tan__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = tan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tan" ===============
-// cppName: "casadi::casadi_tan"
-// cWrapperName: "casadi_tan__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_tan__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_tan"
-// call: "        casadi::DM ret = tan(x0_);"
-extern "C"
-casadi::DM*
-    casadi_tan__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_tan__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = tan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tan" ===============
-// cppName: "casadi::casadi_tan"
-// cWrapperName: "casadi_tan__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_tan__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_tan"
-// call: "        casadi::IM ret = tan(x0_);"
-extern "C"
-casadi::IM*
-    casadi_tan__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_tan__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = tan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tan" ===============
-// cppName: "casadi::casadi_tan"
-// cWrapperName: "casadi_tan__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_tan__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_tan"
-// call: "        casadi::MX ret = tan(x0_);"
-extern "C"
-casadi::MX*
-    casadi_tan__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_tan__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = tan(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tangent" ===============
-// cppName: "casadi::casadi_tangent"
-// cWrapperName: "casadi_tangent__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_tangent__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_tangent"
-// call: "        casadi::SX ret = tangent(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_tangent__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_tangent__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = tangent(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tangent" ===============
-// cppName: "casadi::casadi_tangent"
-// cWrapperName: "casadi_tangent__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_tangent__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_tangent"
-// call: "        casadi::DM ret = tangent(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_tangent__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_tangent__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = tangent(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tangent" ===============
-// cppName: "casadi::casadi_tangent"
-// cWrapperName: "casadi_tangent__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_tangent__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_tangent"
-// call: "        casadi::IM ret = tangent(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_tangent__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_tangent__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = tangent(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tangent" ===============
-// cppName: "casadi::casadi_tangent"
-// cWrapperName: "casadi_tangent__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_tangent__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_tangent"
-// call: "        casadi::MX ret = tangent(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_tangent__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_tangent__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = tangent(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tanh" ===============
-// cppName: "casadi::casadi_tanh"
-// cWrapperName: "casadi_tanh__0"
-// protoArgs: "(std::string ** err_msg, double* x0)"
-// params: [(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_tanh__0(std::string ** err_msg, double* x0)"
-// friendWrap: True
-// fName: "casadi_tanh"
-// call: "        double ret = tanh(x0_);"
-extern "C"
-double
-    casadi_tanh__0(std::string ** err_msg, double* x0);
-double
-    casadi_tanh__0(std::string ** err_msg, double* x0){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-
-        double ret = tanh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tanh" ===============
-// cppName: "casadi::casadi_tanh"
-// cWrapperName: "casadi_tanh__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_tanh__1(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_tanh"
-// call: "        casadi::SX ret = tanh(x0_);"
-extern "C"
-casadi::SX*
-    casadi_tanh__1(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_tanh__1(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = tanh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tanh" ===============
-// cppName: "casadi::casadi_tanh"
-// cWrapperName: "casadi_tanh__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_tanh__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_tanh"
-// call: "        casadi::DM ret = tanh(x0_);"
-extern "C"
-casadi::DM*
-    casadi_tanh__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_tanh__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = tanh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tanh" ===============
-// cppName: "casadi::casadi_tanh"
-// cWrapperName: "casadi_tanh__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_tanh__3(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_tanh"
-// call: "        casadi::IM ret = tanh(x0_);"
-extern "C"
-casadi::IM*
-    casadi_tanh__3(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_tanh__3(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = tanh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tanh" ===============
-// cppName: "casadi::casadi_tanh"
-// cWrapperName: "casadi_tanh__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_tanh__4(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_tanh"
-// call: "        casadi::MX ret = tanh(x0_);"
-extern "C"
-casadi::MX*
-    casadi_tanh__4(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_tanh__4(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = tanh(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_taylor" ===============
-// cppName: "casadi::casadi_taylor"
-// cWrapperName: "casadi_taylor__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_taylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_taylor"
-// call: "        casadi::SX ret = taylor(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_taylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_taylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = taylor(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_taylor" ===============
-// cppName: "casadi::casadi_taylor"
-// cWrapperName: "casadi_taylor__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_taylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
-// friendWrap: True
-// fName: "casadi_taylor"
-// call: "        casadi::SX ret = taylor(x0_, x1_, x2_);"
-extern "C"
-casadi::SX*
-    casadi_taylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
-casadi::SX*
-    casadi_taylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-
-        casadi::SX ret = taylor(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_taylor" ===============
-// cppName: "casadi::casadi_taylor"
-// cWrapperName: "casadi_taylor__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_taylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_taylor"
-// call: "        casadi::SX ret = taylor(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::SX*
-    casadi_taylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3);
-casadi::SX*
-    casadi_taylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        casadi::SX ret = taylor(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_taylor" ===============
-// cppName: "casadi::casadi_taylor"
-// cWrapperName: "casadi_taylor__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_taylor__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_taylor"
-// call: "        casadi::DM ret = taylor(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_taylor__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_taylor__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = taylor(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_taylor" ===============
-// cppName: "casadi::casadi_taylor"
-// cWrapperName: "casadi_taylor__4"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_taylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
-// friendWrap: True
-// fName: "casadi_taylor"
-// call: "        casadi::DM ret = taylor(x0_, x1_, x2_);"
-extern "C"
-casadi::DM*
-    casadi_taylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
-casadi::DM*
-    casadi_taylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-
-        casadi::DM ret = taylor(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_taylor" ===============
-// cppName: "casadi::casadi_taylor"
-// cWrapperName: "casadi_taylor__5"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_taylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_taylor"
-// call: "        casadi::DM ret = taylor(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::DM*
-    casadi_taylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3);
-casadi::DM*
-    casadi_taylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        casadi::DM ret = taylor(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_taylor" ===============
-// cppName: "casadi::casadi_taylor"
-// cWrapperName: "casadi_taylor__6"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_taylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_taylor"
-// call: "        casadi::IM ret = taylor(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_taylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_taylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = taylor(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_taylor" ===============
-// cppName: "casadi::casadi_taylor"
-// cWrapperName: "casadi_taylor__7"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_taylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
-// friendWrap: True
-// fName: "casadi_taylor"
-// call: "        casadi::IM ret = taylor(x0_, x1_, x2_);"
-extern "C"
-casadi::IM*
-    casadi_taylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
-casadi::IM*
-    casadi_taylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-
-        casadi::IM ret = taylor(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_taylor" ===============
-// cppName: "casadi::casadi_taylor"
-// cWrapperName: "casadi_taylor__8"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_taylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
-// friendWrap: True
-// fName: "casadi_taylor"
-// call: "        casadi::IM ret = taylor(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::IM*
-    casadi_taylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3);
-casadi::IM*
-    casadi_taylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        casadi::IM ret = taylor(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_times" ===============
-// cppName: "casadi::casadi_times"
-// cWrapperName: "casadi_times__0"
-// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
-// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
-// retType: CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double\n    casadi_times__0(std::string ** err_msg, double* x0, double* x1)"
-// friendWrap: True
-// fName: "casadi_times"
-// call: "        double ret = x0_ * x1_;"
-extern "C"
-double
-    casadi_times__0(std::string ** err_msg, double* x0, double* x1);
-double
-    casadi_times__0(std::string ** err_msg, double* x0, double* x1){
-    try {
-        double& x0_ = Marshaling<double&,double*>::marshal(x0);
-        double& x1_ = Marshaling<double&,double*>::marshal(x1);
-
-        double ret = x0_ * x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_times" ===============
-// cppName: "casadi::casadi_times"
-// cWrapperName: "casadi_times__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_times__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_times"
-// call: "        casadi::SX ret = x0_ * x1_;"
-extern "C"
-casadi::SX*
-    casadi_times__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_times__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = x0_ * x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_times" ===============
-// cppName: "casadi::casadi_times"
-// cWrapperName: "casadi_times__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_times__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_times"
-// call: "        casadi::DM ret = x0_ * x1_;"
-extern "C"
-casadi::DM*
-    casadi_times__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_times__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = x0_ * x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_times" ===============
-// cppName: "casadi::casadi_times"
-// cWrapperName: "casadi_times__3"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_times__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_times"
-// call: "        casadi::IM ret = x0_ * x1_;"
-extern "C"
-casadi::IM*
-    casadi_times__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_times__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = x0_ * x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_times" ===============
-// cppName: "casadi::casadi_times"
-// cWrapperName: "casadi_times__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_times__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_times"
-// call: "        casadi::MX ret = x0_ * x1_;"
-extern "C"
-casadi::MX*
-    casadi_times__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_times__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = x0_ * x1_;
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_trace" ===============
-// cppName: "casadi::casadi_trace"
-// cWrapperName: "casadi_trace__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_trace__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_trace"
-// call: "        casadi::SX ret = trace(x0_);"
-extern "C"
-casadi::SX*
-    casadi_trace__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_trace__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = trace(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_trace" ===============
-// cppName: "casadi::casadi_trace"
-// cWrapperName: "casadi_trace__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_trace__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_trace"
-// call: "        casadi::DM ret = trace(x0_);"
-extern "C"
-casadi::DM*
-    casadi_trace__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_trace__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = trace(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_trace" ===============
-// cppName: "casadi::casadi_trace"
-// cWrapperName: "casadi_trace__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_trace__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_trace"
-// call: "        casadi::IM ret = trace(x0_);"
-extern "C"
-casadi::IM*
-    casadi_trace__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_trace__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = trace(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_trace" ===============
-// cppName: "casadi::casadi_trace"
-// cWrapperName: "casadi_trace__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_trace__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_trace"
-// call: "        casadi::MX ret = trace(x0_);"
-extern "C"
-casadi::MX*
-    casadi_trace__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_trace__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = trace(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_transpose" ===============
-// cppName: "casadi::casadi_transpose"
-// cWrapperName: "casadi_transpose__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_transpose__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_transpose"
-// call: "        casadi::SX ret = transpose(x0_);"
-extern "C"
-casadi::SX*
-    casadi_transpose__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_transpose__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = transpose(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_transpose" ===============
-// cppName: "casadi::casadi_transpose"
-// cWrapperName: "casadi_transpose__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_transpose__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_transpose"
-// call: "        casadi::DM ret = transpose(x0_);"
-extern "C"
-casadi::DM*
-    casadi_transpose__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_transpose__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = transpose(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_transpose" ===============
-// cppName: "casadi::casadi_transpose"
-// cWrapperName: "casadi_transpose__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_transpose__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_transpose"
-// call: "        casadi::IM ret = transpose(x0_);"
-extern "C"
-casadi::IM*
-    casadi_transpose__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_transpose__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = transpose(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_transpose" ===============
-// cppName: "casadi::casadi_transpose"
-// cWrapperName: "casadi_transpose__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_transpose__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_transpose"
-// call: "        casadi::MX ret = transpose(x0_);"
-extern "C"
-casadi::MX*
-    casadi_transpose__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_transpose__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = transpose(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_transpose" ===============
-// cppName: "casadi::casadi_transpose"
-// cWrapperName: "casadi_transpose__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_transpose__4(std::string ** err_msg, casadi::Sparsity* x0)"
-// friendWrap: True
-// fName: "casadi_transpose"
-// call: "        casadi::Sparsity ret = transpose(x0_);"
-extern "C"
-casadi::Sparsity*
-    casadi_transpose__4(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::Sparsity*
-    casadi_transpose__4(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::Sparsity ret = transpose(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triangle" ===============
-// cppName: "casadi::casadi_triangle"
-// cWrapperName: "casadi_triangle__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_triangle__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_triangle"
-// call: "        casadi::SX ret = triangle(x0_);"
-extern "C"
-casadi::SX*
-    casadi_triangle__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_triangle__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = triangle(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triangle" ===============
-// cppName: "casadi::casadi_triangle"
-// cWrapperName: "casadi_triangle__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_triangle__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_triangle"
-// call: "        casadi::DM ret = triangle(x0_);"
-extern "C"
-casadi::DM*
-    casadi_triangle__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_triangle__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = triangle(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triangle" ===============
-// cppName: "casadi::casadi_triangle"
-// cWrapperName: "casadi_triangle__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_triangle__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_triangle"
-// call: "        casadi::IM ret = triangle(x0_);"
-extern "C"
-casadi::IM*
-    casadi_triangle__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_triangle__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = triangle(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tril" ===============
-// cppName: "casadi::casadi_tril"
-// cWrapperName: "casadi_tril__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_tril__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_tril"
-// call: "        casadi::SX ret = tril(x0_);"
-extern "C"
-casadi::SX*
-    casadi_tril__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_tril__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = tril(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tril" ===============
-// cppName: "casadi::casadi_tril"
-// cWrapperName: "casadi_tril__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_tril__1(std::string ** err_msg, casadi::SX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_tril"
-// call: "        casadi::SX ret = tril(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_tril__1(std::string ** err_msg, casadi::SX* x0, int x1);
-casadi::SX*
-    casadi_tril__1(std::string ** err_msg, casadi::SX* x0, int x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::SX ret = tril(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tril" ===============
-// cppName: "casadi::casadi_tril"
-// cWrapperName: "casadi_tril__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_tril__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_tril"
-// call: "        casadi::DM ret = tril(x0_);"
-extern "C"
-casadi::DM*
-    casadi_tril__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_tril__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = tril(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tril" ===============
-// cppName: "casadi::casadi_tril"
-// cWrapperName: "casadi_tril__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_tril__3(std::string ** err_msg, casadi::DM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_tril"
-// call: "        casadi::DM ret = tril(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_tril__3(std::string ** err_msg, casadi::DM* x0, int x1);
-casadi::DM*
-    casadi_tril__3(std::string ** err_msg, casadi::DM* x0, int x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::DM ret = tril(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tril" ===============
-// cppName: "casadi::casadi_tril"
-// cWrapperName: "casadi_tril__4"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_tril__4(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_tril"
-// call: "        casadi::IM ret = tril(x0_);"
-extern "C"
-casadi::IM*
-    casadi_tril__4(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_tril__4(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = tril(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tril" ===============
-// cppName: "casadi::casadi_tril"
-// cWrapperName: "casadi_tril__5"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_tril__5(std::string ** err_msg, casadi::IM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_tril"
-// call: "        casadi::IM ret = tril(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_tril__5(std::string ** err_msg, casadi::IM* x0, int x1);
-casadi::IM*
-    casadi_tril__5(std::string ** err_msg, casadi::IM* x0, int x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::IM ret = tril(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tril" ===============
-// cppName: "casadi::casadi_tril"
-// cWrapperName: "casadi_tril__6"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_tril__6(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_tril"
-// call: "        casadi::MX ret = tril(x0_);"
-extern "C"
-casadi::MX*
-    casadi_tril__6(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_tril__6(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = tril(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tril" ===============
-// cppName: "casadi::casadi_tril"
-// cWrapperName: "casadi_tril__7"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_tril__7(std::string ** err_msg, casadi::MX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_tril"
-// call: "        casadi::MX ret = tril(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_tril__7(std::string ** err_msg, casadi::MX* x0, int x1);
-casadi::MX*
-    casadi_tril__7(std::string ** err_msg, casadi::MX* x0, int x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::MX ret = tril(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tril" ===============
-// cppName: "casadi::casadi_tril"
-// cWrapperName: "casadi_tril__8"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_tril__8(std::string ** err_msg, casadi::Sparsity* x0)"
-// friendWrap: True
-// fName: "casadi_tril"
-// call: "        casadi::Sparsity ret = tril(x0_);"
-extern "C"
-casadi::Sparsity*
-    casadi_tril__8(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::Sparsity*
-    casadi_tril__8(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::Sparsity ret = tril(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tril" ===============
-// cppName: "casadi::casadi_tril"
-// cWrapperName: "casadi_tril__9"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_tril__9(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_tril"
-// call: "        casadi::Sparsity ret = tril(x0_, x1_);"
-extern "C"
-casadi::Sparsity*
-    casadi_tril__9(std::string ** err_msg, casadi::Sparsity* x0, int x1);
-casadi::Sparsity*
-    casadi_tril__9(std::string ** err_msg, casadi::Sparsity* x0, int x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::Sparsity ret = tril(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tril2symm" ===============
-// cppName: "casadi::casadi_tril2symm"
-// cWrapperName: "casadi_tril2symm__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_tril2symm__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_tril2symm"
-// call: "        casadi::SX ret = tril2symm(x0_);"
-extern "C"
-casadi::SX*
-    casadi_tril2symm__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_tril2symm__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = tril2symm(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tril2symm" ===============
-// cppName: "casadi::casadi_tril2symm"
-// cWrapperName: "casadi_tril2symm__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_tril2symm__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_tril2symm"
-// call: "        casadi::DM ret = tril2symm(x0_);"
-extern "C"
-casadi::DM*
-    casadi_tril2symm__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_tril2symm__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = tril2symm(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tril2symm" ===============
-// cppName: "casadi::casadi_tril2symm"
-// cWrapperName: "casadi_tril2symm__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_tril2symm__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_tril2symm"
-// call: "        casadi::IM ret = tril2symm(x0_);"
-extern "C"
-casadi::IM*
-    casadi_tril2symm__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_tril2symm__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = tril2symm(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_tril2symm" ===============
-// cppName: "casadi::casadi_tril2symm"
-// cWrapperName: "casadi_tril2symm__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_tril2symm__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_tril2symm"
-// call: "        casadi::MX ret = tril2symm(x0_);"
-extern "C"
-casadi::MX*
-    casadi_tril2symm__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_tril2symm__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = tril2symm(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triu" ===============
-// cppName: "casadi::casadi_triu"
-// cWrapperName: "casadi_triu__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_triu__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_triu"
-// call: "        casadi::SX ret = triu(x0_);"
-extern "C"
-casadi::SX*
-    casadi_triu__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_triu__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = triu(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triu" ===============
-// cppName: "casadi::casadi_triu"
-// cWrapperName: "casadi_triu__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_triu__1(std::string ** err_msg, casadi::SX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_triu"
-// call: "        casadi::SX ret = triu(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_triu__1(std::string ** err_msg, casadi::SX* x0, int x1);
-casadi::SX*
-    casadi_triu__1(std::string ** err_msg, casadi::SX* x0, int x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::SX ret = triu(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triu" ===============
-// cppName: "casadi::casadi_triu"
-// cWrapperName: "casadi_triu__2"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_triu__2(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_triu"
-// call: "        casadi::DM ret = triu(x0_);"
-extern "C"
-casadi::DM*
-    casadi_triu__2(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_triu__2(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = triu(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triu" ===============
-// cppName: "casadi::casadi_triu"
-// cWrapperName: "casadi_triu__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_triu__3(std::string ** err_msg, casadi::DM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_triu"
-// call: "        casadi::DM ret = triu(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_triu__3(std::string ** err_msg, casadi::DM* x0, int x1);
-casadi::DM*
-    casadi_triu__3(std::string ** err_msg, casadi::DM* x0, int x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::DM ret = triu(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triu" ===============
-// cppName: "casadi::casadi_triu"
-// cWrapperName: "casadi_triu__4"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_triu__4(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_triu"
-// call: "        casadi::IM ret = triu(x0_);"
-extern "C"
-casadi::IM*
-    casadi_triu__4(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_triu__4(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = triu(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triu" ===============
-// cppName: "casadi::casadi_triu"
-// cWrapperName: "casadi_triu__5"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_triu__5(std::string ** err_msg, casadi::IM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_triu"
-// call: "        casadi::IM ret = triu(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_triu__5(std::string ** err_msg, casadi::IM* x0, int x1);
-casadi::IM*
-    casadi_triu__5(std::string ** err_msg, casadi::IM* x0, int x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::IM ret = triu(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triu" ===============
-// cppName: "casadi::casadi_triu"
-// cWrapperName: "casadi_triu__6"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_triu__6(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_triu"
-// call: "        casadi::MX ret = triu(x0_);"
-extern "C"
-casadi::MX*
-    casadi_triu__6(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_triu__6(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = triu(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triu" ===============
-// cppName: "casadi::casadi_triu"
-// cWrapperName: "casadi_triu__7"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_triu__7(std::string ** err_msg, casadi::MX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_triu"
-// call: "        casadi::MX ret = triu(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_triu__7(std::string ** err_msg, casadi::MX* x0, int x1);
-casadi::MX*
-    casadi_triu__7(std::string ** err_msg, casadi::MX* x0, int x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::MX ret = triu(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triu" ===============
-// cppName: "casadi::casadi_triu"
-// cWrapperName: "casadi_triu__8"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_triu__8(std::string ** err_msg, casadi::Sparsity* x0)"
-// friendWrap: True
-// fName: "casadi_triu"
-// call: "        casadi::Sparsity ret = triu(x0_);"
-extern "C"
-casadi::Sparsity*
-    casadi_triu__8(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::Sparsity*
-    casadi_triu__8(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::Sparsity ret = triu(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triu" ===============
-// cppName: "casadi::casadi_triu"
-// cWrapperName: "casadi_triu__9"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_triu__9(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_triu"
-// call: "        casadi::Sparsity ret = triu(x0_, x1_);"
-extern "C"
-casadi::Sparsity*
-    casadi_triu__9(std::string ** err_msg, casadi::Sparsity* x0, int x1);
-casadi::Sparsity*
-    casadi_triu__9(std::string ** err_msg, casadi::Sparsity* x0, int x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::Sparsity ret = triu(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triu2symm" ===============
-// cppName: "casadi::casadi_triu2symm"
-// cWrapperName: "casadi_triu2symm__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_triu2symm__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_triu2symm"
-// call: "        casadi::SX ret = triu2symm(x0_);"
-extern "C"
-casadi::SX*
-    casadi_triu2symm__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_triu2symm__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = triu2symm(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triu2symm" ===============
-// cppName: "casadi::casadi_triu2symm"
-// cWrapperName: "casadi_triu2symm__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_triu2symm__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_triu2symm"
-// call: "        casadi::DM ret = triu2symm(x0_);"
-extern "C"
-casadi::DM*
-    casadi_triu2symm__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_triu2symm__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = triu2symm(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triu2symm" ===============
-// cppName: "casadi::casadi_triu2symm"
-// cWrapperName: "casadi_triu2symm__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_triu2symm__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_triu2symm"
-// call: "        casadi::IM ret = triu2symm(x0_);"
-extern "C"
-casadi::IM*
-    casadi_triu2symm__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_triu2symm__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = triu2symm(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_triu2symm" ===============
-// cppName: "casadi::casadi_triu2symm"
-// cWrapperName: "casadi_triu2symm__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_triu2symm__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_triu2symm"
-// call: "        casadi::MX ret = triu2symm(x0_);"
-extern "C"
-casadi::MX*
-    casadi_triu2symm__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_triu2symm__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = triu2symm(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_unite" ===============
-// cppName: "casadi::casadi_unite"
-// cWrapperName: "casadi_unite__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_unite__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_unite"
-// call: "        casadi::SX ret = unite(x0_, x1_);"
-extern "C"
-casadi::SX*
-    casadi_unite__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-casadi::SX*
-    casadi_unite__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
-
-        casadi::SX ret = unite(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_unite" ===============
-// cppName: "casadi::casadi_unite"
-// cWrapperName: "casadi_unite__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_unite__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_unite"
-// call: "        casadi::DM ret = unite(x0_, x1_);"
-extern "C"
-casadi::DM*
-    casadi_unite__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-casadi::DM*
-    casadi_unite__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
-
-        casadi::DM ret = unite(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_unite" ===============
-// cppName: "casadi::casadi_unite"
-// cWrapperName: "casadi_unite__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_unite__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_unite"
-// call: "        casadi::IM ret = unite(x0_, x1_);"
-extern "C"
-casadi::IM*
-    casadi_unite__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-casadi::IM*
-    casadi_unite__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
-
-        casadi::IM ret = unite(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_unite" ===============
-// cppName: "casadi::casadi_unite"
-// cWrapperName: "casadi_unite__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_unite__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_unite"
-// call: "        casadi::MX ret = unite(x0_, x1_);"
-extern "C"
-casadi::MX*
-    casadi_unite__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi_unite__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-
-        casadi::MX ret = unite(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vec" ===============
-// cppName: "casadi::casadi_vec"
-// cWrapperName: "casadi_vec__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_vec__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_vec"
-// call: "        casadi::SX ret = vec(x0_);"
-extern "C"
-casadi::SX*
-    casadi_vec__0(std::string ** err_msg, casadi::SX* x0);
-casadi::SX*
-    casadi_vec__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        casadi::SX ret = vec(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vec" ===============
-// cppName: "casadi::casadi_vec"
-// cWrapperName: "casadi_vec__1"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_vec__1(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_vec"
-// call: "        casadi::DM ret = vec(x0_);"
-extern "C"
-casadi::DM*
-    casadi_vec__1(std::string ** err_msg, casadi::DM* x0);
-casadi::DM*
-    casadi_vec__1(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        casadi::DM ret = vec(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vec" ===============
-// cppName: "casadi::casadi_vec"
-// cWrapperName: "casadi_vec__2"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_vec__2(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_vec"
-// call: "        casadi::IM ret = vec(x0_);"
-extern "C"
-casadi::IM*
-    casadi_vec__2(std::string ** err_msg, casadi::IM* x0);
-casadi::IM*
-    casadi_vec__2(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::IM ret = vec(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vec" ===============
-// cppName: "casadi::casadi_vec"
-// cWrapperName: "casadi_vec__3"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_vec__3(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_vec"
-// call: "        casadi::MX ret = vec(x0_);"
-extern "C"
-casadi::MX*
-    casadi_vec__3(std::string ** err_msg, casadi::MX* x0);
-casadi::MX*
-    casadi_vec__3(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        casadi::MX ret = vec(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vec" ===============
-// cppName: "casadi::casadi_vec"
-// cWrapperName: "casadi_vec__4"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_vec__4(std::string ** err_msg, casadi::Sparsity* x0)"
-// friendWrap: True
-// fName: "casadi_vec"
-// call: "        casadi::Sparsity ret = vec(x0_);"
-extern "C"
-casadi::Sparsity*
-    casadi_vec__4(std::string ** err_msg, casadi::Sparsity* x0);
-casadi::Sparsity*
-    casadi_vec__4(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        casadi::Sparsity ret = vec(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_veccat" ===============
-// cppName: "casadi::casadi_veccat"
-// cWrapperName: "casadi_veccat__0"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_veccat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
-// friendWrap: True
-// fName: "casadi_veccat"
-// call: "        casadi::SX ret = veccat(x0_);"
-extern "C"
-casadi::SX*
-    casadi_veccat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
-casadi::SX*
-    casadi_veccat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-
-        casadi::SX ret = veccat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_veccat" ===============
-// cppName: "casadi::casadi_veccat"
-// cWrapperName: "casadi_veccat__1"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_veccat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
-// friendWrap: True
-// fName: "casadi_veccat"
-// call: "        casadi::DM ret = veccat(x0_);"
-extern "C"
-casadi::DM*
-    casadi_veccat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0);
-casadi::DM*
-    casadi_veccat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-
-        casadi::DM ret = veccat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_veccat" ===============
-// cppName: "casadi::casadi_veccat"
-// cWrapperName: "casadi_veccat__2"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_veccat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
-// friendWrap: True
-// fName: "casadi_veccat"
-// call: "        casadi::IM ret = veccat(x0_);"
-extern "C"
-casadi::IM*
-    casadi_veccat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0);
-casadi::IM*
-    casadi_veccat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0){
-    try {
-        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
-
-        casadi::IM ret = veccat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_veccat" ===============
-// cppName: "casadi::casadi_veccat"
-// cWrapperName: "casadi_veccat__3"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_veccat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
-// friendWrap: True
-// fName: "casadi_veccat"
-// call: "        casadi::MX ret = veccat(x0_);"
-extern "C"
-casadi::MX*
-    casadi_veccat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
-casadi::MX*
-    casadi_veccat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-
-        casadi::MX ret = veccat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_veccat" ===============
-// cppName: "casadi::casadi_veccat"
-// cWrapperName: "casadi_veccat__4"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_veccat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
-// friendWrap: True
-// fName: "casadi_veccat"
-// call: "        casadi::Sparsity ret = veccat(x0_);"
-extern "C"
-casadi::Sparsity*
-    casadi_veccat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
-casadi::Sparsity*
-    casadi_veccat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
-    try {
-        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
-
-        casadi::Sparsity ret = veccat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertcat" ===============
-// cppName: "casadi::casadi_vertcat"
-// cWrapperName: "casadi_vertcat__0"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "SX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi_vertcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
-// friendWrap: True
-// fName: "casadi_vertcat"
-// call: "        casadi::SX ret = vertcat(x0_);"
-extern "C"
-casadi::SX*
-    casadi_vertcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
-casadi::SX*
-    casadi_vertcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
-    try {
-        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
-
-        casadi::SX ret = vertcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertcat" ===============
-// cppName: "casadi::casadi_vertcat"
-// cWrapperName: "casadi_vertcat__1"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "DM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi_vertcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
-// friendWrap: True
-// fName: "casadi_vertcat"
-// call: "        casadi::DM ret = vertcat(x0_);"
-extern "C"
-casadi::DM*
-    casadi_vertcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0);
-casadi::DM*
-    casadi_vertcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-
-        casadi::DM ret = vertcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertcat" ===============
-// cppName: "casadi::casadi_vertcat"
-// cWrapperName: "casadi_vertcat__2"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "IM")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi_vertcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
-// friendWrap: True
-// fName: "casadi_vertcat"
-// call: "        casadi::IM ret = vertcat(x0_);"
-extern "C"
-casadi::IM*
-    casadi_vertcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0);
-casadi::IM*
-    casadi_vertcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0){
-    try {
-        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
-
-        casadi::IM ret = vertcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertcat" ===============
-// cppName: "casadi::casadi_vertcat"
-// cWrapperName: "casadi_vertcat__3"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi_vertcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
-// friendWrap: True
-// fName: "casadi_vertcat"
-// call: "        casadi::MX ret = vertcat(x0_);"
-extern "C"
-casadi::MX*
-    casadi_vertcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
-casadi::MX*
-    casadi_vertcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-
-        casadi::MX ret = vertcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertcat" ===============
-// cppName: "casadi::casadi_vertcat"
-// cWrapperName: "casadi_vertcat__4"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi_vertcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
-// friendWrap: True
-// fName: "casadi_vertcat"
-// call: "        casadi::Sparsity ret = vertcat(x0_);"
-extern "C"
-casadi::Sparsity*
-    casadi_vertcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
-casadi::Sparsity*
-    casadi_vertcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
-    try {
-        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
-
-        casadi::Sparsity ret = vertcat(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__0"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi_vertsplit__0(std::string ** err_msg, casadi::SX* x0)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::SX > ret = vertsplit(x0_);"
-extern "C"
-std::vector< casadi::SX* >*
-    casadi_vertsplit__0(std::string ** err_msg, casadi::SX* x0);
-std::vector< casadi::SX* >*
-    casadi_vertsplit__0(std::string ** err_msg, casadi::SX* x0){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-
-        std::vector< casadi::SX > ret = vertsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__1"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi_vertsplit__1(std::string ** err_msg, casadi::SX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::SX > ret = vertsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::SX* >*
-    casadi_vertsplit__1(std::string ** err_msg, casadi::SX* x0, int x1);
-std::vector< casadi::SX* >*
-    casadi_vertsplit__1(std::string ** err_msg, casadi::SX* x0, int x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::SX > ret = vertsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__2"
-// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::SX* >*"
-// proto: "std::vector< casadi::SX* >*\n    casadi_vertsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::SX > ret = vertsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::SX* >*
-    casadi_vertsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1);
-std::vector< casadi::SX* >*
-    casadi_vertsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< int >* x1){
-    try {
-        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::SX > ret = vertsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__3"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi_vertsplit__3(std::string ** err_msg, casadi::DM* x0)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::DM > ret = vertsplit(x0_);"
-extern "C"
-std::vector< casadi::DM* >*
-    casadi_vertsplit__3(std::string ** err_msg, casadi::DM* x0);
-std::vector< casadi::DM* >*
-    casadi_vertsplit__3(std::string ** err_msg, casadi::DM* x0){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-
-        std::vector< casadi::DM > ret = vertsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__4"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi_vertsplit__4(std::string ** err_msg, casadi::DM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::DM > ret = vertsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::DM* >*
-    casadi_vertsplit__4(std::string ** err_msg, casadi::DM* x0, int x1);
-std::vector< casadi::DM* >*
-    casadi_vertsplit__4(std::string ** err_msg, casadi::DM* x0, int x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::DM > ret = vertsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__5"
-// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    casadi_vertsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::DM > ret = vertsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::DM* >*
-    casadi_vertsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1);
-std::vector< casadi::DM* >*
-    casadi_vertsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< int >* x1){
-    try {
-        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::DM > ret = vertsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__6"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi_vertsplit__6(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::IM > ret = vertsplit(x0_);"
-extern "C"
-std::vector< casadi::IM* >*
-    casadi_vertsplit__6(std::string ** err_msg, casadi::IM* x0);
-std::vector< casadi::IM* >*
-    casadi_vertsplit__6(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        std::vector< casadi::IM > ret = vertsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__7"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi_vertsplit__7(std::string ** err_msg, casadi::IM* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::IM > ret = vertsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::IM* >*
-    casadi_vertsplit__7(std::string ** err_msg, casadi::IM* x0, int x1);
-std::vector< casadi::IM* >*
-    casadi_vertsplit__7(std::string ** err_msg, casadi::IM* x0, int x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::IM > ret = vertsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__8"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::IM* >*"
-// proto: "std::vector< casadi::IM* >*\n    casadi_vertsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::IM > ret = vertsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::IM* >*
-    casadi_vertsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1);
-std::vector< casadi::IM* >*
-    casadi_vertsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< int >* x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::IM > ret = vertsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__9"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_vertsplit__9(std::string ** err_msg, casadi::MX* x0)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::MX > ret = vertsplit(x0_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_vertsplit__9(std::string ** err_msg, casadi::MX* x0);
-std::vector< casadi::MX* >*
-    casadi_vertsplit__9(std::string ** err_msg, casadi::MX* x0){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-
-        std::vector< casadi::MX > ret = vertsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__10"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_vertsplit__10(std::string ** err_msg, casadi::MX* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::MX > ret = vertsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_vertsplit__10(std::string ** err_msg, casadi::MX* x0, int x1);
-std::vector< casadi::MX* >*
-    casadi_vertsplit__10(std::string ** err_msg, casadi::MX* x0, int x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::MX > ret = vertsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__11"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    casadi_vertsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::MX > ret = vertsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::MX* >*
-    casadi_vertsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1);
-std::vector< casadi::MX* >*
-    casadi_vertsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< int >* x1){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::MX > ret = vertsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__12"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
-// proto: "std::vector< casadi::Sparsity* >*\n    casadi_vertsplit__12(std::string ** err_msg, casadi::Sparsity* x0)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::Sparsity > ret = vertsplit(x0_);"
-extern "C"
-std::vector< casadi::Sparsity* >*
-    casadi_vertsplit__12(std::string ** err_msg, casadi::Sparsity* x0);
-std::vector< casadi::Sparsity* >*
-    casadi_vertsplit__12(std::string ** err_msg, casadi::Sparsity* x0){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-
-        std::vector< casadi::Sparsity > ret = vertsplit(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__13"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
-// proto: "std::vector< casadi::Sparsity* >*\n    casadi_vertsplit__13(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::Sparsity > ret = vertsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::Sparsity* >*
-    casadi_vertsplit__13(std::string ** err_msg, casadi::Sparsity* x0, int x1);
-std::vector< casadi::Sparsity* >*
-    casadi_vertsplit__13(std::string ** err_msg, casadi::Sparsity* x0, int x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< casadi::Sparsity > ret = vertsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::casadi_vertsplit" ===============
-// cppName: "casadi::casadi_vertsplit"
-// cWrapperName: "casadi_vertsplit__14"
-// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
-// proto: "std::vector< casadi::Sparsity* >*\n    casadi_vertsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1)"
-// friendWrap: True
-// fName: "casadi_vertsplit"
-// call: "        std::vector< casadi::Sparsity > ret = vertsplit(x0_, x1_);"
-extern "C"
-std::vector< casadi::Sparsity* >*
-    casadi_vertsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1);
-std::vector< casadi::Sparsity* >*
-    casadi_vertsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< int >* x1){
-    try {
-        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        std::vector< casadi::Sparsity > ret = vertsplit(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::collocationInterpolators" ===============
-// cppName: "casadi::collocationInterpolators"
-// cWrapperName: "collocationInterpolators"
-// protoArgs: "(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2)"
-// params: [(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (StdVec (StdVec CDouble)),SwigOutput True),(Ref (StdVec CDouble),SwigOutput True)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void\n    collocationInterpolators(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2)"
-// friendWrap: False
-// fName: "collocationInterpolators"
-// call: "        casadi::collocationInterpolators(x0_, x1_, x2_);"
-extern "C"
-void
-    collocationInterpolators(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2);
-void
-    collocationInterpolators(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2){
-    try {
-        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
-        std::vector< std::vector< double > > x1_ = std::vector< std::vector< double > >();  // Swig output
-        std::vector< double > x2_ = std::vector< double >();  // Swig output
-
-        casadi::collocationInterpolators(x0_, x1_, x2_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::vector< std::vector< double >* >*, std::vector< std::vector< double > > >::wrapReturn( x1_ );
-        *x2 = WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( x2_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::collocation_interpolators" ===============
-// cppName: "casadi::collocation_interpolators"
-// cWrapperName: "collocation_interpolators"
-// protoArgs: "(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2)"
-// params: [(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (StdVec (StdVec CDouble)),SwigOutput True),(Ref (StdVec CDouble),SwigOutput True)]
-// retType: CVoid
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void\n    collocation_interpolators(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2)"
-// friendWrap: False
-// fName: "collocation_interpolators"
-// call: "        casadi::collocation_interpolators(x0_, x1_, x2_);"
-extern "C"
-void
-    collocation_interpolators(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2);
-void
-    collocation_interpolators(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2){
-    try {
-        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
-        std::vector< std::vector< double > > x1_ = std::vector< std::vector< double > >();  // Swig output
-        std::vector< double > x2_ = std::vector< double >();  // Swig output
-
-        casadi::collocation_interpolators(x0_, x1_, x2_);
-        // x0 is not a swig output
-        *x1 = WrapReturn< std::vector< std::vector< double >* >*, std::vector< std::vector< double > > >::wrapReturn( x1_ );
-        *x2 = WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( x2_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::collocation_points" ===============
-// cppName: "casadi::collocation_points"
-// cWrapperName: "collocation_points__0"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// params: [(CInt,SwigOutput False)]
-// retType: StdVec CDouble
-// args: "(x0_)"
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    collocation_points__0(std::string ** err_msg, int x0)"
-// friendWrap: False
-// fName: "collocation_points"
-// call: "        std::vector< double > ret = casadi::collocation_points(x0_);"
-extern "C"
-std::vector< double >*
-    collocation_points__0(std::string ** err_msg, int x0);
-std::vector< double >*
-    collocation_points__0(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::vector< double > ret = casadi::collocation_points(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::collocation_points" ===============
-// cppName: "casadi::collocation_points"
-// cWrapperName: "collocation_points__1"
-// protoArgs: "(std::string ** err_msg, int x0, std::string* x1)"
-// params: [(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: StdVec CDouble
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    collocation_points__1(std::string ** err_msg, int x0, std::string* x1)"
-// friendWrap: False
-// fName: "collocation_points"
-// call: "        std::vector< double > ret = casadi::collocation_points(x0_, x1_);"
-extern "C"
-std::vector< double >*
-    collocation_points__1(std::string ** err_msg, int x0, std::string* x1);
-std::vector< double >*
-    collocation_points__1(std::string ** err_msg, int x0, std::string* x1){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        std::vector< double > ret = casadi::collocation_points(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::complement" ===============
-// cppName: "casadi::complement"
-// cWrapperName: "complement"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, int x1)"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec CInt
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    complement(std::string ** err_msg, std::vector< int >* x0, int x1)"
-// friendWrap: False
-// fName: "complement"
-// call: "        std::vector< int > ret = casadi::complement(x0_, x1_);"
-extern "C"
-std::vector< int >*
-    complement(std::string ** err_msg, std::vector< int >* x0, int x1);
-std::vector< int >*
-    complement(std::string ** err_msg, std::vector< int >* x0, int x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< int > ret = casadi::complement(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::conic" ===============
-// cppName: "casadi::conic"
-// cWrapperName: "conic__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    conic__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
-// friendWrap: False
-// fName: "conic"
-// call: "        casadi::Function ret = casadi::conic(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    conic__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
-casadi::Function*
-    conic__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
-
-        casadi::Function ret = casadi::conic(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::conic" ===============
-// cppName: "casadi::conic"
-// cWrapperName: "conic__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    conic__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "conic"
-// call: "        casadi::Function ret = casadi::conic(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    conic__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    conic__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = casadi::conic(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::conic_in" ===============
-// cppName: "casadi::conic_in"
-// cWrapperName: "conic_in__0"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// params: [(CInt,SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    conic_in__0(std::string ** err_msg, int x0)"
-// friendWrap: False
-// fName: "conic_in"
-// call: "        std::string ret = casadi::conic_in(x0_);"
-extern "C"
-std::string*
-    conic_in__0(std::string ** err_msg, int x0);
-std::string*
-    conic_in__0(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = casadi::conic_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::conic_in" ===============
-// cppName: "casadi::conic_in"
-// cWrapperName: "conic_in__1"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: StdVec StdString
-// args: "()"
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    conic_in__1(std::string ** err_msg)"
-// friendWrap: False
-// fName: "conic_in"
-// call: "        std::vector< std::string > ret = casadi::conic_in();"
-extern "C"
-std::vector< std::string* >*
-    conic_in__1(std::string ** err_msg);
-std::vector< std::string* >*
-    conic_in__1(std::string ** err_msg){
-    try {
-
-        std::vector< std::string > ret = casadi::conic_in();
-
-        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::conic_n_in" ===============
-// cppName: "casadi::conic_n_in"
-// cWrapperName: "conic_n_in"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: CInt
-// args: "()"
-// cWrapperRetType: "int"
-// proto: "int\n    conic_n_in(std::string ** err_msg)"
-// friendWrap: False
-// fName: "conic_n_in"
-// call: "        int ret = casadi::conic_n_in();"
-extern "C"
-int
-    conic_n_in(std::string ** err_msg);
-int
-    conic_n_in(std::string ** err_msg){
-    try {
-
-        int ret = casadi::conic_n_in();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::conic_n_out" ===============
-// cppName: "casadi::conic_n_out"
-// cWrapperName: "conic_n_out"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: CInt
-// args: "()"
-// cWrapperRetType: "int"
-// proto: "int\n    conic_n_out(std::string ** err_msg)"
-// friendWrap: False
-// fName: "conic_n_out"
-// call: "        int ret = casadi::conic_n_out();"
-extern "C"
-int
-    conic_n_out(std::string ** err_msg);
-int
-    conic_n_out(std::string ** err_msg){
-    try {
-
-        int ret = casadi::conic_n_out();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::conic_out" ===============
-// cppName: "casadi::conic_out"
-// cWrapperName: "conic_out__0"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// params: [(CInt,SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    conic_out__0(std::string ** err_msg, int x0)"
-// friendWrap: False
-// fName: "conic_out"
-// call: "        std::string ret = casadi::conic_out(x0_);"
-extern "C"
-std::string*
-    conic_out__0(std::string ** err_msg, int x0);
-std::string*
-    conic_out__0(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = casadi::conic_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::conic_out" ===============
-// cppName: "casadi::conic_out"
-// cWrapperName: "conic_out__1"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: StdVec StdString
-// args: "()"
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    conic_out__1(std::string ** err_msg)"
-// friendWrap: False
-// fName: "conic_out"
-// call: "        std::vector< std::string > ret = casadi::conic_out();"
-extern "C"
-std::vector< std::string* >*
-    conic_out__1(std::string ** err_msg);
-std::vector< std::string* >*
-    conic_out__1(std::string ** err_msg){
-    try {
-
-        std::vector< std::string > ret = casadi::conic_out();
-
-        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::doc_conic" ===============
-// cppName: "casadi::doc_conic"
-// cWrapperName: "doc_conic"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    doc_conic(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "doc_conic"
-// call: "        std::string ret = casadi::doc_conic(x0_);"
-extern "C"
-std::string*
-    doc_conic(std::string ** err_msg, std::string* x0);
-std::string*
-    doc_conic(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = casadi::doc_conic(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::doc_dple" ===============
-// cppName: "casadi::doc_dple"
-// cWrapperName: "doc_dple"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    doc_dple(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "doc_dple"
-// call: "        std::string ret = casadi::doc_dple(x0_);"
-extern "C"
-std::string*
-    doc_dple(std::string ** err_msg, std::string* x0);
-std::string*
-    doc_dple(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = casadi::doc_dple(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::doc_integrator" ===============
-// cppName: "casadi::doc_integrator"
-// cWrapperName: "doc_integrator"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    doc_integrator(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "doc_integrator"
-// call: "        std::string ret = casadi::doc_integrator(x0_);"
-extern "C"
-std::string*
-    doc_integrator(std::string ** err_msg, std::string* x0);
-std::string*
-    doc_integrator(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = casadi::doc_integrator(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::doc_interpolant" ===============
-// cppName: "casadi::doc_interpolant"
-// cWrapperName: "doc_interpolant"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    doc_interpolant(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "doc_interpolant"
-// call: "        std::string ret = casadi::doc_interpolant(x0_);"
-extern "C"
-std::string*
-    doc_interpolant(std::string ** err_msg, std::string* x0);
-std::string*
-    doc_interpolant(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = casadi::doc_interpolant(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::doc_linsol" ===============
-// cppName: "casadi::doc_linsol"
-// cWrapperName: "doc_linsol"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    doc_linsol(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "doc_linsol"
-// call: "        std::string ret = casadi::doc_linsol(x0_);"
-extern "C"
-std::string*
-    doc_linsol(std::string ** err_msg, std::string* x0);
-std::string*
-    doc_linsol(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = casadi::doc_linsol(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::doc_nlpsol" ===============
-// cppName: "casadi::doc_nlpsol"
-// cWrapperName: "doc_nlpsol"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    doc_nlpsol(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "doc_nlpsol"
-// call: "        std::string ret = casadi::doc_nlpsol(x0_);"
-extern "C"
-std::string*
-    doc_nlpsol(std::string ** err_msg, std::string* x0);
-std::string*
-    doc_nlpsol(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = casadi::doc_nlpsol(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::doc_rootfinder" ===============
-// cppName: "casadi::doc_rootfinder"
-// cWrapperName: "doc_rootfinder"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    doc_rootfinder(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "doc_rootfinder"
-// call: "        std::string ret = casadi::doc_rootfinder(x0_);"
-extern "C"
-std::string*
-    doc_rootfinder(std::string ** err_msg, std::string* x0);
-std::string*
-    doc_rootfinder(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = casadi::doc_rootfinder(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::dple_in" ===============
-// cppName: "casadi::dple_in"
-// cWrapperName: "dple_in__0"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// params: [(CInt,SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    dple_in__0(std::string ** err_msg, int x0)"
-// friendWrap: False
-// fName: "dple_in"
-// call: "        std::string ret = casadi::dple_in(x0_);"
-extern "C"
-std::string*
-    dple_in__0(std::string ** err_msg, int x0);
-std::string*
-    dple_in__0(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = casadi::dple_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::dple_in" ===============
-// cppName: "casadi::dple_in"
-// cWrapperName: "dple_in__1"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: StdVec StdString
-// args: "()"
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    dple_in__1(std::string ** err_msg)"
-// friendWrap: False
-// fName: "dple_in"
-// call: "        std::vector< std::string > ret = casadi::dple_in();"
-extern "C"
-std::vector< std::string* >*
-    dple_in__1(std::string ** err_msg);
-std::vector< std::string* >*
-    dple_in__1(std::string ** err_msg){
-    try {
-
-        std::vector< std::string > ret = casadi::dple_in();
-
-        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::dple_n_in" ===============
-// cppName: "casadi::dple_n_in"
-// cWrapperName: "dple_n_in"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: CInt
-// args: "()"
-// cWrapperRetType: "int"
-// proto: "int\n    dple_n_in(std::string ** err_msg)"
-// friendWrap: False
-// fName: "dple_n_in"
-// call: "        int ret = casadi::dple_n_in();"
-extern "C"
-int
-    dple_n_in(std::string ** err_msg);
-int
-    dple_n_in(std::string ** err_msg){
-    try {
-
-        int ret = casadi::dple_n_in();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::dple_n_out" ===============
-// cppName: "casadi::dple_n_out"
-// cWrapperName: "dple_n_out"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: CInt
-// args: "()"
-// cWrapperRetType: "int"
-// proto: "int\n    dple_n_out(std::string ** err_msg)"
-// friendWrap: False
-// fName: "dple_n_out"
-// call: "        int ret = casadi::dple_n_out();"
-extern "C"
-int
-    dple_n_out(std::string ** err_msg);
-int
-    dple_n_out(std::string ** err_msg){
-    try {
-
-        int ret = casadi::dple_n_out();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::dple_out" ===============
-// cppName: "casadi::dple_out"
-// cWrapperName: "dple_out__0"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// params: [(CInt,SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    dple_out__0(std::string ** err_msg, int x0)"
-// friendWrap: False
-// fName: "dple_out"
-// call: "        std::string ret = casadi::dple_out(x0_);"
-extern "C"
-std::string*
-    dple_out__0(std::string ** err_msg, int x0);
-std::string*
-    dple_out__0(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = casadi::dple_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::dple_out" ===============
-// cppName: "casadi::dple_out"
-// cWrapperName: "dple_out__1"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: StdVec StdString
-// args: "()"
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    dple_out__1(std::string ** err_msg)"
-// friendWrap: False
-// fName: "dple_out"
-// call: "        std::vector< std::string > ret = casadi::dple_out();"
-extern "C"
-std::vector< std::string* >*
-    dple_out__1(std::string ** err_msg);
-std::vector< std::string* >*
-    dple_out__1(std::string ** err_msg){
-    try {
-
-        std::vector< std::string > ret = casadi::dple_out();
-
-        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::dplesol" ===============
-// cppName: "casadi::dplesol"
-// cWrapperName: "dplesol__0"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    dplesol__0(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2)"
-// friendWrap: False
-// fName: "dplesol"
-// call: "        std::vector< casadi::DM > ret = casadi::dplesol(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::DM* >*
-    dplesol__0(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2);
-std::vector< casadi::DM* >*
-    dplesol__0(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        std::vector< casadi::DM > ret = casadi::dplesol(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::dplesol" ===============
-// cppName: "casadi::dplesol"
-// cWrapperName: "dplesol__1"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "std::vector< casadi::DM* >*"
-// proto: "std::vector< casadi::DM* >*\n    dplesol__1(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "dplesol"
-// call: "        std::vector< casadi::DM > ret = casadi::dplesol(x0_, x1_, x2_, x3_);"
-extern "C"
-std::vector< casadi::DM* >*
-    dplesol__1(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
-std::vector< casadi::DM* >*
-    dplesol__1(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
-        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        std::vector< casadi::DM > ret = casadi::dplesol(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::dplesol" ===============
-// cppName: "casadi::dplesol"
-// cWrapperName: "dplesol__2"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    dplesol__2(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2)"
-// friendWrap: False
-// fName: "dplesol"
-// call: "        std::vector< casadi::MX > ret = casadi::dplesol(x0_, x1_, x2_);"
-extern "C"
-std::vector< casadi::MX* >*
-    dplesol__2(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2);
-std::vector< casadi::MX* >*
-    dplesol__2(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        std::vector< casadi::MX > ret = casadi::dplesol(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::dplesol" ===============
-// cppName: "casadi::dplesol"
-// cWrapperName: "dplesol__3"
-// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "std::vector< casadi::MX* >*"
-// proto: "std::vector< casadi::MX* >*\n    dplesol__3(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "dplesol"
-// call: "        std::vector< casadi::MX > ret = casadi::dplesol(x0_, x1_, x2_, x3_);"
-extern "C"
-std::vector< casadi::MX* >*
-    dplesol__3(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
-std::vector< casadi::MX* >*
-    dplesol__3(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
-        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        std::vector< casadi::MX > ret = casadi::dplesol(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::dplesol" ===============
-// cppName: "casadi::dplesol"
-// cWrapperName: "dplesol__4"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    dplesol__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2)"
-// friendWrap: False
-// fName: "dplesol"
-// call: "        casadi::MX ret = casadi::dplesol(x0_, x1_, x2_);"
-extern "C"
-casadi::MX*
-    dplesol__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2);
-casadi::MX*
-    dplesol__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::MX ret = casadi::dplesol(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::dplesol" ===============
-// cppName: "casadi::dplesol"
-// cWrapperName: "dplesol__5"
-// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "MX")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    dplesol__5(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "dplesol"
-// call: "        casadi::MX ret = casadi::dplesol(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::MX*
-    dplesol__5(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::MX*
-    dplesol__5(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
-        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::MX ret = casadi::dplesol(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::dplesol" ===============
-// cppName: "casadi::dplesol"
-// cWrapperName: "dplesol__6"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    dplesol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
-// friendWrap: False
-// fName: "dplesol"
-// call: "        casadi::Function ret = casadi::dplesol(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    dplesol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
-casadi::Function*
-    dplesol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
-
-        casadi::Function ret = casadi::dplesol(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::dplesol" ===============
-// cppName: "casadi::dplesol"
-// cWrapperName: "dplesol__7"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    dplesol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "dplesol"
-// call: "        casadi::Function ret = casadi::dplesol(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    dplesol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    dplesol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = casadi::dplesol(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::external" ===============
-// cppName: "casadi::external"
-// cWrapperName: "external__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Importer* x1)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Importer"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    external__0(std::string ** err_msg, std::string* x0, casadi::Importer* x1)"
-// friendWrap: False
-// fName: "external"
-// call: "        casadi::Function ret = casadi::external(x0_, x1_);"
-extern "C"
-casadi::Function*
-    external__0(std::string ** err_msg, std::string* x0, casadi::Importer* x1);
-casadi::Function*
-    external__0(std::string ** err_msg, std::string* x0, casadi::Importer* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Importer& x1_ = Marshaling<casadi::Importer&,casadi::Importer*>::marshal(x1);
-
-        casadi::Function ret = casadi::external(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::external" ===============
-// cppName: "casadi::external"
-// cWrapperName: "external__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Importer"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    external__1(std::string ** err_msg, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// friendWrap: False
-// fName: "external"
-// call: "        casadi::Function ret = casadi::external(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    external__1(std::string ** err_msg, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::Function*
-    external__1(std::string ** err_msg, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Importer& x1_ = Marshaling<casadi::Importer&,casadi::Importer*>::marshal(x1);
-        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
-
-        casadi::Function ret = casadi::external(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::external" ===============
-// cppName: "casadi::external"
-// cWrapperName: "external__2"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    external__2(std::string ** err_msg, std::string* x0, std::string* x1)"
-// friendWrap: False
-// fName: "external"
-// call: "        casadi::Function ret = casadi::external(x0_, x1_);"
-extern "C"
-casadi::Function*
-    external__2(std::string ** err_msg, std::string* x0, std::string* x1);
-casadi::Function*
-    external__2(std::string ** err_msg, std::string* x0, std::string* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Function ret = casadi::external(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::external" ===============
-// cppName: "casadi::external"
-// cWrapperName: "external__3"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    external__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// friendWrap: False
-// fName: "external"
-// call: "        casadi::Function ret = casadi::external(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    external__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::Function*
-    external__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
-
-        casadi::Function ret = casadi::external(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::external" ===============
-// cppName: "casadi::external"
-// cWrapperName: "external__4"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    external__4(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "external"
-// call: "        casadi::Function ret = casadi::external(x0_);"
-extern "C"
-casadi::Function*
-    external__4(std::string ** err_msg, std::string* x0);
-casadi::Function*
-    external__4(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Function ret = casadi::external(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::external" ===============
-// cppName: "casadi::external"
-// cWrapperName: "external__5"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    external__5(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// friendWrap: False
-// fName: "external"
-// call: "        casadi::Function ret = casadi::external(x0_, x1_);"
-extern "C"
-casadi::Function*
-    external__5(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
-casadi::Function*
-    external__5(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
-
-        casadi::Function ret = casadi::external(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::has_conic" ===============
-// cppName: "casadi::has_conic"
-// cWrapperName: "has_conic"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CBool
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    has_conic(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "has_conic"
-// call: "        bool ret = casadi::has_conic(x0_);"
-extern "C"
-int
-    has_conic(std::string ** err_msg, std::string* x0);
-int
-    has_conic(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = casadi::has_conic(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::has_dple" ===============
-// cppName: "casadi::has_dple"
-// cWrapperName: "has_dple"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CBool
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    has_dple(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "has_dple"
-// call: "        bool ret = casadi::has_dple(x0_);"
-extern "C"
-int
-    has_dple(std::string ** err_msg, std::string* x0);
-int
-    has_dple(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = casadi::has_dple(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::has_integrator" ===============
-// cppName: "casadi::has_integrator"
-// cWrapperName: "has_integrator"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CBool
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    has_integrator(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "has_integrator"
-// call: "        bool ret = casadi::has_integrator(x0_);"
-extern "C"
-int
-    has_integrator(std::string ** err_msg, std::string* x0);
-int
-    has_integrator(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = casadi::has_integrator(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::has_interpolant" ===============
-// cppName: "casadi::has_interpolant"
-// cWrapperName: "has_interpolant"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CBool
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    has_interpolant(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "has_interpolant"
-// call: "        bool ret = casadi::has_interpolant(x0_);"
-extern "C"
-int
-    has_interpolant(std::string ** err_msg, std::string* x0);
-int
-    has_interpolant(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = casadi::has_interpolant(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::has_linsol" ===============
-// cppName: "casadi::has_linsol"
-// cWrapperName: "has_linsol"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CBool
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    has_linsol(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "has_linsol"
-// call: "        bool ret = casadi::has_linsol(x0_);"
-extern "C"
-int
-    has_linsol(std::string ** err_msg, std::string* x0);
-int
-    has_linsol(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = casadi::has_linsol(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::has_nlpsol" ===============
-// cppName: "casadi::has_nlpsol"
-// cWrapperName: "has_nlpsol"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CBool
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    has_nlpsol(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "has_nlpsol"
-// call: "        bool ret = casadi::has_nlpsol(x0_);"
-extern "C"
-int
-    has_nlpsol(std::string ** err_msg, std::string* x0);
-int
-    has_nlpsol(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = casadi::has_nlpsol(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::has_rootfinder" ===============
-// cppName: "casadi::has_rootfinder"
-// cWrapperName: "has_rootfinder"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CBool
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    has_rootfinder(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "has_rootfinder"
-// call: "        bool ret = casadi::has_rootfinder(x0_);"
-extern "C"
-int
-    has_rootfinder(std::string ** err_msg, std::string* x0);
-int
-    has_rootfinder(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = casadi::has_rootfinder(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::hash_combine" ===============
-// cppName: "casadi::hash_combine"
-// cWrapperName: "hash_combine"
-// protoArgs: "(std::string ** err_msg, size_t* x0, std::vector< int >* x1)"
-// params: [(Ref CSize,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_, x1_)"
-// cWrapperRetType: "void"
-// proto: "void\n    hash_combine(std::string ** err_msg, size_t* x0, std::vector< int >* x1)"
-// friendWrap: False
-// fName: "hash_combine"
-// call: "        casadi::hash_combine(x0_, x1_);"
-extern "C"
-void
-    hash_combine(std::string ** err_msg, size_t* x0, std::vector< int >* x1);
-void
-    hash_combine(std::string ** err_msg, size_t* x0, std::vector< int >* x1){
-    try {
-        size_t& x0_ = Marshaling<size_t&,size_t*>::marshal(x0);
-        std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
-
-        casadi::hash_combine(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::hash_sparsity" ===============
-// cppName: "casadi::hash_sparsity"
-// cWrapperName: "hash_sparsity"
-// protoArgs: "(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: CSize
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "size_t"
-// proto: "size_t\n    hash_sparsity(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
-// friendWrap: False
-// fName: "hash_sparsity"
-// call: "        size_t ret = casadi::hash_sparsity(x0_, x1_, x2_, x3_);"
-extern "C"
-size_t
-    hash_sparsity(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
-size_t
-    hash_sparsity(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
-        std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
-
-        size_t ret = casadi::hash_sparsity(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< size_t, size_t >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::integrator" ===============
-// cppName: "casadi::integrator"
-// cWrapperName: "integrator__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    integrator__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
-// friendWrap: False
-// fName: "integrator"
-// call: "        casadi::Function ret = casadi::integrator(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    integrator__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2);
-casadi::Function*
-    integrator__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
-
-        casadi::Function ret = casadi::integrator(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::integrator" ===============
-// cppName: "casadi::integrator"
-// cWrapperName: "integrator__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    integrator__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "integrator"
-// call: "        casadi::Function ret = casadi::integrator(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    integrator__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    integrator__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = casadi::integrator(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::integrator" ===============
-// cppName: "casadi::integrator"
-// cWrapperName: "integrator__2"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    integrator__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
-// friendWrap: False
-// fName: "integrator"
-// call: "        casadi::Function ret = casadi::integrator(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    integrator__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2);
-casadi::Function*
-    integrator__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
-
-        casadi::Function ret = casadi::integrator(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::integrator" ===============
-// cppName: "casadi::integrator"
-// cWrapperName: "integrator__3"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    integrator__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "integrator"
-// call: "        casadi::Function ret = casadi::integrator(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    integrator__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    integrator__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = casadi::integrator(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::integrator_in" ===============
-// cppName: "casadi::integrator_in"
-// cWrapperName: "integrator_in__0"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// params: [(CInt,SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    integrator_in__0(std::string ** err_msg, int x0)"
-// friendWrap: False
-// fName: "integrator_in"
-// call: "        std::string ret = casadi::integrator_in(x0_);"
-extern "C"
-std::string*
-    integrator_in__0(std::string ** err_msg, int x0);
-std::string*
-    integrator_in__0(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = casadi::integrator_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::integrator_in" ===============
-// cppName: "casadi::integrator_in"
-// cWrapperName: "integrator_in__1"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: StdVec StdString
-// args: "()"
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    integrator_in__1(std::string ** err_msg)"
-// friendWrap: False
-// fName: "integrator_in"
-// call: "        std::vector< std::string > ret = casadi::integrator_in();"
-extern "C"
-std::vector< std::string* >*
-    integrator_in__1(std::string ** err_msg);
-std::vector< std::string* >*
-    integrator_in__1(std::string ** err_msg){
-    try {
-
-        std::vector< std::string > ret = casadi::integrator_in();
-
-        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::integrator_n_in" ===============
-// cppName: "casadi::integrator_n_in"
-// cWrapperName: "integrator_n_in"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: CInt
-// args: "()"
-// cWrapperRetType: "int"
-// proto: "int\n    integrator_n_in(std::string ** err_msg)"
-// friendWrap: False
-// fName: "integrator_n_in"
-// call: "        int ret = casadi::integrator_n_in();"
-extern "C"
-int
-    integrator_n_in(std::string ** err_msg);
-int
-    integrator_n_in(std::string ** err_msg){
-    try {
-
-        int ret = casadi::integrator_n_in();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::integrator_n_out" ===============
-// cppName: "casadi::integrator_n_out"
-// cWrapperName: "integrator_n_out"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: CInt
-// args: "()"
-// cWrapperRetType: "int"
-// proto: "int\n    integrator_n_out(std::string ** err_msg)"
-// friendWrap: False
-// fName: "integrator_n_out"
-// call: "        int ret = casadi::integrator_n_out();"
-extern "C"
-int
-    integrator_n_out(std::string ** err_msg);
-int
-    integrator_n_out(std::string ** err_msg){
-    try {
-
-        int ret = casadi::integrator_n_out();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::integrator_out" ===============
-// cppName: "casadi::integrator_out"
-// cWrapperName: "integrator_out__0"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// params: [(CInt,SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    integrator_out__0(std::string ** err_msg, int x0)"
-// friendWrap: False
-// fName: "integrator_out"
-// call: "        std::string ret = casadi::integrator_out(x0_);"
-extern "C"
-std::string*
-    integrator_out__0(std::string ** err_msg, int x0);
-std::string*
-    integrator_out__0(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = casadi::integrator_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::integrator_out" ===============
-// cppName: "casadi::integrator_out"
-// cWrapperName: "integrator_out__1"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: StdVec StdString
-// args: "()"
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    integrator_out__1(std::string ** err_msg)"
-// friendWrap: False
-// fName: "integrator_out"
-// call: "        std::vector< std::string > ret = casadi::integrator_out();"
-extern "C"
-std::vector< std::string* >*
-    integrator_out__1(std::string ** err_msg);
-std::vector< std::string* >*
-    integrator_out__1(std::string ** err_msg){
-    try {
-
-        std::vector< std::string > ret = casadi::integrator_out();
-
-        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::interpolant" ===============
-// cppName: "casadi::interpolant"
-// cWrapperName: "interpolant__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    interpolant__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3)"
-// friendWrap: False
-// fName: "interpolant"
-// call: "        casadi::Function ret = casadi::interpolant(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    interpolant__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3);
-casadi::Function*
-    interpolant__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::vector< std::vector< double > > x2_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x2);
-        std::vector< double > x3_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x3);
-
-        casadi::Function ret = casadi::interpolant(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::interpolant" ===============
-// cppName: "casadi::interpolant"
-// cWrapperName: "interpolant__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    interpolant__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// friendWrap: False
-// fName: "interpolant"
-// call: "        casadi::Function ret = casadi::interpolant(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-casadi::Function*
-    interpolant__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3, std::map< std::string, casadi::GenericType* >* x4);
-casadi::Function*
-    interpolant__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3, std::map< std::string, casadi::GenericType* >* x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::vector< std::vector< double > > x2_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x2);
-        std::vector< double > x3_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x3);
-        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
-
-        casadi::Function ret = casadi::interpolant(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::is_slice" ===============
-// cppName: "casadi::is_slice"
-// cWrapperName: "is_slice__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: CBool
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    is_slice__0(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: False
-// fName: "is_slice"
-// call: "        bool ret = casadi::is_slice(x0_);"
-extern "C"
-int
-    is_slice__0(std::string ** err_msg, casadi::IM* x0);
-int
-    is_slice__0(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        bool ret = casadi::is_slice(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::is_slice" ===============
-// cppName: "casadi::is_slice"
-// cWrapperName: "is_slice__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    is_slice__1(std::string ** err_msg, casadi::IM* x0, int x1)"
-// friendWrap: False
-// fName: "is_slice"
-// call: "        bool ret = casadi::is_slice(x0_, x1_);"
-extern "C"
-int
-    is_slice__1(std::string ** err_msg, casadi::IM* x0, int x1);
-int
-    is_slice__1(std::string ** err_msg, casadi::IM* x0, int x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        bool ret = casadi::is_slice(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::is_slice" ===============
-// cppName: "casadi::is_slice"
-// cWrapperName: "is_slice__2"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: CBool
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    is_slice__2(std::string ** err_msg, std::vector< int >* x0)"
-// friendWrap: False
-// fName: "is_slice"
-// call: "        bool ret = casadi::is_slice(x0_);"
-extern "C"
-int
-    is_slice__2(std::string ** err_msg, std::vector< int >* x0);
-int
-    is_slice__2(std::string ** err_msg, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        bool ret = casadi::is_slice(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::is_slice" ===============
-// cppName: "casadi::is_slice"
-// cWrapperName: "is_slice__3"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, int x1)"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-// retType: CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int\n    is_slice__3(std::string ** err_msg, std::vector< int >* x0, int x1)"
-// friendWrap: False
-// fName: "is_slice"
-// call: "        bool ret = casadi::is_slice(x0_, x1_);"
-extern "C"
-int
-    is_slice__3(std::string ** err_msg, std::vector< int >* x0, int x1);
-int
-    is_slice__3(std::string ** err_msg, std::vector< int >* x0, int x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        bool ret = casadi::is_slice(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::is_slice2" ===============
-// cppName: "casadi::is_slice2"
-// cWrapperName: "is_slice2"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: CBool
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    is_slice2(std::string ** err_msg, std::vector< int >* x0)"
-// friendWrap: False
-// fName: "is_slice2"
-// call: "        bool ret = casadi::is_slice2(x0_);"
-extern "C"
-int
-    is_slice2(std::string ** err_msg, std::vector< int >* x0);
-int
-    is_slice2(std::string ** err_msg, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        bool ret = casadi::is_slice2(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< int, bool >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::jit" ===============
-// cppName: "casadi::jit"
-// cWrapperName: "jit__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, std::string* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    jit__0(std::string ** err_msg, std::string* x0, int x1, int x2, std::string* x3)"
-// friendWrap: False
-// fName: "jit"
-// call: "        casadi::Function ret = casadi::jit(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    jit__0(std::string ** err_msg, std::string* x0, int x1, int x2, std::string* x3);
-casadi::Function*
-    jit__0(std::string ** err_msg, std::string* x0, int x1, int x2, std::string* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        std::string& x3_ = Marshaling<std::string&,std::string*>::marshal(x3);
-
-        casadi::Function ret = casadi::jit(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::jit" ===============
-// cppName: "casadi::jit"
-// cWrapperName: "jit__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, int x1, int x2, std::string* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// params: [(Ref (Const StdString),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    jit__1(std::string ** err_msg, std::string* x0, int x1, int x2, std::string* x3, std::map< std::string, casadi::GenericType* >* x4)"
-// friendWrap: False
-// fName: "jit"
-// call: "        casadi::Function ret = casadi::jit(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-casadi::Function*
-    jit__1(std::string ** err_msg, std::string* x0, int x1, int x2, std::string* x3, std::map< std::string, casadi::GenericType* >* x4);
-casadi::Function*
-    jit__1(std::string ** err_msg, std::string* x0, int x1, int x2, std::string* x3, std::map< std::string, casadi::GenericType* >* x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        std::string& x3_ = Marshaling<std::string&,std::string*>::marshal(x3);
-        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
-
-        casadi::Function ret = casadi::jit(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::linsol_new" ===============
-// cppName: "casadi::linsol_new"
-// cWrapperName: "linsol_new__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    linsol_new__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3)"
-// friendWrap: False
-// fName: "linsol_new"
-// call: "        casadi::Function ret = casadi::linsol_new(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    linsol_new__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3);
-casadi::Function*
-    linsol_new__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        casadi::Function ret = casadi::linsol_new(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::linsol_new" ===============
-// cppName: "casadi::linsol_new"
-// cWrapperName: "linsol_new__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3, std::map< std::string, casadi::GenericType* >* x4)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    linsol_new__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3, std::map< std::string, casadi::GenericType* >* x4)"
-// friendWrap: False
-// fName: "linsol_new"
-// call: "        casadi::Function ret = casadi::linsol_new(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-casadi::Function*
-    linsol_new__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3, std::map< std::string, casadi::GenericType* >* x4);
-casadi::Function*
-    linsol_new__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3, std::map< std::string, casadi::GenericType* >* x4){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
-
-        casadi::Function ret = casadi::linsol_new(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::load_conic" ===============
-// cppName: "casadi::load_conic"
-// cWrapperName: "load_conic"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void\n    load_conic(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "load_conic"
-// call: "        casadi::load_conic(x0_);"
-extern "C"
-void
-    load_conic(std::string ** err_msg, std::string* x0);
-void
-    load_conic(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::load_conic(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::load_dple" ===============
-// cppName: "casadi::load_dple"
-// cWrapperName: "load_dple"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void\n    load_dple(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "load_dple"
-// call: "        casadi::load_dple(x0_);"
-extern "C"
-void
-    load_dple(std::string ** err_msg, std::string* x0);
-void
-    load_dple(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::load_dple(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::load_integrator" ===============
-// cppName: "casadi::load_integrator"
-// cWrapperName: "load_integrator"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void\n    load_integrator(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "load_integrator"
-// call: "        casadi::load_integrator(x0_);"
-extern "C"
-void
-    load_integrator(std::string ** err_msg, std::string* x0);
-void
-    load_integrator(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::load_integrator(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::load_interpolant" ===============
-// cppName: "casadi::load_interpolant"
-// cWrapperName: "load_interpolant"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void\n    load_interpolant(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "load_interpolant"
-// call: "        casadi::load_interpolant(x0_);"
-extern "C"
-void
-    load_interpolant(std::string ** err_msg, std::string* x0);
-void
-    load_interpolant(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::load_interpolant(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::load_linsol" ===============
-// cppName: "casadi::load_linsol"
-// cWrapperName: "load_linsol"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void\n    load_linsol(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "load_linsol"
-// call: "        casadi::load_linsol(x0_);"
-extern "C"
-void
-    load_linsol(std::string ** err_msg, std::string* x0);
-void
-    load_linsol(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::load_linsol(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::load_nlpsol" ===============
-// cppName: "casadi::load_nlpsol"
-// cWrapperName: "load_nlpsol"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void\n    load_nlpsol(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "load_nlpsol"
-// call: "        casadi::load_nlpsol(x0_);"
-extern "C"
-void
-    load_nlpsol(std::string ** err_msg, std::string* x0);
-void
-    load_nlpsol(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::load_nlpsol(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::load_rootfinder" ===============
-// cppName: "casadi::load_rootfinder"
-// cWrapperName: "load_rootfinder"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void\n    load_rootfinder(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "load_rootfinder"
-// call: "        casadi::load_rootfinder(x0_);"
-extern "C"
-void
-    load_rootfinder(std::string ** err_msg, std::string* x0);
-void
-    load_rootfinder(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::load_rootfinder(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== function "casadi::lookupvector" ===============
-// cppName: "casadi::lookupvector"
-// cWrapperName: "lookupvector"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, int x1)"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(CInt,SwigOutput False)]
-// retType: StdVec CInt
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    lookupvector(std::string ** err_msg, std::vector< int >* x0, int x1)"
-// friendWrap: False
-// fName: "lookupvector"
-// call: "        std::vector< int > ret = casadi::lookupvector(x0_, x1_);"
-extern "C"
-std::vector< int >*
-    lookupvector(std::string ** err_msg, std::vector< int >* x0, int x1);
-std::vector< int >*
-    lookupvector(std::string ** err_msg, std::vector< int >* x0, int x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        std::vector< int > ret = casadi::lookupvector(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol" ===============
-// cppName: "casadi::nlpsol"
-// cWrapperName: "nlpsol__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "NlpBuilder"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    nlpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2)"
-// friendWrap: False
-// fName: "nlpsol"
-// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    nlpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2);
-casadi::Function*
-    nlpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        casadi::NlpBuilder& x2_ = Marshaling<casadi::NlpBuilder&,casadi::NlpBuilder*>::marshal(x2);
-
-        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol" ===============
-// cppName: "casadi::nlpsol"
-// cWrapperName: "nlpsol__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "NlpBuilder"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    nlpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "nlpsol"
-// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    nlpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    nlpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        casadi::NlpBuilder& x2_ = Marshaling<casadi::NlpBuilder&,casadi::NlpBuilder*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol" ===============
-// cppName: "casadi::nlpsol"
-// cWrapperName: "nlpsol__2"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Importer"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    nlpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2)"
-// friendWrap: False
-// fName: "nlpsol"
-// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    nlpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2);
-casadi::Function*
-    nlpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        casadi::Importer& x2_ = Marshaling<casadi::Importer&,casadi::Importer*>::marshal(x2);
-
-        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol" ===============
-// cppName: "casadi::nlpsol"
-// cWrapperName: "nlpsol__3"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Importer"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    nlpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "nlpsol"
-// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    nlpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    nlpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        casadi::Importer& x2_ = Marshaling<casadi::Importer&,casadi::Importer*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol" ===============
-// cppName: "casadi::nlpsol"
-// cWrapperName: "nlpsol__4"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    nlpsol__4(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2)"
-// friendWrap: False
-// fName: "nlpsol"
-// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    nlpsol__4(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2);
-casadi::Function*
-    nlpsol__4(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-
-        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol" ===============
-// cppName: "casadi::nlpsol"
-// cWrapperName: "nlpsol__5"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    nlpsol__5(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "nlpsol"
-// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    nlpsol__5(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    nlpsol__5(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol" ===============
-// cppName: "casadi::nlpsol"
-// cWrapperName: "nlpsol__6"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    nlpsol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
-// friendWrap: False
-// fName: "nlpsol"
-// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    nlpsol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2);
-casadi::Function*
-    nlpsol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
-
-        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol" ===============
-// cppName: "casadi::nlpsol"
-// cWrapperName: "nlpsol__7"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    nlpsol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "nlpsol"
-// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    nlpsol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    nlpsol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol" ===============
-// cppName: "casadi::nlpsol"
-// cWrapperName: "nlpsol__8"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    nlpsol__8(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
-// friendWrap: False
-// fName: "nlpsol"
-// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    nlpsol__8(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2);
-casadi::Function*
-    nlpsol__8(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
-
-        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol" ===============
-// cppName: "casadi::nlpsol"
-// cWrapperName: "nlpsol__9"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    nlpsol__9(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "nlpsol"
-// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    nlpsol__9(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    nlpsol__9(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol_default_in" ===============
-// cppName: "casadi::nlpsol_default_in"
-// cWrapperName: "nlpsol_default_in__0"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: StdVec CDouble
-// args: "()"
-// cWrapperRetType: "std::vector< double >*"
-// proto: "std::vector< double >*\n    nlpsol_default_in__0(std::string ** err_msg)"
-// friendWrap: False
-// fName: "nlpsol_default_in"
-// call: "        std::vector< double > ret = casadi::nlpsol_default_in();"
-extern "C"
-std::vector< double >*
-    nlpsol_default_in__0(std::string ** err_msg);
-std::vector< double >*
-    nlpsol_default_in__0(std::string ** err_msg){
-    try {
-
-        std::vector< double > ret = casadi::nlpsol_default_in();
-
-        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol_default_in" ===============
-// cppName: "casadi::nlpsol_default_in"
-// cWrapperName: "nlpsol_default_in__1"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// params: [(CInt,SwigOutput False)]
-// retType: CDouble
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double\n    nlpsol_default_in__1(std::string ** err_msg, int x0)"
-// friendWrap: False
-// fName: "nlpsol_default_in"
-// call: "        double ret = casadi::nlpsol_default_in(x0_);"
-extern "C"
-double
-    nlpsol_default_in__1(std::string ** err_msg, int x0);
-double
-    nlpsol_default_in__1(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        double ret = casadi::nlpsol_default_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< double, double >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol_in" ===============
-// cppName: "casadi::nlpsol_in"
-// cWrapperName: "nlpsol_in__0"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// params: [(CInt,SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    nlpsol_in__0(std::string ** err_msg, int x0)"
-// friendWrap: False
-// fName: "nlpsol_in"
-// call: "        std::string ret = casadi::nlpsol_in(x0_);"
-extern "C"
-std::string*
-    nlpsol_in__0(std::string ** err_msg, int x0);
-std::string*
-    nlpsol_in__0(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = casadi::nlpsol_in(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol_in" ===============
-// cppName: "casadi::nlpsol_in"
-// cWrapperName: "nlpsol_in__1"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: StdVec StdString
-// args: "()"
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    nlpsol_in__1(std::string ** err_msg)"
-// friendWrap: False
-// fName: "nlpsol_in"
-// call: "        std::vector< std::string > ret = casadi::nlpsol_in();"
-extern "C"
-std::vector< std::string* >*
-    nlpsol_in__1(std::string ** err_msg);
-std::vector< std::string* >*
-    nlpsol_in__1(std::string ** err_msg){
-    try {
-
-        std::vector< std::string > ret = casadi::nlpsol_in();
-
-        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol_n_in" ===============
-// cppName: "casadi::nlpsol_n_in"
-// cWrapperName: "nlpsol_n_in"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: CInt
-// args: "()"
-// cWrapperRetType: "int"
-// proto: "int\n    nlpsol_n_in(std::string ** err_msg)"
-// friendWrap: False
-// fName: "nlpsol_n_in"
-// call: "        int ret = casadi::nlpsol_n_in();"
-extern "C"
-int
-    nlpsol_n_in(std::string ** err_msg);
-int
-    nlpsol_n_in(std::string ** err_msg){
-    try {
-
-        int ret = casadi::nlpsol_n_in();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol_n_out" ===============
-// cppName: "casadi::nlpsol_n_out"
-// cWrapperName: "nlpsol_n_out"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: CInt
-// args: "()"
-// cWrapperRetType: "int"
-// proto: "int\n    nlpsol_n_out(std::string ** err_msg)"
-// friendWrap: False
-// fName: "nlpsol_n_out"
-// call: "        int ret = casadi::nlpsol_n_out();"
-extern "C"
-int
-    nlpsol_n_out(std::string ** err_msg);
-int
-    nlpsol_n_out(std::string ** err_msg){
-    try {
-
-        int ret = casadi::nlpsol_n_out();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol_out" ===============
-// cppName: "casadi::nlpsol_out"
-// cWrapperName: "nlpsol_out__0"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// params: [(CInt,SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    nlpsol_out__0(std::string ** err_msg, int x0)"
-// friendWrap: False
-// fName: "nlpsol_out"
-// call: "        std::string ret = casadi::nlpsol_out(x0_);"
-extern "C"
-std::string*
-    nlpsol_out__0(std::string ** err_msg, int x0);
-std::string*
-    nlpsol_out__0(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = casadi::nlpsol_out(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::nlpsol_out" ===============
-// cppName: "casadi::nlpsol_out"
-// cWrapperName: "nlpsol_out__1"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: StdVec StdString
-// args: "()"
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    nlpsol_out__1(std::string ** err_msg)"
-// friendWrap: False
-// fName: "nlpsol_out"
-// call: "        std::vector< std::string > ret = casadi::nlpsol_out();"
-extern "C"
-std::vector< std::string* >*
-    nlpsol_out__1(std::string ** err_msg);
-std::vector< std::string* >*
-    nlpsol_out__1(std::string ** err_msg){
-    try {
-
-        std::vector< std::string > ret = casadi::nlpsol_out();
-
-        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::qpsol" ===============
-// cppName: "casadi::qpsol"
-// cWrapperName: "qpsol__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    qpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
-// friendWrap: False
-// fName: "qpsol"
-// call: "        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    qpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2);
-casadi::Function*
-    qpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
-
-        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::qpsol" ===============
-// cppName: "casadi::qpsol"
-// cWrapperName: "qpsol__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    qpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "qpsol"
-// call: "        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    qpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    qpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::qpsol" ===============
-// cppName: "casadi::qpsol"
-// cWrapperName: "qpsol__2"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    qpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
-// friendWrap: False
-// fName: "qpsol"
-// call: "        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    qpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2);
-casadi::Function*
-    qpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
-
-        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::qpsol" ===============
-// cppName: "casadi::qpsol"
-// cWrapperName: "qpsol__3"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    qpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "qpsol"
-// call: "        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    qpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    qpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::rootfinder" ===============
-// cppName: "casadi::rootfinder"
-// cWrapperName: "rootfinder__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    rootfinder__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2)"
-// friendWrap: False
-// fName: "rootfinder"
-// call: "        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    rootfinder__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2);
-casadi::Function*
-    rootfinder__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
-
-        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::rootfinder" ===============
-// cppName: "casadi::rootfinder"
-// cWrapperName: "rootfinder__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    rootfinder__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// friendWrap: False
-// fName: "rootfinder"
-// call: "        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    rootfinder__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    rootfinder__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
-        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
-
-        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::simpleIRK" ===============
-// cppName: "casadi::simpleIRK"
-// cWrapperName: "simpleIRK__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    simpleIRK__0(std::string ** err_msg, casadi::Function* x0)"
-// friendWrap: False
-// fName: "simpleIRK"
-// call: "        casadi::Function ret = casadi::simpleIRK(x0_);"
-extern "C"
-casadi::Function*
-    simpleIRK__0(std::string ** err_msg, casadi::Function* x0);
-casadi::Function*
-    simpleIRK__0(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
-
-        casadi::Function ret = casadi::simpleIRK(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::simpleIRK" ===============
-// cppName: "casadi::simpleIRK"
-// cWrapperName: "simpleIRK__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    simpleIRK__1(std::string ** err_msg, casadi::Function* x0, int x1)"
-// friendWrap: False
-// fName: "simpleIRK"
-// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_);"
-extern "C"
-casadi::Function*
-    simpleIRK__1(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::Function*
-    simpleIRK__1(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Function ret = casadi::simpleIRK(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::simpleIRK" ===============
-// cppName: "casadi::simpleIRK"
-// cWrapperName: "simpleIRK__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    simpleIRK__2(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// friendWrap: False
-// fName: "simpleIRK"
-// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    simpleIRK__2(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::Function*
-    simpleIRK__2(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::simpleIRK" ===============
-// cppName: "casadi::simpleIRK"
-// cWrapperName: "simpleIRK__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2, std::string* x3)"
-// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    simpleIRK__3(std::string ** err_msg, casadi::Function* x0, int x1, int x2, std::string* x3)"
-// friendWrap: False
-// fName: "simpleIRK"
-// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    simpleIRK__3(std::string ** err_msg, casadi::Function* x0, int x1, int x2, std::string* x3);
-casadi::Function*
-    simpleIRK__3(std::string ** err_msg, casadi::Function* x0, int x1, int x2, std::string* x3){
-    try {
-        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        std::string& x3_ = Marshaling<std::string&,std::string*>::marshal(x3);
-
-        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::simpleIRK" ===============
-// cppName: "casadi::simpleIRK"
-// cWrapperName: "simpleIRK__4"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2, std::string* x3, std::string* x4)"
-// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    simpleIRK__4(std::string ** err_msg, casadi::Function* x0, int x1, int x2, std::string* x3, std::string* x4)"
-// friendWrap: False
-// fName: "simpleIRK"
-// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-casadi::Function*
-    simpleIRK__4(std::string ** err_msg, casadi::Function* x0, int x1, int x2, std::string* x3, std::string* x4);
-casadi::Function*
-    simpleIRK__4(std::string ** err_msg, casadi::Function* x0, int x1, int x2, std::string* x3, std::string* x4){
-    try {
-        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        std::string& x3_ = Marshaling<std::string&,std::string*>::marshal(x3);
-        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
-
-        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_, x4_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::simpleIRK" ===============
-// cppName: "casadi::simpleIRK"
-// cWrapperName: "simpleIRK__5"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2, std::string* x3, std::string* x4, std::map< std::string, casadi::GenericType* >* x5)"
-// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    simpleIRK__5(std::string ** err_msg, casadi::Function* x0, int x1, int x2, std::string* x3, std::string* x4, std::map< std::string, casadi::GenericType* >* x5)"
-// friendWrap: False
-// fName: "simpleIRK"
-// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_, x4_, x5_);"
-extern "C"
-casadi::Function*
-    simpleIRK__5(std::string ** err_msg, casadi::Function* x0, int x1, int x2, std::string* x3, std::string* x4, std::map< std::string, casadi::GenericType* >* x5);
-casadi::Function*
-    simpleIRK__5(std::string ** err_msg, casadi::Function* x0, int x1, int x2, std::string* x3, std::string* x4, std::map< std::string, casadi::GenericType* >* x5){
-    try {
-        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-        std::string& x3_ = Marshaling<std::string&,std::string*>::marshal(x3);
-        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
-        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);
-
-        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_, x4_, x5_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-        // x3 is not a swig output
-        // x4 is not a swig output
-        // x5 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::simpleIntegrator" ===============
-// cppName: "casadi::simpleIntegrator"
-// cWrapperName: "simpleIntegrator__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    simpleIntegrator__0(std::string ** err_msg, casadi::Function* x0)"
-// friendWrap: False
-// fName: "simpleIntegrator"
-// call: "        casadi::Function ret = casadi::simpleIntegrator(x0_);"
-extern "C"
-casadi::Function*
-    simpleIntegrator__0(std::string ** err_msg, casadi::Function* x0);
-casadi::Function*
-    simpleIntegrator__0(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
-
-        casadi::Function ret = casadi::simpleIntegrator(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::simpleIntegrator" ===============
-// cppName: "casadi::simpleIntegrator"
-// cWrapperName: "simpleIntegrator__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    simpleIntegrator__1(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
-// friendWrap: False
-// fName: "simpleIntegrator"
-// call: "        casadi::Function ret = casadi::simpleIntegrator(x0_, x1_);"
-extern "C"
-casadi::Function*
-    simpleIntegrator__1(std::string ** err_msg, casadi::Function* x0, std::string* x1);
-casadi::Function*
-    simpleIntegrator__1(std::string ** err_msg, casadi::Function* x0, std::string* x1){
-    try {
-        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        casadi::Function ret = casadi::simpleIntegrator(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::simpleIntegrator" ===============
-// cppName: "casadi::simpleIntegrator"
-// cWrapperName: "simpleIntegrator__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    simpleIntegrator__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// friendWrap: False
-// fName: "simpleIntegrator"
-// call: "        casadi::Function ret = casadi::simpleIntegrator(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    simpleIntegrator__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::Function*
-    simpleIntegrator__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
-    try {
-        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
-
-        casadi::Function ret = casadi::simpleIntegrator(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::simpleRK" ===============
-// cppName: "casadi::simpleRK"
-// cWrapperName: "simpleRK__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
-// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    simpleRK__0(std::string ** err_msg, casadi::Function* x0)"
-// friendWrap: False
-// fName: "simpleRK"
-// call: "        casadi::Function ret = casadi::simpleRK(x0_);"
-extern "C"
-casadi::Function*
-    simpleRK__0(std::string ** err_msg, casadi::Function* x0);
-casadi::Function*
-    simpleRK__0(std::string ** err_msg, casadi::Function* x0){
-    try {
-        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
-
-        casadi::Function ret = casadi::simpleRK(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::simpleRK" ===============
-// cppName: "casadi::simpleRK"
-// cWrapperName: "simpleRK__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1)"
-// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    simpleRK__1(std::string ** err_msg, casadi::Function* x0, int x1)"
-// friendWrap: False
-// fName: "simpleRK"
-// call: "        casadi::Function ret = casadi::simpleRK(x0_, x1_);"
-extern "C"
-casadi::Function*
-    simpleRK__1(std::string ** err_msg, casadi::Function* x0, int x1);
-casadi::Function*
-    simpleRK__1(std::string ** err_msg, casadi::Function* x0, int x1){
-    try {
-        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Function ret = casadi::simpleRK(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::simpleRK" ===============
-// cppName: "casadi::simpleRK"
-// cWrapperName: "simpleRK__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Function")
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    simpleRK__2(std::string ** err_msg, casadi::Function* x0, int x1, int x2)"
-// friendWrap: False
-// fName: "simpleRK"
-// call: "        casadi::Function ret = casadi::simpleRK(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    simpleRK__2(std::string ** err_msg, casadi::Function* x0, int x1, int x2);
-casadi::Function*
-    simpleRK__2(std::string ** err_msg, casadi::Function* x0, int x1, int x2){
-    try {
-        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-        int x2_ = Marshaling<int,int>::marshal(x2);
-
-        casadi::Function ret = casadi::simpleRK(x0_, x1_, x2_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-        // x2 is not a swig output
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::to_slice" ===============
-// cppName: "casadi::to_slice"
-// cWrapperName: "to_slice__0"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Slice")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Slice*"
-// proto: "casadi::Slice*\n    to_slice__0(std::string ** err_msg, casadi::IM* x0)"
-// friendWrap: False
-// fName: "to_slice"
-// call: "        casadi::Slice ret = casadi::to_slice(x0_);"
-extern "C"
-casadi::Slice*
-    to_slice__0(std::string ** err_msg, casadi::IM* x0);
-casadi::Slice*
-    to_slice__0(std::string ** err_msg, casadi::IM* x0){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-
-        casadi::Slice ret = casadi::to_slice(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Slice*, casadi::Slice >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::to_slice" ===============
-// cppName: "casadi::to_slice"
-// cWrapperName: "to_slice__1"
-// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Slice")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Slice*"
-// proto: "casadi::Slice*\n    to_slice__1(std::string ** err_msg, casadi::IM* x0, int x1)"
-// friendWrap: False
-// fName: "to_slice"
-// call: "        casadi::Slice ret = casadi::to_slice(x0_, x1_);"
-extern "C"
-casadi::Slice*
-    to_slice__1(std::string ** err_msg, casadi::IM* x0, int x1);
-casadi::Slice*
-    to_slice__1(std::string ** err_msg, casadi::IM* x0, int x1){
-    try {
-        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::Slice ret = casadi::to_slice(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Slice*, casadi::Slice >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::to_slice" ===============
-// cppName: "casadi::to_slice"
-// cWrapperName: "to_slice__2"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Slice")
-// args: "(x0_)"
-// cWrapperRetType: "casadi::Slice*"
-// proto: "casadi::Slice*\n    to_slice__2(std::string ** err_msg, std::vector< int >* x0)"
-// friendWrap: False
-// fName: "to_slice"
-// call: "        casadi::Slice ret = casadi::to_slice(x0_);"
-extern "C"
-casadi::Slice*
-    to_slice__2(std::string ** err_msg, std::vector< int >* x0);
-casadi::Slice*
-    to_slice__2(std::string ** err_msg, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        casadi::Slice ret = casadi::to_slice(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< casadi::Slice*, casadi::Slice >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::to_slice" ===============
-// cppName: "casadi::to_slice"
-// cWrapperName: "to_slice__3"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, int x1)"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False),(CBool,SwigOutput False)]
-// retType: UserType (Namespace ["casadi"]) (Name "Slice")
-// args: "(x0_, x1_)"
-// cWrapperRetType: "casadi::Slice*"
-// proto: "casadi::Slice*\n    to_slice__3(std::string ** err_msg, std::vector< int >* x0, int x1)"
-// friendWrap: False
-// fName: "to_slice"
-// call: "        casadi::Slice ret = casadi::to_slice(x0_, x1_);"
-extern "C"
-casadi::Slice*
-    to_slice__3(std::string ** err_msg, std::vector< int >* x0, int x1);
-casadi::Slice*
-    to_slice__3(std::string ** err_msg, std::vector< int >* x0, int x1){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::Slice ret = casadi::to_slice(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< casadi::Slice*, casadi::Slice >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::to_slice2" ===============
-// cppName: "casadi::to_slice2"
-// cWrapperName: "to_slice2"
-// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
-// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
-// retType: StdPair (UserType (Namespace ["casadi"]) (Name "Slice")) (UserType (Namespace ["casadi"]) (Name "Slice"))
-// args: "(x0_)"
-// cWrapperRetType: "std::pair< casadi::Slice*, casadi::Slice* >*"
-// proto: "std::pair< casadi::Slice*, casadi::Slice* >*\n    to_slice2(std::string ** err_msg, std::vector< int >* x0)"
-// friendWrap: False
-// fName: "to_slice2"
-// call: "        std::pair< casadi::Slice, casadi::Slice > ret = casadi::to_slice2(x0_);"
-extern "C"
-std::pair< casadi::Slice*, casadi::Slice* >*
-    to_slice2(std::string ** err_msg, std::vector< int >* x0);
-std::pair< casadi::Slice*, casadi::Slice* >*
-    to_slice2(std::string ** err_msg, std::vector< int >* x0){
-    try {
-        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+#include <typeinfo>
+#include "../marshal.hpp"
+
+// ================== function "casadi::casadi_abs" ===============
+// cppName: "casadi::casadi_abs"
+// cWrapperName: "casadi_abs__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_abs__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_abs"
+// call: "        double ret = abs(x0_);"
+extern "C"
+double
+    casadi_abs__0(std::string ** err_msg, double* x0);
+double
+    casadi_abs__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = abs(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_abs" ===============
+// cppName: "casadi::casadi_abs"
+// cWrapperName: "casadi_abs__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_abs__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_abs"
+// call: "        casadi::SX ret = abs(x0_);"
+extern "C"
+casadi::SX*
+    casadi_abs__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_abs__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = abs(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_abs" ===============
+// cppName: "casadi::casadi_abs"
+// cWrapperName: "casadi_abs__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_abs__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_abs"
+// call: "        casadi::DM ret = abs(x0_);"
+extern "C"
+casadi::DM*
+    casadi_abs__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_abs__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = abs(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_abs" ===============
+// cppName: "casadi::casadi_abs"
+// cWrapperName: "casadi_abs__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_abs__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_abs"
+// call: "        casadi::IM ret = abs(x0_);"
+extern "C"
+casadi::IM*
+    casadi_abs__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_abs__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = abs(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_abs" ===============
+// cppName: "casadi::casadi_abs"
+// cWrapperName: "casadi_abs__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_abs__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_abs"
+// call: "        casadi::MX ret = abs(x0_);"
+extern "C"
+casadi::MX*
+    casadi_abs__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_abs__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = abs(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_acos" ===============
+// cppName: "casadi::casadi_acos"
+// cWrapperName: "casadi_acos__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_acos__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_acos"
+// call: "        double ret = acos(x0_);"
+extern "C"
+double
+    casadi_acos__0(std::string ** err_msg, double* x0);
+double
+    casadi_acos__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = acos(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_acos" ===============
+// cppName: "casadi::casadi_acos"
+// cWrapperName: "casadi_acos__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_acos__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_acos"
+// call: "        casadi::SX ret = acos(x0_);"
+extern "C"
+casadi::SX*
+    casadi_acos__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_acos__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = acos(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_acos" ===============
+// cppName: "casadi::casadi_acos"
+// cWrapperName: "casadi_acos__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_acos__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_acos"
+// call: "        casadi::DM ret = acos(x0_);"
+extern "C"
+casadi::DM*
+    casadi_acos__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_acos__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = acos(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_acos" ===============
+// cppName: "casadi::casadi_acos"
+// cWrapperName: "casadi_acos__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_acos__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_acos"
+// call: "        casadi::IM ret = acos(x0_);"
+extern "C"
+casadi::IM*
+    casadi_acos__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_acos__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = acos(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_acos" ===============
+// cppName: "casadi::casadi_acos"
+// cWrapperName: "casadi_acos__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_acos__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_acos"
+// call: "        casadi::MX ret = acos(x0_);"
+extern "C"
+casadi::MX*
+    casadi_acos__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_acos__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = acos(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_acosh" ===============
+// cppName: "casadi::casadi_acosh"
+// cWrapperName: "casadi_acosh__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_acosh__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_acosh"
+// call: "        double ret = acosh(x0_);"
+extern "C"
+double
+    casadi_acosh__0(std::string ** err_msg, double* x0);
+double
+    casadi_acosh__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = acosh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_acosh" ===============
+// cppName: "casadi::casadi_acosh"
+// cWrapperName: "casadi_acosh__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_acosh__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_acosh"
+// call: "        casadi::SX ret = acosh(x0_);"
+extern "C"
+casadi::SX*
+    casadi_acosh__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_acosh__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = acosh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_acosh" ===============
+// cppName: "casadi::casadi_acosh"
+// cWrapperName: "casadi_acosh__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_acosh__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_acosh"
+// call: "        casadi::DM ret = acosh(x0_);"
+extern "C"
+casadi::DM*
+    casadi_acosh__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_acosh__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = acosh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_acosh" ===============
+// cppName: "casadi::casadi_acosh"
+// cWrapperName: "casadi_acosh__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_acosh__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_acosh"
+// call: "        casadi::IM ret = acosh(x0_);"
+extern "C"
+casadi::IM*
+    casadi_acosh__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_acosh__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = acosh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_acosh" ===============
+// cppName: "casadi::casadi_acosh"
+// cWrapperName: "casadi_acosh__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_acosh__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_acosh"
+// call: "        casadi::MX ret = acosh(x0_);"
+extern "C"
+casadi::MX*
+    casadi_acosh__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_acosh__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = acosh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_adj" ===============
+// cppName: "casadi::casadi_adj"
+// cWrapperName: "casadi_adj__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_adj__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_adj"
+// call: "        casadi::SX ret = adj(x0_);"
+extern "C"
+casadi::SX*
+    casadi_adj__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_adj__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = adj(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_adj" ===============
+// cppName: "casadi::casadi_adj"
+// cWrapperName: "casadi_adj__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_adj__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_adj"
+// call: "        casadi::DM ret = adj(x0_);"
+extern "C"
+casadi::DM*
+    casadi_adj__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_adj__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = adj(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_adj" ===============
+// cppName: "casadi::casadi_adj"
+// cWrapperName: "casadi_adj__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_adj__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_adj"
+// call: "        casadi::IM ret = adj(x0_);"
+extern "C"
+casadi::IM*
+    casadi_adj__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_adj__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = adj(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_all" ===============
+// cppName: "casadi::casadi_all"
+// cWrapperName: "casadi_all__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_all__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_all"
+// call: "        casadi::SX ret = all(x0_);"
+extern "C"
+casadi::SX*
+    casadi_all__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_all__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = all(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_all" ===============
+// cppName: "casadi::casadi_all"
+// cWrapperName: "casadi_all__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_all__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_all"
+// call: "        casadi::DM ret = all(x0_);"
+extern "C"
+casadi::DM*
+    casadi_all__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_all__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = all(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_all" ===============
+// cppName: "casadi::casadi_all"
+// cWrapperName: "casadi_all__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_all__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_all"
+// call: "        casadi::IM ret = all(x0_);"
+extern "C"
+casadi::IM*
+    casadi_all__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_all__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = all(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_and" ===============
+// cppName: "casadi::casadi_and"
+// cWrapperName: "casadi_and__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_and__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_and"
+// call: "        double ret = x0_ && x1_;"
+extern "C"
+double
+    casadi_and__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_and__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = x0_ && x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_and" ===============
+// cppName: "casadi::casadi_and"
+// cWrapperName: "casadi_and__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_and__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_and"
+// call: "        casadi::SX ret = x0_ && x1_;"
+extern "C"
+casadi::SX*
+    casadi_and__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_and__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = x0_ && x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_and" ===============
+// cppName: "casadi::casadi_and"
+// cWrapperName: "casadi_and__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_and__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_and"
+// call: "        casadi::DM ret = x0_ && x1_;"
+extern "C"
+casadi::DM*
+    casadi_and__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_and__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = x0_ && x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_and" ===============
+// cppName: "casadi::casadi_and"
+// cWrapperName: "casadi_and__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_and__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_and"
+// call: "        casadi::IM ret = x0_ && x1_;"
+extern "C"
+casadi::IM*
+    casadi_and__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_and__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = x0_ && x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_and" ===============
+// cppName: "casadi::casadi_and"
+// cWrapperName: "casadi_and__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_and__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_and"
+// call: "        casadi::MX ret = x0_ && x1_;"
+extern "C"
+casadi::MX*
+    casadi_and__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_and__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = x0_ && x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_any" ===============
+// cppName: "casadi::casadi_any"
+// cWrapperName: "casadi_any__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_any__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_any"
+// call: "        casadi::SX ret = any(x0_);"
+extern "C"
+casadi::SX*
+    casadi_any__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_any__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = any(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_any" ===============
+// cppName: "casadi::casadi_any"
+// cWrapperName: "casadi_any__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_any__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_any"
+// call: "        casadi::DM ret = any(x0_);"
+extern "C"
+casadi::DM*
+    casadi_any__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_any__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = any(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_any" ===============
+// cppName: "casadi::casadi_any"
+// cWrapperName: "casadi_any__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_any__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_any"
+// call: "        casadi::IM ret = any(x0_);"
+extern "C"
+casadi::IM*
+    casadi_any__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_any__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = any(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_asin" ===============
+// cppName: "casadi::casadi_asin"
+// cWrapperName: "casadi_asin__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_asin__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_asin"
+// call: "        double ret = asin(x0_);"
+extern "C"
+double
+    casadi_asin__0(std::string ** err_msg, double* x0);
+double
+    casadi_asin__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = asin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_asin" ===============
+// cppName: "casadi::casadi_asin"
+// cWrapperName: "casadi_asin__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_asin__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_asin"
+// call: "        casadi::SX ret = asin(x0_);"
+extern "C"
+casadi::SX*
+    casadi_asin__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_asin__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = asin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_asin" ===============
+// cppName: "casadi::casadi_asin"
+// cWrapperName: "casadi_asin__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_asin__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_asin"
+// call: "        casadi::DM ret = asin(x0_);"
+extern "C"
+casadi::DM*
+    casadi_asin__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_asin__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = asin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_asin" ===============
+// cppName: "casadi::casadi_asin"
+// cWrapperName: "casadi_asin__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_asin__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_asin"
+// call: "        casadi::IM ret = asin(x0_);"
+extern "C"
+casadi::IM*
+    casadi_asin__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_asin__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = asin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_asin" ===============
+// cppName: "casadi::casadi_asin"
+// cWrapperName: "casadi_asin__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_asin__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_asin"
+// call: "        casadi::MX ret = asin(x0_);"
+extern "C"
+casadi::MX*
+    casadi_asin__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_asin__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = asin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_asinh" ===============
+// cppName: "casadi::casadi_asinh"
+// cWrapperName: "casadi_asinh__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_asinh__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_asinh"
+// call: "        double ret = asinh(x0_);"
+extern "C"
+double
+    casadi_asinh__0(std::string ** err_msg, double* x0);
+double
+    casadi_asinh__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = asinh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_asinh" ===============
+// cppName: "casadi::casadi_asinh"
+// cWrapperName: "casadi_asinh__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_asinh__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_asinh"
+// call: "        casadi::SX ret = asinh(x0_);"
+extern "C"
+casadi::SX*
+    casadi_asinh__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_asinh__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = asinh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_asinh" ===============
+// cppName: "casadi::casadi_asinh"
+// cWrapperName: "casadi_asinh__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_asinh__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_asinh"
+// call: "        casadi::DM ret = asinh(x0_);"
+extern "C"
+casadi::DM*
+    casadi_asinh__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_asinh__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = asinh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_asinh" ===============
+// cppName: "casadi::casadi_asinh"
+// cWrapperName: "casadi_asinh__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_asinh__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_asinh"
+// call: "        casadi::IM ret = asinh(x0_);"
+extern "C"
+casadi::IM*
+    casadi_asinh__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_asinh__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = asinh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_asinh" ===============
+// cppName: "casadi::casadi_asinh"
+// cWrapperName: "casadi_asinh__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_asinh__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_asinh"
+// call: "        casadi::MX ret = asinh(x0_);"
+extern "C"
+casadi::MX*
+    casadi_asinh__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_asinh__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = asinh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atan" ===============
+// cppName: "casadi::casadi_atan"
+// cWrapperName: "casadi_atan__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_atan__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_atan"
+// call: "        double ret = atan(x0_);"
+extern "C"
+double
+    casadi_atan__0(std::string ** err_msg, double* x0);
+double
+    casadi_atan__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = atan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atan" ===============
+// cppName: "casadi::casadi_atan"
+// cWrapperName: "casadi_atan__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_atan__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_atan"
+// call: "        casadi::SX ret = atan(x0_);"
+extern "C"
+casadi::SX*
+    casadi_atan__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_atan__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = atan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atan" ===============
+// cppName: "casadi::casadi_atan"
+// cWrapperName: "casadi_atan__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_atan__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_atan"
+// call: "        casadi::DM ret = atan(x0_);"
+extern "C"
+casadi::DM*
+    casadi_atan__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_atan__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = atan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atan" ===============
+// cppName: "casadi::casadi_atan"
+// cWrapperName: "casadi_atan__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_atan__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_atan"
+// call: "        casadi::IM ret = atan(x0_);"
+extern "C"
+casadi::IM*
+    casadi_atan__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_atan__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = atan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atan" ===============
+// cppName: "casadi::casadi_atan"
+// cWrapperName: "casadi_atan__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_atan__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_atan"
+// call: "        casadi::MX ret = atan(x0_);"
+extern "C"
+casadi::MX*
+    casadi_atan__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_atan__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = atan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atan2" ===============
+// cppName: "casadi::casadi_atan2"
+// cWrapperName: "casadi_atan2__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_atan2__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_atan2"
+// call: "        double ret = atan2(x0_, x1_);"
+extern "C"
+double
+    casadi_atan2__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_atan2__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = atan2(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atan2" ===============
+// cppName: "casadi::casadi_atan2"
+// cWrapperName: "casadi_atan2__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_atan2__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_atan2"
+// call: "        casadi::SX ret = atan2(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_atan2__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_atan2__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = atan2(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atan2" ===============
+// cppName: "casadi::casadi_atan2"
+// cWrapperName: "casadi_atan2__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_atan2__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_atan2"
+// call: "        casadi::DM ret = atan2(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_atan2__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_atan2__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = atan2(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atan2" ===============
+// cppName: "casadi::casadi_atan2"
+// cWrapperName: "casadi_atan2__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_atan2__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_atan2"
+// call: "        casadi::IM ret = atan2(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_atan2__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_atan2__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = atan2(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atan2" ===============
+// cppName: "casadi::casadi_atan2"
+// cWrapperName: "casadi_atan2__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_atan2__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_atan2"
+// call: "        casadi::MX ret = atan2(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_atan2__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_atan2__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = atan2(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atanh" ===============
+// cppName: "casadi::casadi_atanh"
+// cWrapperName: "casadi_atanh__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_atanh__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_atanh"
+// call: "        double ret = atanh(x0_);"
+extern "C"
+double
+    casadi_atanh__0(std::string ** err_msg, double* x0);
+double
+    casadi_atanh__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = atanh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atanh" ===============
+// cppName: "casadi::casadi_atanh"
+// cWrapperName: "casadi_atanh__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_atanh__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_atanh"
+// call: "        casadi::SX ret = atanh(x0_);"
+extern "C"
+casadi::SX*
+    casadi_atanh__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_atanh__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = atanh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atanh" ===============
+// cppName: "casadi::casadi_atanh"
+// cWrapperName: "casadi_atanh__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_atanh__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_atanh"
+// call: "        casadi::DM ret = atanh(x0_);"
+extern "C"
+casadi::DM*
+    casadi_atanh__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_atanh__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = atanh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atanh" ===============
+// cppName: "casadi::casadi_atanh"
+// cWrapperName: "casadi_atanh__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_atanh__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_atanh"
+// call: "        casadi::IM ret = atanh(x0_);"
+extern "C"
+casadi::IM*
+    casadi_atanh__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_atanh__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = atanh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_atanh" ===============
+// cppName: "casadi::casadi_atanh"
+// cWrapperName: "casadi_atanh__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_atanh__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_atanh"
+// call: "        casadi::MX ret = atanh(x0_);"
+extern "C"
+casadi::MX*
+    casadi_atanh__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_atanh__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = atanh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_bilin" ===============
+// cppName: "casadi::casadi_bilin"
+// cWrapperName: "casadi_bilin__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_bilin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// friendWrap: True
+// fName: "casadi_bilin"
+// call: "        casadi::SX ret = bilin(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_bilin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi_bilin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = bilin(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_bilin" ===============
+// cppName: "casadi::casadi_bilin"
+// cWrapperName: "casadi_bilin__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_bilin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// friendWrap: True
+// fName: "casadi_bilin"
+// call: "        casadi::DM ret = bilin(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_bilin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi_bilin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = bilin(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_bilin" ===============
+// cppName: "casadi::casadi_bilin"
+// cWrapperName: "casadi_bilin__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_bilin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// friendWrap: True
+// fName: "casadi_bilin"
+// call: "        casadi::IM ret = bilin(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_bilin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi_bilin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = bilin(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_bilin" ===============
+// cppName: "casadi::casadi_bilin"
+// cWrapperName: "casadi_bilin__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_bilin__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// friendWrap: True
+// fName: "casadi_bilin"
+// call: "        casadi::MX ret = bilin(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_bilin__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
+casadi::MX*
+    casadi_bilin__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+
+        casadi::MX ret = bilin(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blockcat" ===============
+// cppName: "casadi::casadi_blockcat"
+// cWrapperName: "casadi_blockcat__0"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::SX* >* >* x0)"
+// params: [(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_blockcat__0(std::string ** err_msg, std::vector< std::vector< casadi::SX* >* >* x0)"
+// friendWrap: True
+// fName: "casadi_blockcat"
+// call: "        casadi::SX ret = blockcat(x0_);"
+extern "C"
+casadi::SX*
+    casadi_blockcat__0(std::string ** err_msg, std::vector< std::vector< casadi::SX* >* >* x0);
+casadi::SX*
+    casadi_blockcat__0(std::string ** err_msg, std::vector< std::vector< casadi::SX* >* >* x0){
+    try {
+        std::vector< std::vector< casadi::SX > > x0_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x0);
+
+        casadi::SX ret = blockcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blockcat" ===============
+// cppName: "casadi::casadi_blockcat"
+// cWrapperName: "casadi_blockcat__1"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::DM* >* >* x0)"
+// params: [(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_blockcat__1(std::string ** err_msg, std::vector< std::vector< casadi::DM* >* >* x0)"
+// friendWrap: True
+// fName: "casadi_blockcat"
+// call: "        casadi::DM ret = blockcat(x0_);"
+extern "C"
+casadi::DM*
+    casadi_blockcat__1(std::string ** err_msg, std::vector< std::vector< casadi::DM* >* >* x0);
+casadi::DM*
+    casadi_blockcat__1(std::string ** err_msg, std::vector< std::vector< casadi::DM* >* >* x0){
+    try {
+        std::vector< std::vector< casadi::DM > > x0_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x0);
+
+        casadi::DM ret = blockcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blockcat" ===============
+// cppName: "casadi::casadi_blockcat"
+// cWrapperName: "casadi_blockcat__2"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::IM* >* >* x0)"
+// params: [(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_blockcat__2(std::string ** err_msg, std::vector< std::vector< casadi::IM* >* >* x0)"
+// friendWrap: True
+// fName: "casadi_blockcat"
+// call: "        casadi::IM ret = blockcat(x0_);"
+extern "C"
+casadi::IM*
+    casadi_blockcat__2(std::string ** err_msg, std::vector< std::vector< casadi::IM* >* >* x0);
+casadi::IM*
+    casadi_blockcat__2(std::string ** err_msg, std::vector< std::vector< casadi::IM* >* >* x0){
+    try {
+        std::vector< std::vector< casadi::IM > > x0_ = Marshaling<std::vector< std::vector< casadi::IM > >,std::vector< std::vector< casadi::IM* >* >*>::marshal(x0);
+
+        casadi::IM ret = blockcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blockcat" ===============
+// cppName: "casadi::casadi_blockcat"
+// cWrapperName: "casadi_blockcat__3"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::MX* >* >* x0)"
+// params: [(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_blockcat__3(std::string ** err_msg, std::vector< std::vector< casadi::MX* >* >* x0)"
+// friendWrap: True
+// fName: "casadi_blockcat"
+// call: "        casadi::MX ret = blockcat(x0_);"
+extern "C"
+casadi::MX*
+    casadi_blockcat__3(std::string ** err_msg, std::vector< std::vector< casadi::MX* >* >* x0);
+casadi::MX*
+    casadi_blockcat__3(std::string ** err_msg, std::vector< std::vector< casadi::MX* >* >* x0){
+    try {
+        std::vector< std::vector< casadi::MX > > x0_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x0);
+
+        casadi::MX ret = blockcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blockcat" ===============
+// cppName: "casadi::casadi_blockcat"
+// cWrapperName: "casadi_blockcat__4"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_blockcat__4(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
+// friendWrap: True
+// fName: "casadi_blockcat"
+// call: "        casadi::SX ret = blockcat(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::SX*
+    casadi_blockcat__4(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3);
+casadi::SX*
+    casadi_blockcat__4(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
+
+        casadi::SX ret = blockcat(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blockcat" ===============
+// cppName: "casadi::casadi_blockcat"
+// cWrapperName: "casadi_blockcat__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_blockcat__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
+// friendWrap: True
+// fName: "casadi_blockcat"
+// call: "        casadi::DM ret = blockcat(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::DM*
+    casadi_blockcat__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3);
+casadi::DM*
+    casadi_blockcat__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
+
+        casadi::DM ret = blockcat(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blockcat" ===============
+// cppName: "casadi::casadi_blockcat"
+// cWrapperName: "casadi_blockcat__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_blockcat__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
+// friendWrap: True
+// fName: "casadi_blockcat"
+// call: "        casadi::IM ret = blockcat(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::IM*
+    casadi_blockcat__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3);
+casadi::IM*
+    casadi_blockcat__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        casadi::IM ret = blockcat(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blockcat" ===============
+// cppName: "casadi::casadi_blockcat"
+// cWrapperName: "casadi_blockcat__7"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_blockcat__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
+// friendWrap: True
+// fName: "casadi_blockcat"
+// call: "        casadi::MX ret = blockcat(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::MX*
+    casadi_blockcat__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3);
+casadi::MX*
+    casadi_blockcat__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+        casadi::MX& x3_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x3);
+
+        casadi::MX ret = blockcat(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blockcat" ===============
+// cppName: "casadi::casadi_blockcat"
+// cWrapperName: "casadi_blockcat__8"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2, casadi::Sparsity* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_blockcat__8(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2, casadi::Sparsity* x3)"
+// friendWrap: True
+// fName: "casadi_blockcat"
+// call: "        casadi::Sparsity ret = blockcat(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Sparsity*
+    casadi_blockcat__8(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2, casadi::Sparsity* x3);
+casadi::Sparsity*
+    casadi_blockcat__8(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2, casadi::Sparsity* x3){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
+        casadi::Sparsity& x3_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x3);
+
+        casadi::Sparsity ret = blockcat(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
+// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_blocksplit__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_);"
+extern "C"
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_blocksplit__0(std::string ** err_msg, casadi::SX* x0);
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_blocksplit__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
+// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_blocksplit__1(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_);"
+extern "C"
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_blocksplit__1(std::string ** err_msg, casadi::SX* x0, long long x1);
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_blocksplit__1(std::string ** err_msg, casadi::SX* x0, long long x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
+// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_blocksplit__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_blocksplit__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_blocksplit__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__3"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
+// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_blocksplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_blocksplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2);
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_blocksplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+
+        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
+// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_blocksplit__4(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_);"
+extern "C"
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_blocksplit__4(std::string ** err_msg, casadi::DM* x0);
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_blocksplit__4(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
+// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_blocksplit__5(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_);"
+extern "C"
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_blocksplit__5(std::string ** err_msg, casadi::DM* x0, long long x1);
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_blocksplit__5(std::string ** err_msg, casadi::DM* x0, long long x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__6"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
+// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_blocksplit__6(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_blocksplit__6(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_blocksplit__6(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__7"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
+// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_blocksplit__7(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_blocksplit__7(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2);
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_blocksplit__7(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+
+        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__8"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
+// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_blocksplit__8(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_);"
+extern "C"
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_blocksplit__8(std::string ** err_msg, casadi::IM* x0);
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_blocksplit__8(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__9"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
+// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_blocksplit__9(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_);"
+extern "C"
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_blocksplit__9(std::string ** err_msg, casadi::IM* x0, long long x1);
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_blocksplit__9(std::string ** err_msg, casadi::IM* x0, long long x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__10"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
+// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_blocksplit__10(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_blocksplit__10(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_blocksplit__10(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__11"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
+// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_blocksplit__11(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_blocksplit__11(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2);
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_blocksplit__11(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+
+        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__12"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
+// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_blocksplit__12(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_);"
+extern "C"
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_blocksplit__12(std::string ** err_msg, casadi::MX* x0);
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_blocksplit__12(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__13"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
+// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_blocksplit__13(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_);"
+extern "C"
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_blocksplit__13(std::string ** err_msg, casadi::MX* x0, long long x1);
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_blocksplit__13(std::string ** err_msg, casadi::MX* x0, long long x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__14"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
+// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_blocksplit__14(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_blocksplit__14(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2);
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_blocksplit__14(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__15"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
+// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_blocksplit__15(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_blocksplit__15(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2);
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_blocksplit__15(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+
+        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__16"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
+// proto: "std::vector< std::vector< casadi::Sparsity* >* >*\n    casadi_blocksplit__16(std::string ** err_msg, casadi::Sparsity* x0)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_);"
+extern "C"
+std::vector< std::vector< casadi::Sparsity* >* >*
+    casadi_blocksplit__16(std::string ** err_msg, casadi::Sparsity* x0);
+std::vector< std::vector< casadi::Sparsity* >* >*
+    casadi_blocksplit__16(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__17"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
+// proto: "std::vector< std::vector< casadi::Sparsity* >* >*\n    casadi_blocksplit__17(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_);"
+extern "C"
+std::vector< std::vector< casadi::Sparsity* >* >*
+    casadi_blocksplit__17(std::string ** err_msg, casadi::Sparsity* x0, long long x1);
+std::vector< std::vector< casadi::Sparsity* >* >*
+    casadi_blocksplit__17(std::string ** err_msg, casadi::Sparsity* x0, long long x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__18"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
+// proto: "std::vector< std::vector< casadi::Sparsity* >* >*\n    casadi_blocksplit__18(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::Sparsity* >* >*
+    casadi_blocksplit__18(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2);
+std::vector< std::vector< casadi::Sparsity* >* >*
+    casadi_blocksplit__18(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_blocksplit" ===============
+// cppName: "casadi::casadi_blocksplit"
+// cWrapperName: "casadi_blocksplit__19"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
+// proto: "std::vector< std::vector< casadi::Sparsity* >* >*\n    casadi_blocksplit__19(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// friendWrap: True
+// fName: "casadi_blocksplit"
+// call: "        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::Sparsity* >* >*
+    casadi_blocksplit__19(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2);
+std::vector< std::vector< casadi::Sparsity* >* >*
+    casadi_blocksplit__19(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+
+        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ceil" ===============
+// cppName: "casadi::casadi_ceil"
+// cWrapperName: "casadi_ceil__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_ceil__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_ceil"
+// call: "        double ret = ceil(x0_);"
+extern "C"
+double
+    casadi_ceil__0(std::string ** err_msg, double* x0);
+double
+    casadi_ceil__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = ceil(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ceil" ===============
+// cppName: "casadi::casadi_ceil"
+// cWrapperName: "casadi_ceil__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_ceil__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_ceil"
+// call: "        casadi::SX ret = ceil(x0_);"
+extern "C"
+casadi::SX*
+    casadi_ceil__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_ceil__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = ceil(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ceil" ===============
+// cppName: "casadi::casadi_ceil"
+// cWrapperName: "casadi_ceil__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_ceil__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_ceil"
+// call: "        casadi::DM ret = ceil(x0_);"
+extern "C"
+casadi::DM*
+    casadi_ceil__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_ceil__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = ceil(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ceil" ===============
+// cppName: "casadi::casadi_ceil"
+// cWrapperName: "casadi_ceil__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_ceil__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_ceil"
+// call: "        casadi::IM ret = ceil(x0_);"
+extern "C"
+casadi::IM*
+    casadi_ceil__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_ceil__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = ceil(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ceil" ===============
+// cppName: "casadi::casadi_ceil"
+// cWrapperName: "casadi_ceil__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_ceil__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_ceil"
+// call: "        casadi::MX ret = ceil(x0_);"
+extern "C"
+casadi::MX*
+    casadi_ceil__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_ceil__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = ceil(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_chol" ===============
+// cppName: "casadi::casadi_chol"
+// cWrapperName: "casadi_chol__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_chol__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_chol"
+// call: "        casadi::SX ret = chol(x0_);"
+extern "C"
+casadi::SX*
+    casadi_chol__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_chol__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = chol(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_chol" ===============
+// cppName: "casadi::casadi_chol"
+// cWrapperName: "casadi_chol__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_chol__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_chol"
+// call: "        casadi::DM ret = chol(x0_);"
+extern "C"
+casadi::DM*
+    casadi_chol__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_chol__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = chol(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_chol" ===============
+// cppName: "casadi::casadi_chol"
+// cWrapperName: "casadi_chol__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_chol__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_chol"
+// call: "        casadi::IM ret = chol(x0_);"
+extern "C"
+casadi::IM*
+    casadi_chol__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_chol__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = chol(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cofactor" ===============
+// cppName: "casadi::casadi_cofactor"
+// cWrapperName: "casadi_cofactor__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_cofactor__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_cofactor"
+// call: "        casadi::SX ret = cofactor(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_cofactor__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
+casadi::SX*
+    casadi_cofactor__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::SX ret = cofactor(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cofactor" ===============
+// cppName: "casadi::casadi_cofactor"
+// cWrapperName: "casadi_cofactor__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_cofactor__1(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_cofactor"
+// call: "        casadi::DM ret = cofactor(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_cofactor__1(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
+casadi::DM*
+    casadi_cofactor__1(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::DM ret = cofactor(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cofactor" ===============
+// cppName: "casadi::casadi_cofactor"
+// cWrapperName: "casadi_cofactor__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_cofactor__2(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_cofactor"
+// call: "        casadi::IM ret = cofactor(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_cofactor__2(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
+casadi::IM*
+    casadi_cofactor__2(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::IM ret = cofactor(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_conditional" ===============
+// cppName: "casadi::casadi_conditional"
+// cWrapperName: "casadi_conditional__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_conditional__0(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2)"
+// friendWrap: True
+// fName: "casadi_conditional"
+// call: "        casadi::SX ret = conditional(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_conditional__0(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2);
+casadi::SX*
+    casadi_conditional__0(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = conditional(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_conditional" ===============
+// cppName: "casadi::casadi_conditional"
+// cWrapperName: "casadi_conditional__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2, int x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_conditional__1(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_conditional"
+// call: "        casadi::SX ret = conditional(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::SX*
+    casadi_conditional__1(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2, int x3);
+casadi::SX*
+    casadi_conditional__1(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2, int x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::SX ret = conditional(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_conditional" ===============
+// cppName: "casadi::casadi_conditional"
+// cWrapperName: "casadi_conditional__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_conditional__2(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2)"
+// friendWrap: True
+// fName: "casadi_conditional"
+// call: "        casadi::DM ret = conditional(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_conditional__2(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2);
+casadi::DM*
+    casadi_conditional__2(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = conditional(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_conditional" ===============
+// cppName: "casadi::casadi_conditional"
+// cWrapperName: "casadi_conditional__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2, int x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_conditional__3(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_conditional"
+// call: "        casadi::DM ret = conditional(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::DM*
+    casadi_conditional__3(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2, int x3);
+casadi::DM*
+    casadi_conditional__3(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2, int x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::DM ret = conditional(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_conditional" ===============
+// cppName: "casadi::casadi_conditional"
+// cWrapperName: "casadi_conditional__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_conditional__4(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2)"
+// friendWrap: True
+// fName: "casadi_conditional"
+// call: "        casadi::IM ret = conditional(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_conditional__4(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2);
+casadi::IM*
+    casadi_conditional__4(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = conditional(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_conditional" ===============
+// cppName: "casadi::casadi_conditional"
+// cWrapperName: "casadi_conditional__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2, int x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_conditional__5(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_conditional"
+// call: "        casadi::IM ret = conditional(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::IM*
+    casadi_conditional__5(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2, int x3);
+casadi::IM*
+    casadi_conditional__5(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2, int x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::IM ret = conditional(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_conditional" ===============
+// cppName: "casadi::casadi_conditional"
+// cWrapperName: "casadi_conditional__6"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_conditional__6(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2)"
+// friendWrap: True
+// fName: "casadi_conditional"
+// call: "        casadi::MX ret = conditional(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_conditional__6(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2);
+casadi::MX*
+    casadi_conditional__6(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+
+        casadi::MX ret = conditional(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_conditional" ===============
+// cppName: "casadi::casadi_conditional"
+// cWrapperName: "casadi_conditional__7"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2, int x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_conditional__7(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_conditional"
+// call: "        casadi::MX ret = conditional(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::MX*
+    casadi_conditional__7(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2, int x3);
+casadi::MX*
+    casadi_conditional__7(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2, int x3){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::MX ret = conditional(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_constpow" ===============
+// cppName: "casadi::casadi_constpow"
+// cWrapperName: "casadi_constpow__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_constpow__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_constpow"
+// call: "        double ret = casadi::constpow(x0_, x1_);"
+extern "C"
+double
+    casadi_constpow__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_constpow__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = casadi::constpow(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_constpow" ===============
+// cppName: "casadi::casadi_constpow"
+// cWrapperName: "casadi_constpow__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_constpow__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_constpow"
+// call: "        casadi::SX ret = constpow(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_constpow__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_constpow__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = constpow(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_constpow" ===============
+// cppName: "casadi::casadi_constpow"
+// cWrapperName: "casadi_constpow__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_constpow__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_constpow"
+// call: "        casadi::DM ret = constpow(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_constpow__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_constpow__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = constpow(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_constpow" ===============
+// cppName: "casadi::casadi_constpow"
+// cWrapperName: "casadi_constpow__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_constpow__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_constpow"
+// call: "        casadi::IM ret = constpow(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_constpow__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_constpow__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = constpow(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_constpow" ===============
+// cppName: "casadi::casadi_constpow"
+// cWrapperName: "casadi_constpow__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_constpow__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_constpow"
+// call: "        casadi::MX ret = constpow(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_constpow__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_constpow__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = constpow(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_copysign" ===============
+// cppName: "casadi::casadi_copysign"
+// cWrapperName: "casadi_copysign__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_copysign__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_copysign"
+// call: "        double ret = copysign(x0_, x1_);"
+extern "C"
+double
+    casadi_copysign__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_copysign__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = copysign(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_copysign" ===============
+// cppName: "casadi::casadi_copysign"
+// cWrapperName: "casadi_copysign__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_copysign__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_copysign"
+// call: "        casadi::SX ret = copysign(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_copysign__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_copysign__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = copysign(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_copysign" ===============
+// cppName: "casadi::casadi_copysign"
+// cWrapperName: "casadi_copysign__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_copysign__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_copysign"
+// call: "        casadi::DM ret = copysign(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_copysign__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_copysign__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = copysign(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_copysign" ===============
+// cppName: "casadi::casadi_copysign"
+// cWrapperName: "casadi_copysign__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_copysign__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_copysign"
+// call: "        casadi::IM ret = copysign(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_copysign__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_copysign__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = copysign(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_copysign" ===============
+// cppName: "casadi::casadi_copysign"
+// cWrapperName: "casadi_copysign__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_copysign__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_copysign"
+// call: "        casadi::MX ret = copysign(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_copysign__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_copysign__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = copysign(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cos" ===============
+// cppName: "casadi::casadi_cos"
+// cWrapperName: "casadi_cos__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_cos__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_cos"
+// call: "        double ret = cos(x0_);"
+extern "C"
+double
+    casadi_cos__0(std::string ** err_msg, double* x0);
+double
+    casadi_cos__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = cos(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cos" ===============
+// cppName: "casadi::casadi_cos"
+// cWrapperName: "casadi_cos__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_cos__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_cos"
+// call: "        casadi::SX ret = cos(x0_);"
+extern "C"
+casadi::SX*
+    casadi_cos__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_cos__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = cos(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cos" ===============
+// cppName: "casadi::casadi_cos"
+// cWrapperName: "casadi_cos__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_cos__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_cos"
+// call: "        casadi::DM ret = cos(x0_);"
+extern "C"
+casadi::DM*
+    casadi_cos__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_cos__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = cos(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cos" ===============
+// cppName: "casadi::casadi_cos"
+// cWrapperName: "casadi_cos__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_cos__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_cos"
+// call: "        casadi::IM ret = cos(x0_);"
+extern "C"
+casadi::IM*
+    casadi_cos__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_cos__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = cos(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cos" ===============
+// cppName: "casadi::casadi_cos"
+// cWrapperName: "casadi_cos__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_cos__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_cos"
+// call: "        casadi::MX ret = cos(x0_);"
+extern "C"
+casadi::MX*
+    casadi_cos__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_cos__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = cos(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cosh" ===============
+// cppName: "casadi::casadi_cosh"
+// cWrapperName: "casadi_cosh__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_cosh__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_cosh"
+// call: "        double ret = cosh(x0_);"
+extern "C"
+double
+    casadi_cosh__0(std::string ** err_msg, double* x0);
+double
+    casadi_cosh__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = cosh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cosh" ===============
+// cppName: "casadi::casadi_cosh"
+// cWrapperName: "casadi_cosh__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_cosh__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_cosh"
+// call: "        casadi::SX ret = cosh(x0_);"
+extern "C"
+casadi::SX*
+    casadi_cosh__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_cosh__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = cosh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cosh" ===============
+// cppName: "casadi::casadi_cosh"
+// cWrapperName: "casadi_cosh__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_cosh__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_cosh"
+// call: "        casadi::DM ret = cosh(x0_);"
+extern "C"
+casadi::DM*
+    casadi_cosh__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_cosh__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = cosh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cosh" ===============
+// cppName: "casadi::casadi_cosh"
+// cWrapperName: "casadi_cosh__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_cosh__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_cosh"
+// call: "        casadi::IM ret = cosh(x0_);"
+extern "C"
+casadi::IM*
+    casadi_cosh__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_cosh__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = cosh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cosh" ===============
+// cppName: "casadi::casadi_cosh"
+// cWrapperName: "casadi_cosh__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_cosh__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_cosh"
+// call: "        casadi::MX ret = cosh(x0_);"
+extern "C"
+casadi::MX*
+    casadi_cosh__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_cosh__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = cosh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cross" ===============
+// cppName: "casadi::casadi_cross"
+// cWrapperName: "casadi_cross__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_cross__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_cross"
+// call: "        casadi::SX ret = cross(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_cross__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_cross__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = cross(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cross" ===============
+// cppName: "casadi::casadi_cross"
+// cWrapperName: "casadi_cross__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_cross__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_cross"
+// call: "        casadi::SX ret = cross(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_cross__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2);
+casadi::SX*
+    casadi_cross__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::SX ret = cross(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cross" ===============
+// cppName: "casadi::casadi_cross"
+// cWrapperName: "casadi_cross__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_cross__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_cross"
+// call: "        casadi::DM ret = cross(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_cross__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_cross__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = cross(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cross" ===============
+// cppName: "casadi::casadi_cross"
+// cWrapperName: "casadi_cross__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_cross__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_cross"
+// call: "        casadi::DM ret = cross(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_cross__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2);
+casadi::DM*
+    casadi_cross__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::DM ret = cross(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cross" ===============
+// cppName: "casadi::casadi_cross"
+// cWrapperName: "casadi_cross__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_cross__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_cross"
+// call: "        casadi::IM ret = cross(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_cross__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_cross__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = cross(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cross" ===============
+// cppName: "casadi::casadi_cross"
+// cWrapperName: "casadi_cross__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_cross__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_cross"
+// call: "        casadi::IM ret = cross(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_cross__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2);
+casadi::IM*
+    casadi_cross__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::IM ret = cross(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cross" ===============
+// cppName: "casadi::casadi_cross"
+// cWrapperName: "casadi_cross__6"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_cross__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_cross"
+// call: "        casadi::MX ret = cross(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_cross__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_cross__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = cross(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cross" ===============
+// cppName: "casadi::casadi_cross"
+// cWrapperName: "casadi_cross__7"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_cross__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_cross"
+// call: "        casadi::MX ret = cross(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_cross__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2);
+casadi::MX*
+    casadi_cross__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::MX ret = cross(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cumsum" ===============
+// cppName: "casadi::casadi_cumsum"
+// cWrapperName: "casadi_cumsum__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_cumsum__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_cumsum"
+// call: "        casadi::SX ret = cumsum(x0_);"
+extern "C"
+casadi::SX*
+    casadi_cumsum__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_cumsum__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = cumsum(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cumsum" ===============
+// cppName: "casadi::casadi_cumsum"
+// cWrapperName: "casadi_cumsum__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_cumsum__1(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_cumsum"
+// call: "        casadi::SX ret = cumsum(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_cumsum__1(std::string ** err_msg, casadi::SX* x0, long long x1);
+casadi::SX*
+    casadi_cumsum__1(std::string ** err_msg, casadi::SX* x0, long long x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::SX ret = cumsum(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cumsum" ===============
+// cppName: "casadi::casadi_cumsum"
+// cWrapperName: "casadi_cumsum__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_cumsum__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_cumsum"
+// call: "        casadi::DM ret = cumsum(x0_);"
+extern "C"
+casadi::DM*
+    casadi_cumsum__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_cumsum__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = cumsum(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cumsum" ===============
+// cppName: "casadi::casadi_cumsum"
+// cWrapperName: "casadi_cumsum__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_cumsum__3(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_cumsum"
+// call: "        casadi::DM ret = cumsum(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_cumsum__3(std::string ** err_msg, casadi::DM* x0, long long x1);
+casadi::DM*
+    casadi_cumsum__3(std::string ** err_msg, casadi::DM* x0, long long x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::DM ret = cumsum(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cumsum" ===============
+// cppName: "casadi::casadi_cumsum"
+// cWrapperName: "casadi_cumsum__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_cumsum__4(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_cumsum"
+// call: "        casadi::IM ret = cumsum(x0_);"
+extern "C"
+casadi::IM*
+    casadi_cumsum__4(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_cumsum__4(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = cumsum(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cumsum" ===============
+// cppName: "casadi::casadi_cumsum"
+// cWrapperName: "casadi_cumsum__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_cumsum__5(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_cumsum"
+// call: "        casadi::IM ret = cumsum(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_cumsum__5(std::string ** err_msg, casadi::IM* x0, long long x1);
+casadi::IM*
+    casadi_cumsum__5(std::string ** err_msg, casadi::IM* x0, long long x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::IM ret = cumsum(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cumsum" ===============
+// cppName: "casadi::casadi_cumsum"
+// cWrapperName: "casadi_cumsum__6"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_cumsum__6(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_cumsum"
+// call: "        casadi::MX ret = cumsum(x0_);"
+extern "C"
+casadi::MX*
+    casadi_cumsum__6(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_cumsum__6(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = cumsum(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_cumsum" ===============
+// cppName: "casadi::casadi_cumsum"
+// cWrapperName: "casadi_cumsum__7"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_cumsum__7(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_cumsum"
+// call: "        casadi::MX ret = cumsum(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_cumsum__7(std::string ** err_msg, casadi::MX* x0, long long x1);
+casadi::MX*
+    casadi_cumsum__7(std::string ** err_msg, casadi::MX* x0, long long x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = cumsum(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_densify" ===============
+// cppName: "casadi::casadi_densify"
+// cWrapperName: "casadi_densify__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_densify__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_densify"
+// call: "        casadi::SX ret = densify(x0_);"
+extern "C"
+casadi::SX*
+    casadi_densify__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_densify__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = densify(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_densify" ===============
+// cppName: "casadi::casadi_densify"
+// cWrapperName: "casadi_densify__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_densify__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_densify"
+// call: "        casadi::DM ret = densify(x0_);"
+extern "C"
+casadi::DM*
+    casadi_densify__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_densify__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = densify(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_densify" ===============
+// cppName: "casadi::casadi_densify"
+// cWrapperName: "casadi_densify__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_densify__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_densify"
+// call: "        casadi::IM ret = densify(x0_);"
+extern "C"
+casadi::IM*
+    casadi_densify__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_densify__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = densify(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_densify" ===============
+// cppName: "casadi::casadi_densify"
+// cWrapperName: "casadi_densify__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_densify__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_densify"
+// call: "        casadi::MX ret = densify(x0_);"
+extern "C"
+casadi::MX*
+    casadi_densify__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_densify__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = densify(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_depends_on" ===============
+// cppName: "casadi::casadi_depends_on"
+// cWrapperName: "casadi_depends_on__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_depends_on__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_depends_on"
+// call: "        bool ret = depends_on(x0_, x1_);"
+extern "C"
+int
+    casadi_depends_on__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+int
+    casadi_depends_on__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        bool ret = depends_on(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_depends_on" ===============
+// cppName: "casadi::casadi_depends_on"
+// cWrapperName: "casadi_depends_on__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_depends_on__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_depends_on"
+// call: "        bool ret = depends_on(x0_, x1_);"
+extern "C"
+int
+    casadi_depends_on__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+int
+    casadi_depends_on__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        bool ret = depends_on(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_depends_on" ===============
+// cppName: "casadi::casadi_depends_on"
+// cWrapperName: "casadi_depends_on__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_depends_on__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_depends_on"
+// call: "        bool ret = depends_on(x0_, x1_);"
+extern "C"
+int
+    casadi_depends_on__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+int
+    casadi_depends_on__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        bool ret = depends_on(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_depends_on" ===============
+// cppName: "casadi::casadi_depends_on"
+// cWrapperName: "casadi_depends_on__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_depends_on__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_depends_on"
+// call: "        bool ret = depends_on(x0_, x1_);"
+extern "C"
+int
+    casadi_depends_on__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+int
+    casadi_depends_on__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        bool ret = depends_on(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_det" ===============
+// cppName: "casadi::casadi_det"
+// cWrapperName: "casadi_det__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_det__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_det"
+// call: "        casadi::SX ret = det(x0_);"
+extern "C"
+casadi::SX*
+    casadi_det__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_det__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = det(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_det" ===============
+// cppName: "casadi::casadi_det"
+// cWrapperName: "casadi_det__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_det__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_det"
+// call: "        casadi::DM ret = det(x0_);"
+extern "C"
+casadi::DM*
+    casadi_det__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_det__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = det(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_det" ===============
+// cppName: "casadi::casadi_det"
+// cWrapperName: "casadi_det__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_det__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_det"
+// call: "        casadi::IM ret = det(x0_);"
+extern "C"
+casadi::IM*
+    casadi_det__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_det__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = det(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_det" ===============
+// cppName: "casadi::casadi_det"
+// cWrapperName: "casadi_det__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_det__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_det"
+// call: "        casadi::MX ret = det(x0_);"
+extern "C"
+casadi::MX*
+    casadi_det__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_det__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = det(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diag" ===============
+// cppName: "casadi::casadi_diag"
+// cWrapperName: "casadi_diag__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_diag__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_diag"
+// call: "        casadi::SX ret = diag(x0_);"
+extern "C"
+casadi::SX*
+    casadi_diag__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_diag__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = diag(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diag" ===============
+// cppName: "casadi::casadi_diag"
+// cWrapperName: "casadi_diag__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_diag__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_diag"
+// call: "        casadi::DM ret = diag(x0_);"
+extern "C"
+casadi::DM*
+    casadi_diag__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_diag__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = diag(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diag" ===============
+// cppName: "casadi::casadi_diag"
+// cWrapperName: "casadi_diag__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_diag__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_diag"
+// call: "        casadi::IM ret = diag(x0_);"
+extern "C"
+casadi::IM*
+    casadi_diag__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_diag__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = diag(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diag" ===============
+// cppName: "casadi::casadi_diag"
+// cWrapperName: "casadi_diag__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_diag__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_diag"
+// call: "        casadi::MX ret = diag(x0_);"
+extern "C"
+casadi::MX*
+    casadi_diag__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_diag__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = diag(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagcat" ===============
+// cppName: "casadi::casadi_diagcat"
+// cWrapperName: "casadi_diagcat__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_diagcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// friendWrap: True
+// fName: "casadi_diagcat"
+// call: "        casadi::SX ret = diagcat(x0_);"
+extern "C"
+casadi::SX*
+    casadi_diagcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+casadi::SX*
+    casadi_diagcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        casadi::SX ret = diagcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagcat" ===============
+// cppName: "casadi::casadi_diagcat"
+// cWrapperName: "casadi_diagcat__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_diagcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
+// friendWrap: True
+// fName: "casadi_diagcat"
+// call: "        casadi::DM ret = diagcat(x0_);"
+extern "C"
+casadi::DM*
+    casadi_diagcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0);
+casadi::DM*
+    casadi_diagcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+
+        casadi::DM ret = diagcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagcat" ===============
+// cppName: "casadi::casadi_diagcat"
+// cWrapperName: "casadi_diagcat__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_diagcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
+// friendWrap: True
+// fName: "casadi_diagcat"
+// call: "        casadi::IM ret = diagcat(x0_);"
+extern "C"
+casadi::IM*
+    casadi_diagcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0);
+casadi::IM*
+    casadi_diagcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+
+        casadi::IM ret = diagcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagcat" ===============
+// cppName: "casadi::casadi_diagcat"
+// cWrapperName: "casadi_diagcat__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_diagcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// friendWrap: True
+// fName: "casadi_diagcat"
+// call: "        casadi::MX ret = diagcat(x0_);"
+extern "C"
+casadi::MX*
+    casadi_diagcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+casadi::MX*
+    casadi_diagcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        casadi::MX ret = diagcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagcat" ===============
+// cppName: "casadi::casadi_diagcat"
+// cWrapperName: "casadi_diagcat__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_diagcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// friendWrap: True
+// fName: "casadi_diagcat"
+// call: "        casadi::Sparsity ret = diagcat(x0_);"
+extern "C"
+casadi::Sparsity*
+    casadi_diagcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+casadi::Sparsity*
+    casadi_diagcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        casadi::Sparsity ret = diagcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::SX > ret = diagsplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::SX* >*
+    casadi_diagsplit__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
+std::vector< casadi::SX* >*
+    casadi_diagsplit__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< casadi::SX > ret = diagsplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::SX > ret = diagsplit(x0_);"
+extern "C"
+std::vector< casadi::SX* >*
+    casadi_diagsplit__1(std::string ** err_msg, casadi::SX* x0);
+std::vector< casadi::SX* >*
+    casadi_diagsplit__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = diagsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__2(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::SX > ret = diagsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::SX* >*
+    casadi_diagsplit__2(std::string ** err_msg, casadi::SX* x0, long long x1);
+std::vector< casadi::SX* >*
+    casadi_diagsplit__2(std::string ** err_msg, casadi::SX* x0, long long x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::SX > ret = diagsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__3"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::SX > ret = diagsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::SX* >*
+    casadi_diagsplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1);
+std::vector< casadi::SX* >*
+    casadi_diagsplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = diagsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__4"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__4(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::SX > ret = diagsplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::SX* >*
+    casadi_diagsplit__4(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2);
+std::vector< casadi::SX* >*
+    casadi_diagsplit__4(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = diagsplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::DM > ret = diagsplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::DM* >*
+    casadi_diagsplit__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
+std::vector< casadi::DM* >*
+    casadi_diagsplit__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< casadi::DM > ret = diagsplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__6"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__6(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::DM > ret = diagsplit(x0_);"
+extern "C"
+std::vector< casadi::DM* >*
+    casadi_diagsplit__6(std::string ** err_msg, casadi::DM* x0);
+std::vector< casadi::DM* >*
+    casadi_diagsplit__6(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        std::vector< casadi::DM > ret = diagsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__7"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__7(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::DM > ret = diagsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::DM* >*
+    casadi_diagsplit__7(std::string ** err_msg, casadi::DM* x0, long long x1);
+std::vector< casadi::DM* >*
+    casadi_diagsplit__7(std::string ** err_msg, casadi::DM* x0, long long x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::DM > ret = diagsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__8"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__8(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::DM > ret = diagsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::DM* >*
+    casadi_diagsplit__8(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1);
+std::vector< casadi::DM* >*
+    casadi_diagsplit__8(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::DM > ret = diagsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__9"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__9(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::DM > ret = diagsplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::DM* >*
+    casadi_diagsplit__9(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2);
+std::vector< casadi::DM* >*
+    casadi_diagsplit__9(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+
+        std::vector< casadi::DM > ret = diagsplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__10"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__10(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::IM > ret = diagsplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::IM* >*
+    casadi_diagsplit__10(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
+std::vector< casadi::IM* >*
+    casadi_diagsplit__10(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< casadi::IM > ret = diagsplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__11"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__11(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::IM > ret = diagsplit(x0_);"
+extern "C"
+std::vector< casadi::IM* >*
+    casadi_diagsplit__11(std::string ** err_msg, casadi::IM* x0);
+std::vector< casadi::IM* >*
+    casadi_diagsplit__11(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        std::vector< casadi::IM > ret = diagsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__12"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__12(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::IM > ret = diagsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::IM* >*
+    casadi_diagsplit__12(std::string ** err_msg, casadi::IM* x0, long long x1);
+std::vector< casadi::IM* >*
+    casadi_diagsplit__12(std::string ** err_msg, casadi::IM* x0, long long x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::IM > ret = diagsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__13"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__13(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::IM > ret = diagsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::IM* >*
+    casadi_diagsplit__13(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1);
+std::vector< casadi::IM* >*
+    casadi_diagsplit__13(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::IM > ret = diagsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__14"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__14(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::IM > ret = diagsplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::IM* >*
+    casadi_diagsplit__14(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2);
+std::vector< casadi::IM* >*
+    casadi_diagsplit__14(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+
+        std::vector< casadi::IM > ret = diagsplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__15"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__15(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::MX > ret = diagsplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_diagsplit__15(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2);
+std::vector< casadi::MX* >*
+    casadi_diagsplit__15(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< casadi::MX > ret = diagsplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__16"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__16(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::MX > ret = diagsplit(x0_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_diagsplit__16(std::string ** err_msg, casadi::MX* x0);
+std::vector< casadi::MX* >*
+    casadi_diagsplit__16(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = diagsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__17"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__17(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::MX > ret = diagsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_diagsplit__17(std::string ** err_msg, casadi::MX* x0, long long x1);
+std::vector< casadi::MX* >*
+    casadi_diagsplit__17(std::string ** err_msg, casadi::MX* x0, long long x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::MX > ret = diagsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__18"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__18(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::MX > ret = diagsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_diagsplit__18(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1);
+std::vector< casadi::MX* >*
+    casadi_diagsplit__18(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = diagsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__19"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__19(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::MX > ret = diagsplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_diagsplit__19(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2);
+std::vector< casadi::MX* >*
+    casadi_diagsplit__19(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = diagsplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__20"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__20(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::Sparsity* >*
+    casadi_diagsplit__20(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2);
+std::vector< casadi::Sparsity* >*
+    casadi_diagsplit__20(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__21"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__21(std::string ** err_msg, casadi::Sparsity* x0)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_);"
+extern "C"
+std::vector< casadi::Sparsity* >*
+    casadi_diagsplit__21(std::string ** err_msg, casadi::Sparsity* x0);
+std::vector< casadi::Sparsity* >*
+    casadi_diagsplit__21(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = diagsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__22"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__22(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::Sparsity* >*
+    casadi_diagsplit__22(std::string ** err_msg, casadi::Sparsity* x0, long long x1);
+std::vector< casadi::Sparsity* >*
+    casadi_diagsplit__22(std::string ** err_msg, casadi::Sparsity* x0, long long x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__23"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__23(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::Sparsity* >*
+    casadi_diagsplit__23(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1);
+std::vector< casadi::Sparsity* >*
+    casadi_diagsplit__23(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diagsplit" ===============
+// cppName: "casadi::casadi_diagsplit"
+// cWrapperName: "casadi_diagsplit__24"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__24(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
+// friendWrap: True
+// fName: "casadi_diagsplit"
+// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::Sparsity* >*
+    casadi_diagsplit__24(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2);
+std::vector< casadi::Sparsity* >*
+    casadi_diagsplit__24(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diff" ===============
+// cppName: "casadi::casadi_diff"
+// cWrapperName: "casadi_diff__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_diff__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_diff"
+// call: "        casadi::SX ret = diff(x0_);"
+extern "C"
+casadi::SX*
+    casadi_diff__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_diff__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = diff(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diff" ===============
+// cppName: "casadi::casadi_diff"
+// cWrapperName: "casadi_diff__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_diff__1(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_diff"
+// call: "        casadi::SX ret = diff(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_diff__1(std::string ** err_msg, casadi::SX* x0, long long x1);
+casadi::SX*
+    casadi_diff__1(std::string ** err_msg, casadi::SX* x0, long long x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::SX ret = diff(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diff" ===============
+// cppName: "casadi::casadi_diff"
+// cWrapperName: "casadi_diff__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_diff__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_diff"
+// call: "        casadi::SX ret = diff(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_diff__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
+casadi::SX*
+    casadi_diff__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::SX ret = diff(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diff" ===============
+// cppName: "casadi::casadi_diff"
+// cWrapperName: "casadi_diff__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_diff__3(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_diff"
+// call: "        casadi::DM ret = diff(x0_);"
+extern "C"
+casadi::DM*
+    casadi_diff__3(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_diff__3(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = diff(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diff" ===============
+// cppName: "casadi::casadi_diff"
+// cWrapperName: "casadi_diff__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_diff__4(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_diff"
+// call: "        casadi::DM ret = diff(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_diff__4(std::string ** err_msg, casadi::DM* x0, long long x1);
+casadi::DM*
+    casadi_diff__4(std::string ** err_msg, casadi::DM* x0, long long x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::DM ret = diff(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diff" ===============
+// cppName: "casadi::casadi_diff"
+// cWrapperName: "casadi_diff__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_diff__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_diff"
+// call: "        casadi::DM ret = diff(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_diff__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
+casadi::DM*
+    casadi_diff__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::DM ret = diff(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diff" ===============
+// cppName: "casadi::casadi_diff"
+// cWrapperName: "casadi_diff__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_diff__6(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_diff"
+// call: "        casadi::IM ret = diff(x0_);"
+extern "C"
+casadi::IM*
+    casadi_diff__6(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_diff__6(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = diff(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diff" ===============
+// cppName: "casadi::casadi_diff"
+// cWrapperName: "casadi_diff__7"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_diff__7(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_diff"
+// call: "        casadi::IM ret = diff(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_diff__7(std::string ** err_msg, casadi::IM* x0, long long x1);
+casadi::IM*
+    casadi_diff__7(std::string ** err_msg, casadi::IM* x0, long long x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::IM ret = diff(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diff" ===============
+// cppName: "casadi::casadi_diff"
+// cWrapperName: "casadi_diff__8"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_diff__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_diff"
+// call: "        casadi::IM ret = diff(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_diff__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
+casadi::IM*
+    casadi_diff__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::IM ret = diff(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diff" ===============
+// cppName: "casadi::casadi_diff"
+// cWrapperName: "casadi_diff__9"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_diff__9(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_diff"
+// call: "        casadi::MX ret = diff(x0_);"
+extern "C"
+casadi::MX*
+    casadi_diff__9(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_diff__9(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = diff(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diff" ===============
+// cppName: "casadi::casadi_diff"
+// cWrapperName: "casadi_diff__10"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_diff__10(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_diff"
+// call: "        casadi::MX ret = diff(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_diff__10(std::string ** err_msg, casadi::MX* x0, long long x1);
+casadi::MX*
+    casadi_diff__10(std::string ** err_msg, casadi::MX* x0, long long x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = diff(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_diff" ===============
+// cppName: "casadi::casadi_diff"
+// cWrapperName: "casadi_diff__11"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_diff__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_diff"
+// call: "        casadi::MX ret = diff(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_diff__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2);
+casadi::MX*
+    casadi_diff__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::MX ret = diff(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_dot" ===============
+// cppName: "casadi::casadi_dot"
+// cWrapperName: "casadi_dot__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_dot__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_dot"
+// call: "        casadi::SX ret = dot(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_dot__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_dot__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = dot(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_dot" ===============
+// cppName: "casadi::casadi_dot"
+// cWrapperName: "casadi_dot__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_dot__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_dot"
+// call: "        casadi::DM ret = dot(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_dot__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_dot__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = dot(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_dot" ===============
+// cppName: "casadi::casadi_dot"
+// cWrapperName: "casadi_dot__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_dot__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_dot"
+// call: "        casadi::IM ret = dot(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_dot__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_dot__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = dot(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_dot" ===============
+// cppName: "casadi::casadi_dot"
+// cWrapperName: "casadi_dot__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_dot__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_dot"
+// call: "        casadi::MX ret = dot(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_dot__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_dot__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = dot(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_eig_symbolic" ===============
+// cppName: "casadi::casadi_eig_symbolic"
+// cWrapperName: "casadi_eig_symbolic__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_eig_symbolic__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_eig_symbolic"
+// call: "        casadi::SX ret = eig_symbolic(x0_);"
+extern "C"
+casadi::SX*
+    casadi_eig_symbolic__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_eig_symbolic__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = eig_symbolic(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_eig_symbolic" ===============
+// cppName: "casadi::casadi_eig_symbolic"
+// cWrapperName: "casadi_eig_symbolic__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_eig_symbolic__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_eig_symbolic"
+// call: "        casadi::DM ret = eig_symbolic(x0_);"
+extern "C"
+casadi::DM*
+    casadi_eig_symbolic__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_eig_symbolic__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = eig_symbolic(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_eig_symbolic" ===============
+// cppName: "casadi::casadi_eig_symbolic"
+// cWrapperName: "casadi_eig_symbolic__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_eig_symbolic__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_eig_symbolic"
+// call: "        casadi::IM ret = eig_symbolic(x0_);"
+extern "C"
+casadi::IM*
+    casadi_eig_symbolic__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_eig_symbolic__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = eig_symbolic(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_einstein" ===============
+// cppName: "casadi::casadi_einstein"
+// cWrapperName: "casadi_einstein__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_einstein__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7)"
+// friendWrap: True
+// fName: "casadi_einstein"
+// call: "        casadi::SX ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);"
+extern "C"
+casadi::SX*
+    casadi_einstein__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7);
+casadi::SX*
+    casadi_einstein__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        std::vector< long long > x6_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x6);
+        std::vector< long long > x7_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x7);
+
+        casadi::SX ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+        // x7 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_einstein" ===============
+// cppName: "casadi::casadi_einstein"
+// cWrapperName: "casadi_einstein__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_einstein__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8)"
+// friendWrap: True
+// fName: "casadi_einstein"
+// call: "        casadi::SX ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);"
+extern "C"
+casadi::SX*
+    casadi_einstein__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8);
+casadi::SX*
+    casadi_einstein__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        std::vector< long long > x6_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x6);
+        std::vector< long long > x7_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x7);
+        std::vector< long long > x8_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x8);
+
+        casadi::SX ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+        // x7 is not a swig output
+        // x8 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_einstein" ===============
+// cppName: "casadi::casadi_einstein"
+// cWrapperName: "casadi_einstein__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_einstein__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7)"
+// friendWrap: True
+// fName: "casadi_einstein"
+// call: "        casadi::DM ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);"
+extern "C"
+casadi::DM*
+    casadi_einstein__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7);
+casadi::DM*
+    casadi_einstein__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        std::vector< long long > x6_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x6);
+        std::vector< long long > x7_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x7);
+
+        casadi::DM ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+        // x7 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_einstein" ===============
+// cppName: "casadi::casadi_einstein"
+// cWrapperName: "casadi_einstein__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_einstein__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8)"
+// friendWrap: True
+// fName: "casadi_einstein"
+// call: "        casadi::DM ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);"
+extern "C"
+casadi::DM*
+    casadi_einstein__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8);
+casadi::DM*
+    casadi_einstein__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        std::vector< long long > x6_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x6);
+        std::vector< long long > x7_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x7);
+        std::vector< long long > x8_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x8);
+
+        casadi::DM ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+        // x7 is not a swig output
+        // x8 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_einstein" ===============
+// cppName: "casadi::casadi_einstein"
+// cWrapperName: "casadi_einstein__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_einstein__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7)"
+// friendWrap: True
+// fName: "casadi_einstein"
+// call: "        casadi::IM ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);"
+extern "C"
+casadi::IM*
+    casadi_einstein__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7);
+casadi::IM*
+    casadi_einstein__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        std::vector< long long > x6_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x6);
+        std::vector< long long > x7_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x7);
+
+        casadi::IM ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+        // x7 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_einstein" ===============
+// cppName: "casadi::casadi_einstein"
+// cWrapperName: "casadi_einstein__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_einstein__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8)"
+// friendWrap: True
+// fName: "casadi_einstein"
+// call: "        casadi::IM ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);"
+extern "C"
+casadi::IM*
+    casadi_einstein__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8);
+casadi::IM*
+    casadi_einstein__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        std::vector< long long > x6_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x6);
+        std::vector< long long > x7_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x7);
+        std::vector< long long > x8_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x8);
+
+        casadi::IM ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+        // x7 is not a swig output
+        // x8 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_einstein" ===============
+// cppName: "casadi::casadi_einstein"
+// cWrapperName: "casadi_einstein__6"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_einstein__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7)"
+// friendWrap: True
+// fName: "casadi_einstein"
+// call: "        casadi::MX ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);"
+extern "C"
+casadi::MX*
+    casadi_einstein__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7);
+casadi::MX*
+    casadi_einstein__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        std::vector< long long > x6_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x6);
+        std::vector< long long > x7_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x7);
+
+        casadi::MX ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+        // x7 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_einstein" ===============
+// cppName: "casadi::casadi_einstein"
+// cWrapperName: "casadi_einstein__7"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_einstein__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8)"
+// friendWrap: True
+// fName: "casadi_einstein"
+// call: "        casadi::MX ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);"
+extern "C"
+casadi::MX*
+    casadi_einstein__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8);
+casadi::MX*
+    casadi_einstein__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        std::vector< long long > x6_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x6);
+        std::vector< long long > x7_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x7);
+        std::vector< long long > x8_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x8);
+
+        casadi::MX ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+        // x7 is not a swig output
+        // x8 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_eq" ===============
+// cppName: "casadi::casadi_eq"
+// cWrapperName: "casadi_eq__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_eq__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_eq"
+// call: "        double ret = x0_ == x1_;"
+extern "C"
+double
+    casadi_eq__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_eq__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = x0_ == x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_eq" ===============
+// cppName: "casadi::casadi_eq"
+// cWrapperName: "casadi_eq__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_eq__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_eq"
+// call: "        casadi::SX ret = x0_ == x1_;"
+extern "C"
+casadi::SX*
+    casadi_eq__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_eq__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = x0_ == x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_eq" ===============
+// cppName: "casadi::casadi_eq"
+// cWrapperName: "casadi_eq__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_eq__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_eq"
+// call: "        casadi::DM ret = x0_ == x1_;"
+extern "C"
+casadi::DM*
+    casadi_eq__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_eq__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = x0_ == x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_eq" ===============
+// cppName: "casadi::casadi_eq"
+// cWrapperName: "casadi_eq__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_eq__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_eq"
+// call: "        casadi::IM ret = x0_ == x1_;"
+extern "C"
+casadi::IM*
+    casadi_eq__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_eq__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = x0_ == x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_eq" ===============
+// cppName: "casadi::casadi_eq"
+// cWrapperName: "casadi_eq__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_eq__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_eq"
+// call: "        casadi::MX ret = x0_ == x1_;"
+extern "C"
+casadi::MX*
+    casadi_eq__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_eq__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = x0_ == x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_erf" ===============
+// cppName: "casadi::casadi_erf"
+// cWrapperName: "casadi_erf__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_erf__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_erf"
+// call: "        double ret = erf(x0_);"
+extern "C"
+double
+    casadi_erf__0(std::string ** err_msg, double* x0);
+double
+    casadi_erf__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = erf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_erf" ===============
+// cppName: "casadi::casadi_erf"
+// cWrapperName: "casadi_erf__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_erf__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_erf"
+// call: "        casadi::SX ret = erf(x0_);"
+extern "C"
+casadi::SX*
+    casadi_erf__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_erf__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = erf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_erf" ===============
+// cppName: "casadi::casadi_erf"
+// cWrapperName: "casadi_erf__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_erf__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_erf"
+// call: "        casadi::DM ret = erf(x0_);"
+extern "C"
+casadi::DM*
+    casadi_erf__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_erf__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = erf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_erf" ===============
+// cppName: "casadi::casadi_erf"
+// cWrapperName: "casadi_erf__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_erf__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_erf"
+// call: "        casadi::IM ret = erf(x0_);"
+extern "C"
+casadi::IM*
+    casadi_erf__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_erf__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = erf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_erf" ===============
+// cppName: "casadi::casadi_erf"
+// cWrapperName: "casadi_erf__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_erf__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_erf"
+// call: "        casadi::MX ret = erf(x0_);"
+extern "C"
+casadi::MX*
+    casadi_erf__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_erf__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = erf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_erfinv" ===============
+// cppName: "casadi::casadi_erfinv"
+// cWrapperName: "casadi_erfinv__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_erfinv__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_erfinv"
+// call: "        double ret = casadi::erfinv(x0_);"
+extern "C"
+double
+    casadi_erfinv__0(std::string ** err_msg, double* x0);
+double
+    casadi_erfinv__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = casadi::erfinv(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_erfinv" ===============
+// cppName: "casadi::casadi_erfinv"
+// cWrapperName: "casadi_erfinv__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_erfinv__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_erfinv"
+// call: "        casadi::SX ret = erfinv(x0_);"
+extern "C"
+casadi::SX*
+    casadi_erfinv__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_erfinv__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = erfinv(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_erfinv" ===============
+// cppName: "casadi::casadi_erfinv"
+// cWrapperName: "casadi_erfinv__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_erfinv__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_erfinv"
+// call: "        casadi::DM ret = erfinv(x0_);"
+extern "C"
+casadi::DM*
+    casadi_erfinv__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_erfinv__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = erfinv(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_erfinv" ===============
+// cppName: "casadi::casadi_erfinv"
+// cWrapperName: "casadi_erfinv__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_erfinv__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_erfinv"
+// call: "        casadi::IM ret = erfinv(x0_);"
+extern "C"
+casadi::IM*
+    casadi_erfinv__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_erfinv__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = erfinv(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_erfinv" ===============
+// cppName: "casadi::casadi_erfinv"
+// cWrapperName: "casadi_erfinv__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_erfinv__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_erfinv"
+// call: "        casadi::MX ret = erfinv(x0_);"
+extern "C"
+casadi::MX*
+    casadi_erfinv__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_erfinv__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = erfinv(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_evalf" ===============
+// cppName: "casadi::casadi_evalf"
+// cWrapperName: "casadi_evalf__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_evalf__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_evalf"
+// call: "        casadi::DM ret = evalf(x0_);"
+extern "C"
+casadi::DM*
+    casadi_evalf__0(std::string ** err_msg, casadi::SX* x0);
+casadi::DM*
+    casadi_evalf__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::DM ret = evalf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_evalf" ===============
+// cppName: "casadi::casadi_evalf"
+// cWrapperName: "casadi_evalf__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_evalf__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_evalf"
+// call: "        casadi::DM ret = evalf(x0_);"
+extern "C"
+casadi::DM*
+    casadi_evalf__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_evalf__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = evalf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_evalf" ===============
+// cppName: "casadi::casadi_evalf"
+// cWrapperName: "casadi_evalf__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_evalf__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_evalf"
+// call: "        casadi::DM ret = evalf(x0_);"
+extern "C"
+casadi::DM*
+    casadi_evalf__2(std::string ** err_msg, casadi::IM* x0);
+casadi::DM*
+    casadi_evalf__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::DM ret = evalf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_evalf" ===============
+// cppName: "casadi::casadi_evalf"
+// cWrapperName: "casadi_evalf__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_evalf__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_evalf"
+// call: "        casadi::DM ret = evalf(x0_);"
+extern "C"
+casadi::DM*
+    casadi_evalf__3(std::string ** err_msg, casadi::MX* x0);
+casadi::DM*
+    casadi_evalf__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::DM ret = evalf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_exp" ===============
+// cppName: "casadi::casadi_exp"
+// cWrapperName: "casadi_exp__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_exp__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_exp"
+// call: "        double ret = exp(x0_);"
+extern "C"
+double
+    casadi_exp__0(std::string ** err_msg, double* x0);
+double
+    casadi_exp__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = exp(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_exp" ===============
+// cppName: "casadi::casadi_exp"
+// cWrapperName: "casadi_exp__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_exp__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_exp"
+// call: "        casadi::SX ret = exp(x0_);"
+extern "C"
+casadi::SX*
+    casadi_exp__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_exp__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = exp(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_exp" ===============
+// cppName: "casadi::casadi_exp"
+// cWrapperName: "casadi_exp__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_exp__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_exp"
+// call: "        casadi::DM ret = exp(x0_);"
+extern "C"
+casadi::DM*
+    casadi_exp__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_exp__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = exp(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_exp" ===============
+// cppName: "casadi::casadi_exp"
+// cWrapperName: "casadi_exp__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_exp__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_exp"
+// call: "        casadi::IM ret = exp(x0_);"
+extern "C"
+casadi::IM*
+    casadi_exp__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_exp__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = exp(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_exp" ===============
+// cppName: "casadi::casadi_exp"
+// cWrapperName: "casadi_exp__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_exp__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_exp"
+// call: "        casadi::MX ret = exp(x0_);"
+extern "C"
+casadi::MX*
+    casadi_exp__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_exp__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = exp(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_expand" ===============
+// cppName: "casadi::casadi_expand"
+// cWrapperName: "casadi_expand__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_expand__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// friendWrap: True
+// fName: "casadi_expand"
+// call: "        expand(x0_, x1_, x2_);"
+extern "C"
+void
+    casadi_expand__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+void
+    casadi_expand__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        expand(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_expand" ===============
+// cppName: "casadi::casadi_expand"
+// cWrapperName: "casadi_expand__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_expand__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// friendWrap: True
+// fName: "casadi_expand"
+// call: "        expand(x0_, x1_, x2_);"
+extern "C"
+void
+    casadi_expand__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
+void
+    casadi_expand__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        expand(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_expand" ===============
+// cppName: "casadi::casadi_expand"
+// cWrapperName: "casadi_expand__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_expand__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// friendWrap: True
+// fName: "casadi_expand"
+// call: "        expand(x0_, x1_, x2_);"
+extern "C"
+void
+    casadi_expand__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
+void
+    casadi_expand__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        expand(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_expm" ===============
+// cppName: "casadi::casadi_expm"
+// cWrapperName: "casadi_expm__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_expm__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_expm"
+// call: "        casadi::SX ret = expm(x0_);"
+extern "C"
+casadi::SX*
+    casadi_expm__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_expm__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = expm(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_expm" ===============
+// cppName: "casadi::casadi_expm"
+// cWrapperName: "casadi_expm__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_expm__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_expm"
+// call: "        casadi::DM ret = expm(x0_);"
+extern "C"
+casadi::DM*
+    casadi_expm__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_expm__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = expm(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_expm" ===============
+// cppName: "casadi::casadi_expm"
+// cWrapperName: "casadi_expm__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_expm__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_expm"
+// call: "        casadi::IM ret = expm(x0_);"
+extern "C"
+casadi::IM*
+    casadi_expm__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_expm__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = expm(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_expm" ===============
+// cppName: "casadi::casadi_expm"
+// cWrapperName: "casadi_expm__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_expm__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_expm"
+// call: "        casadi::MX ret = expm(x0_);"
+extern "C"
+casadi::MX*
+    casadi_expm__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_expm__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = expm(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_expm_const" ===============
+// cppName: "casadi::casadi_expm_const"
+// cWrapperName: "casadi_expm_const__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_expm_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_expm_const"
+// call: "        casadi::SX ret = expm_const(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_expm_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_expm_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = expm_const(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_expm_const" ===============
+// cppName: "casadi::casadi_expm_const"
+// cWrapperName: "casadi_expm_const__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_expm_const__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_expm_const"
+// call: "        casadi::DM ret = expm_const(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_expm_const__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_expm_const__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = expm_const(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_expm_const" ===============
+// cppName: "casadi::casadi_expm_const"
+// cWrapperName: "casadi_expm_const__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_expm_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_expm_const"
+// call: "        casadi::IM ret = expm_const(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_expm_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_expm_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = expm_const(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_expm_const" ===============
+// cppName: "casadi::casadi_expm_const"
+// cWrapperName: "casadi_expm_const__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_expm_const__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_expm_const"
+// call: "        casadi::MX ret = expm_const(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_expm_const__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_expm_const__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = expm_const(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_find" ===============
+// cppName: "casadi::casadi_find"
+// cWrapperName: "casadi_find"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_find(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_find"
+// call: "        casadi::MX ret = find(x0_);"
+extern "C"
+casadi::MX*
+    casadi_find(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_find(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = find(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_floor" ===============
+// cppName: "casadi::casadi_floor"
+// cWrapperName: "casadi_floor__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_floor__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_floor"
+// call: "        double ret = floor(x0_);"
+extern "C"
+double
+    casadi_floor__0(std::string ** err_msg, double* x0);
+double
+    casadi_floor__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = floor(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_floor" ===============
+// cppName: "casadi::casadi_floor"
+// cWrapperName: "casadi_floor__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_floor__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_floor"
+// call: "        casadi::SX ret = floor(x0_);"
+extern "C"
+casadi::SX*
+    casadi_floor__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_floor__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = floor(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_floor" ===============
+// cppName: "casadi::casadi_floor"
+// cWrapperName: "casadi_floor__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_floor__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_floor"
+// call: "        casadi::DM ret = floor(x0_);"
+extern "C"
+casadi::DM*
+    casadi_floor__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_floor__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = floor(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_floor" ===============
+// cppName: "casadi::casadi_floor"
+// cWrapperName: "casadi_floor__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_floor__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_floor"
+// call: "        casadi::IM ret = floor(x0_);"
+extern "C"
+casadi::IM*
+    casadi_floor__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_floor__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = floor(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_floor" ===============
+// cppName: "casadi::casadi_floor"
+// cWrapperName: "casadi_floor__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_floor__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_floor"
+// call: "        casadi::MX ret = floor(x0_);"
+extern "C"
+casadi::MX*
+    casadi_floor__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_floor__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = floor(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_fmax" ===============
+// cppName: "casadi::casadi_fmax"
+// cWrapperName: "casadi_fmax__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_fmax__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_fmax"
+// call: "        double ret = fmax(x0_, x1_);"
+extern "C"
+double
+    casadi_fmax__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_fmax__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = fmax(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_fmax" ===============
+// cppName: "casadi::casadi_fmax"
+// cWrapperName: "casadi_fmax__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_fmax__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_fmax"
+// call: "        casadi::SX ret = fmax(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_fmax__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_fmax__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = fmax(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_fmax" ===============
+// cppName: "casadi::casadi_fmax"
+// cWrapperName: "casadi_fmax__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_fmax__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_fmax"
+// call: "        casadi::DM ret = fmax(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_fmax__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_fmax__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = fmax(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_fmax" ===============
+// cppName: "casadi::casadi_fmax"
+// cWrapperName: "casadi_fmax__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_fmax__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_fmax"
+// call: "        casadi::IM ret = fmax(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_fmax__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_fmax__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = fmax(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_fmax" ===============
+// cppName: "casadi::casadi_fmax"
+// cWrapperName: "casadi_fmax__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_fmax__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_fmax"
+// call: "        casadi::MX ret = fmax(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_fmax__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_fmax__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = fmax(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_fmin" ===============
+// cppName: "casadi::casadi_fmin"
+// cWrapperName: "casadi_fmin__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_fmin__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_fmin"
+// call: "        double ret = fmin(x0_, x1_);"
+extern "C"
+double
+    casadi_fmin__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_fmin__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = fmin(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_fmin" ===============
+// cppName: "casadi::casadi_fmin"
+// cWrapperName: "casadi_fmin__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_fmin__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_fmin"
+// call: "        casadi::SX ret = fmin(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_fmin__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_fmin__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = fmin(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_fmin" ===============
+// cppName: "casadi::casadi_fmin"
+// cWrapperName: "casadi_fmin__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_fmin__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_fmin"
+// call: "        casadi::DM ret = fmin(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_fmin__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_fmin__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = fmin(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_fmin" ===============
+// cppName: "casadi::casadi_fmin"
+// cWrapperName: "casadi_fmin__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_fmin__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_fmin"
+// call: "        casadi::IM ret = fmin(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_fmin__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_fmin__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = fmin(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_fmin" ===============
+// cppName: "casadi::casadi_fmin"
+// cWrapperName: "casadi_fmin__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_fmin__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_fmin"
+// call: "        casadi::MX ret = fmin(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_fmin__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_fmin__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = fmin(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_forward" ===============
+// cppName: "casadi::casadi_forward"
+// cWrapperName: "casadi_forward__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
+// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_forward__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2)"
+// friendWrap: True
+// fName: "casadi_forward"
+// call: "        std::vector< std::vector< casadi::SX > > ret = forward(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_forward__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2);
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_forward__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
+
+        std::vector< std::vector< casadi::SX > > ret = forward(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_forward" ===============
+// cppName: "casadi::casadi_forward"
+// cWrapperName: "casadi_forward__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
+// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_forward__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: True
+// fName: "casadi_forward"
+// call: "        std::vector< std::vector< casadi::SX > > ret = forward(x0_, x1_, x2_, x3_);"
+extern "C"
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_forward__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_forward__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        std::vector< std::vector< casadi::SX > > ret = forward(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_forward" ===============
+// cppName: "casadi::casadi_forward"
+// cWrapperName: "casadi_forward__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
+// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_forward__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2)"
+// friendWrap: True
+// fName: "casadi_forward"
+// call: "        std::vector< std::vector< casadi::DM > > ret = forward(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_forward__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2);
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_forward__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
+        std::vector< std::vector< casadi::DM > > x2_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x2);
+
+        std::vector< std::vector< casadi::DM > > ret = forward(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_forward" ===============
+// cppName: "casadi::casadi_forward"
+// cWrapperName: "casadi_forward__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
+// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_forward__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: True
+// fName: "casadi_forward"
+// call: "        std::vector< std::vector< casadi::DM > > ret = forward(x0_, x1_, x2_, x3_);"
+extern "C"
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_forward__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_forward__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
+        std::vector< std::vector< casadi::DM > > x2_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        std::vector< std::vector< casadi::DM > > ret = forward(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_forward" ===============
+// cppName: "casadi::casadi_forward"
+// cWrapperName: "casadi_forward__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
+// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_forward__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2)"
+// friendWrap: True
+// fName: "casadi_forward"
+// call: "        std::vector< std::vector< casadi::IM > > ret = forward(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_forward__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2);
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_forward__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
+        std::vector< std::vector< casadi::IM > > x2_ = Marshaling<std::vector< std::vector< casadi::IM > >,std::vector< std::vector< casadi::IM* >* >*>::marshal(x2);
+
+        std::vector< std::vector< casadi::IM > > ret = forward(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_forward" ===============
+// cppName: "casadi::casadi_forward"
+// cWrapperName: "casadi_forward__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
+// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_forward__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: True
+// fName: "casadi_forward"
+// call: "        std::vector< std::vector< casadi::IM > > ret = forward(x0_, x1_, x2_, x3_);"
+extern "C"
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_forward__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_forward__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
+        std::vector< std::vector< casadi::IM > > x2_ = Marshaling<std::vector< std::vector< casadi::IM > >,std::vector< std::vector< casadi::IM* >* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        std::vector< std::vector< casadi::IM > > ret = forward(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_forward" ===============
+// cppName: "casadi::casadi_forward"
+// cWrapperName: "casadi_forward__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
+// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_forward__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2)"
+// friendWrap: True
+// fName: "casadi_forward"
+// call: "        std::vector< std::vector< casadi::MX > > ret = forward(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_forward__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2);
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_forward__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
+
+        std::vector< std::vector< casadi::MX > > ret = forward(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_forward" ===============
+// cppName: "casadi::casadi_forward"
+// cWrapperName: "casadi_forward__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
+// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_forward__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: True
+// fName: "casadi_forward"
+// call: "        std::vector< std::vector< casadi::MX > > ret = forward(x0_, x1_, x2_, x3_);"
+extern "C"
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_forward__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_forward__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        std::vector< std::vector< casadi::MX > > ret = forward(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gauss_quadrature" ===============
+// cppName: "casadi::casadi_gauss_quadrature"
+// cWrapperName: "casadi_gauss_quadrature__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4, casadi::SX* x5)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_gauss_quadrature__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4, casadi::SX* x5)"
+// friendWrap: True
+// fName: "casadi_gauss_quadrature"
+// call: "        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);"
+extern "C"
+casadi::SX*
+    casadi_gauss_quadrature__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4, casadi::SX* x5);
+casadi::SX*
+    casadi_gauss_quadrature__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4, casadi::SX* x5){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+        casadi::SX& x5_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x5);
+
+        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gauss_quadrature" ===============
+// cppName: "casadi::casadi_gauss_quadrature"
+// cWrapperName: "casadi_gauss_quadrature__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_gauss_quadrature__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
+// friendWrap: True
+// fName: "casadi_gauss_quadrature"
+// call: "        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::SX*
+    casadi_gauss_quadrature__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3);
+casadi::SX*
+    casadi_gauss_quadrature__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
+
+        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gauss_quadrature" ===============
+// cppName: "casadi::casadi_gauss_quadrature"
+// cWrapperName: "casadi_gauss_quadrature__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_gauss_quadrature__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4)"
+// friendWrap: True
+// fName: "casadi_gauss_quadrature"
+// call: "        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+casadi::SX*
+    casadi_gauss_quadrature__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4);
+casadi::SX*
+    casadi_gauss_quadrature__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+
+        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gauss_quadrature" ===============
+// cppName: "casadi::casadi_gauss_quadrature"
+// cWrapperName: "casadi_gauss_quadrature__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4, casadi::DM* x5)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_gauss_quadrature__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4, casadi::DM* x5)"
+// friendWrap: True
+// fName: "casadi_gauss_quadrature"
+// call: "        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);"
+extern "C"
+casadi::DM*
+    casadi_gauss_quadrature__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4, casadi::DM* x5);
+casadi::DM*
+    casadi_gauss_quadrature__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4, casadi::DM* x5){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+        casadi::DM& x5_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x5);
+
+        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gauss_quadrature" ===============
+// cppName: "casadi::casadi_gauss_quadrature"
+// cWrapperName: "casadi_gauss_quadrature__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_gauss_quadrature__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
+// friendWrap: True
+// fName: "casadi_gauss_quadrature"
+// call: "        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::DM*
+    casadi_gauss_quadrature__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3);
+casadi::DM*
+    casadi_gauss_quadrature__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
+
+        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gauss_quadrature" ===============
+// cppName: "casadi::casadi_gauss_quadrature"
+// cWrapperName: "casadi_gauss_quadrature__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_gauss_quadrature__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4)"
+// friendWrap: True
+// fName: "casadi_gauss_quadrature"
+// call: "        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+casadi::DM*
+    casadi_gauss_quadrature__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4);
+casadi::DM*
+    casadi_gauss_quadrature__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+
+        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gauss_quadrature" ===============
+// cppName: "casadi::casadi_gauss_quadrature"
+// cWrapperName: "casadi_gauss_quadrature__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4, casadi::IM* x5)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_gauss_quadrature__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4, casadi::IM* x5)"
+// friendWrap: True
+// fName: "casadi_gauss_quadrature"
+// call: "        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);"
+extern "C"
+casadi::IM*
+    casadi_gauss_quadrature__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4, casadi::IM* x5);
+casadi::IM*
+    casadi_gauss_quadrature__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4, casadi::IM* x5){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+        casadi::IM& x5_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x5);
+
+        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gauss_quadrature" ===============
+// cppName: "casadi::casadi_gauss_quadrature"
+// cWrapperName: "casadi_gauss_quadrature__7"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_gauss_quadrature__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
+// friendWrap: True
+// fName: "casadi_gauss_quadrature"
+// call: "        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::IM*
+    casadi_gauss_quadrature__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3);
+casadi::IM*
+    casadi_gauss_quadrature__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gauss_quadrature" ===============
+// cppName: "casadi::casadi_gauss_quadrature"
+// cWrapperName: "casadi_gauss_quadrature__8"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_gauss_quadrature__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4)"
+// friendWrap: True
+// fName: "casadi_gauss_quadrature"
+// call: "        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+casadi::IM*
+    casadi_gauss_quadrature__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4);
+casadi::IM*
+    casadi_gauss_quadrature__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+        long long x4_ = Marshaling<long long,long long>::marshal(x4);
+
+        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ge" ===============
+// cppName: "casadi::casadi_ge"
+// cWrapperName: "casadi_ge__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_ge__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_ge"
+// call: "        double ret = x0_ >= x1_;"
+extern "C"
+double
+    casadi_ge__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_ge__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = x0_ >= x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ge" ===============
+// cppName: "casadi::casadi_ge"
+// cWrapperName: "casadi_ge__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_ge__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_ge"
+// call: "        casadi::SX ret = x0_ >= x1_;"
+extern "C"
+casadi::SX*
+    casadi_ge__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_ge__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = x0_ >= x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ge" ===============
+// cppName: "casadi::casadi_ge"
+// cWrapperName: "casadi_ge__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_ge__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_ge"
+// call: "        casadi::DM ret = x0_ >= x1_;"
+extern "C"
+casadi::DM*
+    casadi_ge__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_ge__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = x0_ >= x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ge" ===============
+// cppName: "casadi::casadi_ge"
+// cWrapperName: "casadi_ge__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_ge__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_ge"
+// call: "        casadi::IM ret = x0_ >= x1_;"
+extern "C"
+casadi::IM*
+    casadi_ge__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_ge__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = x0_ >= x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ge" ===============
+// cppName: "casadi::casadi_ge"
+// cWrapperName: "casadi_ge__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_ge__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_ge"
+// call: "        casadi::MX ret = x0_ >= x1_;"
+extern "C"
+casadi::MX*
+    casadi_ge__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_ge__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = x0_ >= x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gradient" ===============
+// cppName: "casadi::casadi_gradient"
+// cWrapperName: "casadi_gradient__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_gradient__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_gradient"
+// call: "        casadi::SX ret = gradient(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_gradient__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_gradient__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = gradient(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gradient" ===============
+// cppName: "casadi::casadi_gradient"
+// cWrapperName: "casadi_gradient__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_gradient__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_gradient"
+// call: "        casadi::DM ret = gradient(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_gradient__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_gradient__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = gradient(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gradient" ===============
+// cppName: "casadi::casadi_gradient"
+// cWrapperName: "casadi_gradient__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_gradient__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_gradient"
+// call: "        casadi::IM ret = gradient(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_gradient__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_gradient__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = gradient(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gradient" ===============
+// cppName: "casadi::casadi_gradient"
+// cWrapperName: "casadi_gradient__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_gradient__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_gradient"
+// call: "        casadi::MX ret = gradient(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_gradient__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_gradient__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = gradient(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_graph_substitute" ===============
+// cppName: "casadi::casadi_graph_substitute"
+// cWrapperName: "casadi_graph_substitute__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_graph_substitute__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// friendWrap: True
+// fName: "casadi_graph_substitute"
+// call: "        std::vector< casadi::MX > ret = graph_substitute(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_graph_substitute__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
+std::vector< casadi::MX* >*
+    casadi_graph_substitute__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = graph_substitute(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_graph_substitute" ===============
+// cppName: "casadi::casadi_graph_substitute"
+// cWrapperName: "casadi_graph_substitute__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_graph_substitute__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// friendWrap: True
+// fName: "casadi_graph_substitute"
+// call: "        casadi::MX ret = graph_substitute(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_graph_substitute__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
+casadi::MX*
+    casadi_graph_substitute__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
+
+        casadi::MX ret = graph_substitute(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gt" ===============
+// cppName: "casadi::casadi_gt"
+// cWrapperName: "casadi_gt__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_gt__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_gt"
+// call: "        double ret = x0_ > x1_;"
+extern "C"
+double
+    casadi_gt__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_gt__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = x0_ > x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gt" ===============
+// cppName: "casadi::casadi_gt"
+// cWrapperName: "casadi_gt__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_gt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_gt"
+// call: "        casadi::SX ret = x0_ > x1_;"
+extern "C"
+casadi::SX*
+    casadi_gt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_gt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = x0_ > x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gt" ===============
+// cppName: "casadi::casadi_gt"
+// cWrapperName: "casadi_gt__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_gt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_gt"
+// call: "        casadi::DM ret = x0_ > x1_;"
+extern "C"
+casadi::DM*
+    casadi_gt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_gt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = x0_ > x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gt" ===============
+// cppName: "casadi::casadi_gt"
+// cWrapperName: "casadi_gt__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_gt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_gt"
+// call: "        casadi::IM ret = x0_ > x1_;"
+extern "C"
+casadi::IM*
+    casadi_gt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_gt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = x0_ > x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_gt" ===============
+// cppName: "casadi::casadi_gt"
+// cWrapperName: "casadi_gt__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_gt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_gt"
+// call: "        casadi::MX ret = x0_ > x1_;"
+extern "C"
+casadi::MX*
+    casadi_gt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_gt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = x0_ > x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_heaviside" ===============
+// cppName: "casadi::casadi_heaviside"
+// cWrapperName: "casadi_heaviside__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_heaviside__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_heaviside"
+// call: "        casadi::SX ret = heaviside(x0_);"
+extern "C"
+casadi::SX*
+    casadi_heaviside__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_heaviside__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = heaviside(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_heaviside" ===============
+// cppName: "casadi::casadi_heaviside"
+// cWrapperName: "casadi_heaviside__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_heaviside__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_heaviside"
+// call: "        casadi::DM ret = heaviside(x0_);"
+extern "C"
+casadi::DM*
+    casadi_heaviside__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_heaviside__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = heaviside(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_heaviside" ===============
+// cppName: "casadi::casadi_heaviside"
+// cWrapperName: "casadi_heaviside__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_heaviside__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_heaviside"
+// call: "        casadi::IM ret = heaviside(x0_);"
+extern "C"
+casadi::IM*
+    casadi_heaviside__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_heaviside__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = heaviside(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_hessian" ===============
+// cppName: "casadi::casadi_hessian"
+// cWrapperName: "casadi_hessian__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_hessian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// friendWrap: True
+// fName: "casadi_hessian"
+// call: "        casadi::SX ret = hessian(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_hessian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi_hessian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = hessian(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_hessian" ===============
+// cppName: "casadi::casadi_hessian"
+// cWrapperName: "casadi_hessian__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_hessian__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// friendWrap: True
+// fName: "casadi_hessian"
+// call: "        casadi::DM ret = hessian(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_hessian__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi_hessian__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = hessian(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_hessian" ===============
+// cppName: "casadi::casadi_hessian"
+// cWrapperName: "casadi_hessian__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_hessian__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// friendWrap: True
+// fName: "casadi_hessian"
+// call: "        casadi::IM ret = hessian(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_hessian__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi_hessian__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = hessian(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_hessian" ===============
+// cppName: "casadi::casadi_hessian"
+// cWrapperName: "casadi_hessian__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_hessian__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// friendWrap: True
+// fName: "casadi_hessian"
+// call: "        casadi::MX ret = hessian(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_hessian__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
+casadi::MX*
+    casadi_hessian__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+
+        casadi::MX ret = hessian(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzcat" ===============
+// cppName: "casadi::casadi_horzcat"
+// cWrapperName: "casadi_horzcat__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_horzcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// friendWrap: True
+// fName: "casadi_horzcat"
+// call: "        casadi::SX ret = horzcat(x0_);"
+extern "C"
+casadi::SX*
+    casadi_horzcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+casadi::SX*
+    casadi_horzcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        casadi::SX ret = horzcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzcat" ===============
+// cppName: "casadi::casadi_horzcat"
+// cWrapperName: "casadi_horzcat__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_horzcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
+// friendWrap: True
+// fName: "casadi_horzcat"
+// call: "        casadi::DM ret = horzcat(x0_);"
+extern "C"
+casadi::DM*
+    casadi_horzcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0);
+casadi::DM*
+    casadi_horzcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+
+        casadi::DM ret = horzcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzcat" ===============
+// cppName: "casadi::casadi_horzcat"
+// cWrapperName: "casadi_horzcat__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_horzcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
+// friendWrap: True
+// fName: "casadi_horzcat"
+// call: "        casadi::IM ret = horzcat(x0_);"
+extern "C"
+casadi::IM*
+    casadi_horzcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0);
+casadi::IM*
+    casadi_horzcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+
+        casadi::IM ret = horzcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzcat" ===============
+// cppName: "casadi::casadi_horzcat"
+// cWrapperName: "casadi_horzcat__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_horzcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// friendWrap: True
+// fName: "casadi_horzcat"
+// call: "        casadi::MX ret = horzcat(x0_);"
+extern "C"
+casadi::MX*
+    casadi_horzcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+casadi::MX*
+    casadi_horzcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        casadi::MX ret = horzcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzcat" ===============
+// cppName: "casadi::casadi_horzcat"
+// cWrapperName: "casadi_horzcat__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_horzcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// friendWrap: True
+// fName: "casadi_horzcat"
+// call: "        casadi::Sparsity ret = horzcat(x0_);"
+extern "C"
+casadi::Sparsity*
+    casadi_horzcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+casadi::Sparsity*
+    casadi_horzcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        casadi::Sparsity ret = horzcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi_horzsplit__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::SX > ret = horzsplit(x0_);"
+extern "C"
+std::vector< casadi::SX* >*
+    casadi_horzsplit__0(std::string ** err_msg, casadi::SX* x0);
+std::vector< casadi::SX* >*
+    casadi_horzsplit__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = horzsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi_horzsplit__1(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::SX > ret = horzsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::SX* >*
+    casadi_horzsplit__1(std::string ** err_msg, casadi::SX* x0, long long x1);
+std::vector< casadi::SX* >*
+    casadi_horzsplit__1(std::string ** err_msg, casadi::SX* x0, long long x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::SX > ret = horzsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi_horzsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::SX > ret = horzsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::SX* >*
+    casadi_horzsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1);
+std::vector< casadi::SX* >*
+    casadi_horzsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = horzsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi_horzsplit__3(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::DM > ret = horzsplit(x0_);"
+extern "C"
+std::vector< casadi::DM* >*
+    casadi_horzsplit__3(std::string ** err_msg, casadi::DM* x0);
+std::vector< casadi::DM* >*
+    casadi_horzsplit__3(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        std::vector< casadi::DM > ret = horzsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi_horzsplit__4(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::DM > ret = horzsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::DM* >*
+    casadi_horzsplit__4(std::string ** err_msg, casadi::DM* x0, long long x1);
+std::vector< casadi::DM* >*
+    casadi_horzsplit__4(std::string ** err_msg, casadi::DM* x0, long long x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::DM > ret = horzsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi_horzsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::DM > ret = horzsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::DM* >*
+    casadi_horzsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1);
+std::vector< casadi::DM* >*
+    casadi_horzsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::DM > ret = horzsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi_horzsplit__6(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::IM > ret = horzsplit(x0_);"
+extern "C"
+std::vector< casadi::IM* >*
+    casadi_horzsplit__6(std::string ** err_msg, casadi::IM* x0);
+std::vector< casadi::IM* >*
+    casadi_horzsplit__6(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        std::vector< casadi::IM > ret = horzsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__7"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi_horzsplit__7(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::IM > ret = horzsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::IM* >*
+    casadi_horzsplit__7(std::string ** err_msg, casadi::IM* x0, long long x1);
+std::vector< casadi::IM* >*
+    casadi_horzsplit__7(std::string ** err_msg, casadi::IM* x0, long long x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::IM > ret = horzsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__8"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi_horzsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::IM > ret = horzsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::IM* >*
+    casadi_horzsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1);
+std::vector< casadi::IM* >*
+    casadi_horzsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::IM > ret = horzsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__9"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_horzsplit__9(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::MX > ret = horzsplit(x0_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_horzsplit__9(std::string ** err_msg, casadi::MX* x0);
+std::vector< casadi::MX* >*
+    casadi_horzsplit__9(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = horzsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__10"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_horzsplit__10(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::MX > ret = horzsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_horzsplit__10(std::string ** err_msg, casadi::MX* x0, long long x1);
+std::vector< casadi::MX* >*
+    casadi_horzsplit__10(std::string ** err_msg, casadi::MX* x0, long long x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::MX > ret = horzsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__11"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_horzsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::MX > ret = horzsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_horzsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1);
+std::vector< casadi::MX* >*
+    casadi_horzsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = horzsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__12"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >*\n    casadi_horzsplit__12(std::string ** err_msg, casadi::Sparsity* x0)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::Sparsity > ret = horzsplit(x0_);"
+extern "C"
+std::vector< casadi::Sparsity* >*
+    casadi_horzsplit__12(std::string ** err_msg, casadi::Sparsity* x0);
+std::vector< casadi::Sparsity* >*
+    casadi_horzsplit__12(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = horzsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__13"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >*\n    casadi_horzsplit__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::Sparsity > ret = horzsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::Sparsity* >*
+    casadi_horzsplit__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1);
+std::vector< casadi::Sparsity* >*
+    casadi_horzsplit__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = horzsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_horzsplit" ===============
+// cppName: "casadi::casadi_horzsplit"
+// cWrapperName: "casadi_horzsplit__14"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >*\n    casadi_horzsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_horzsplit"
+// call: "        std::vector< casadi::Sparsity > ret = horzsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::Sparsity* >*
+    casadi_horzsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1);
+std::vector< casadi::Sparsity* >*
+    casadi_horzsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = horzsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_if_else" ===============
+// cppName: "casadi::casadi_if_else"
+// cWrapperName: "casadi_if_else__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_if_else__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// friendWrap: True
+// fName: "casadi_if_else"
+// call: "        casadi::SX ret = if_else(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_if_else__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi_if_else__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = if_else(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_if_else" ===============
+// cppName: "casadi::casadi_if_else"
+// cWrapperName: "casadi_if_else__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_if_else__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_if_else"
+// call: "        casadi::SX ret = if_else(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::SX*
+    casadi_if_else__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3);
+casadi::SX*
+    casadi_if_else__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::SX ret = if_else(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_if_else" ===============
+// cppName: "casadi::casadi_if_else"
+// cWrapperName: "casadi_if_else__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_if_else__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// friendWrap: True
+// fName: "casadi_if_else"
+// call: "        casadi::DM ret = if_else(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_if_else__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi_if_else__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = if_else(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_if_else" ===============
+// cppName: "casadi::casadi_if_else"
+// cWrapperName: "casadi_if_else__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_if_else__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_if_else"
+// call: "        casadi::DM ret = if_else(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::DM*
+    casadi_if_else__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3);
+casadi::DM*
+    casadi_if_else__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::DM ret = if_else(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_if_else" ===============
+// cppName: "casadi::casadi_if_else"
+// cWrapperName: "casadi_if_else__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_if_else__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// friendWrap: True
+// fName: "casadi_if_else"
+// call: "        casadi::IM ret = if_else(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_if_else__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi_if_else__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = if_else(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_if_else" ===============
+// cppName: "casadi::casadi_if_else"
+// cWrapperName: "casadi_if_else__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_if_else__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_if_else"
+// call: "        casadi::IM ret = if_else(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::IM*
+    casadi_if_else__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3);
+casadi::IM*
+    casadi_if_else__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::IM ret = if_else(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_if_else" ===============
+// cppName: "casadi::casadi_if_else"
+// cWrapperName: "casadi_if_else__6"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_if_else__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// friendWrap: True
+// fName: "casadi_if_else"
+// call: "        casadi::MX ret = if_else(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_if_else__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
+casadi::MX*
+    casadi_if_else__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+
+        casadi::MX ret = if_else(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_if_else" ===============
+// cppName: "casadi::casadi_if_else"
+// cWrapperName: "casadi_if_else__7"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_if_else__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_if_else"
+// call: "        casadi::MX ret = if_else(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::MX*
+    casadi_if_else__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3);
+casadi::MX*
+    casadi_if_else__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::MX ret = if_else(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv" ===============
+// cppName: "casadi::casadi_inv"
+// cWrapperName: "casadi_inv__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::string* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_inv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1)"
+// friendWrap: True
+// fName: "casadi_inv"
+// call: "        casadi::SX ret = inv(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_inv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1);
+casadi::SX*
+    casadi_inv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::SX ret = inv(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv" ===============
+// cppName: "casadi::casadi_inv"
+// cWrapperName: "casadi_inv__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_inv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: True
+// fName: "casadi_inv"
+// call: "        casadi::SX ret = inv(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_inv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::SX*
+    casadi_inv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::SX ret = inv(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv" ===============
+// cppName: "casadi::casadi_inv"
+// cWrapperName: "casadi_inv__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_inv__2(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_inv"
+// call: "        casadi::SX ret = inv(x0_);"
+extern "C"
+casadi::SX*
+    casadi_inv__2(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_inv__2(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = inv(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv" ===============
+// cppName: "casadi::casadi_inv"
+// cWrapperName: "casadi_inv__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::string* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_inv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1)"
+// friendWrap: True
+// fName: "casadi_inv"
+// call: "        casadi::DM ret = inv(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_inv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1);
+casadi::DM*
+    casadi_inv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::DM ret = inv(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv" ===============
+// cppName: "casadi::casadi_inv"
+// cWrapperName: "casadi_inv__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_inv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: True
+// fName: "casadi_inv"
+// call: "        casadi::DM ret = inv(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_inv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::DM*
+    casadi_inv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::DM ret = inv(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv" ===============
+// cppName: "casadi::casadi_inv"
+// cWrapperName: "casadi_inv__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_inv__5(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_inv"
+// call: "        casadi::DM ret = inv(x0_);"
+extern "C"
+casadi::DM*
+    casadi_inv__5(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_inv__5(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = inv(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv" ===============
+// cppName: "casadi::casadi_inv"
+// cWrapperName: "casadi_inv__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::string* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_inv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1)"
+// friendWrap: True
+// fName: "casadi_inv"
+// call: "        casadi::IM ret = inv(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_inv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1);
+casadi::IM*
+    casadi_inv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::IM ret = inv(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv" ===============
+// cppName: "casadi::casadi_inv"
+// cWrapperName: "casadi_inv__7"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_inv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: True
+// fName: "casadi_inv"
+// call: "        casadi::IM ret = inv(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_inv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::IM*
+    casadi_inv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::IM ret = inv(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv" ===============
+// cppName: "casadi::casadi_inv"
+// cWrapperName: "casadi_inv__8"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_inv__8(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_inv"
+// call: "        casadi::IM ret = inv(x0_);"
+extern "C"
+casadi::IM*
+    casadi_inv__8(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_inv__8(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = inv(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv" ===============
+// cppName: "casadi::casadi_inv"
+// cWrapperName: "casadi_inv__9"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::string* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_inv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1)"
+// friendWrap: True
+// fName: "casadi_inv"
+// call: "        casadi::MX ret = inv(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_inv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1);
+casadi::MX*
+    casadi_inv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::MX ret = inv(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv" ===============
+// cppName: "casadi::casadi_inv"
+// cWrapperName: "casadi_inv__10"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_inv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: True
+// fName: "casadi_inv"
+// call: "        casadi::MX ret = inv(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_inv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::MX*
+    casadi_inv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::MX ret = inv(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv" ===============
+// cppName: "casadi::casadi_inv"
+// cWrapperName: "casadi_inv__11"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_inv__11(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_inv"
+// call: "        casadi::MX ret = inv(x0_);"
+extern "C"
+casadi::MX*
+    casadi_inv__11(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_inv__11(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = inv(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv_minor" ===============
+// cppName: "casadi::casadi_inv_minor"
+// cWrapperName: "casadi_inv_minor__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_inv_minor__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_inv_minor"
+// call: "        casadi::SX ret = inv_minor(x0_);"
+extern "C"
+casadi::SX*
+    casadi_inv_minor__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_inv_minor__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = inv_minor(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv_minor" ===============
+// cppName: "casadi::casadi_inv_minor"
+// cWrapperName: "casadi_inv_minor__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_inv_minor__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_inv_minor"
+// call: "        casadi::DM ret = inv_minor(x0_);"
+extern "C"
+casadi::DM*
+    casadi_inv_minor__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_inv_minor__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = inv_minor(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv_minor" ===============
+// cppName: "casadi::casadi_inv_minor"
+// cWrapperName: "casadi_inv_minor__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_inv_minor__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_inv_minor"
+// call: "        casadi::IM ret = inv_minor(x0_);"
+extern "C"
+casadi::IM*
+    casadi_inv_minor__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_inv_minor__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = inv_minor(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv_minor" ===============
+// cppName: "casadi::casadi_inv_minor"
+// cWrapperName: "casadi_inv_minor__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_inv_minor__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_inv_minor"
+// call: "        casadi::MX ret = inv_minor(x0_);"
+extern "C"
+casadi::MX*
+    casadi_inv_minor__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_inv_minor__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = inv_minor(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv_node" ===============
+// cppName: "casadi::casadi_inv_node"
+// cWrapperName: "casadi_inv_node"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_inv_node(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_inv_node"
+// call: "        casadi::MX ret = inv_node(x0_);"
+extern "C"
+casadi::MX*
+    casadi_inv_node(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_inv_node(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = inv_node(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv_skew" ===============
+// cppName: "casadi::casadi_inv_skew"
+// cWrapperName: "casadi_inv_skew__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_inv_skew__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_inv_skew"
+// call: "        casadi::SX ret = inv_skew(x0_);"
+extern "C"
+casadi::SX*
+    casadi_inv_skew__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_inv_skew__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = inv_skew(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv_skew" ===============
+// cppName: "casadi::casadi_inv_skew"
+// cWrapperName: "casadi_inv_skew__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_inv_skew__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_inv_skew"
+// call: "        casadi::DM ret = inv_skew(x0_);"
+extern "C"
+casadi::DM*
+    casadi_inv_skew__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_inv_skew__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = inv_skew(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv_skew" ===============
+// cppName: "casadi::casadi_inv_skew"
+// cWrapperName: "casadi_inv_skew__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_inv_skew__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_inv_skew"
+// call: "        casadi::IM ret = inv_skew(x0_);"
+extern "C"
+casadi::IM*
+    casadi_inv_skew__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_inv_skew__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = inv_skew(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_inv_skew" ===============
+// cppName: "casadi::casadi_inv_skew"
+// cWrapperName: "casadi_inv_skew__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_inv_skew__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_inv_skew"
+// call: "        casadi::MX ret = inv_skew(x0_);"
+extern "C"
+casadi::MX*
+    casadi_inv_skew__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_inv_skew__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = inv_skew(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_equal" ===============
+// cppName: "casadi::casadi_is_equal"
+// cWrapperName: "casadi_is_equal__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_equal__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_is_equal"
+// call: "        bool ret = casadi::is_equal(x0_, x1_);"
+extern "C"
+int
+    casadi_is_equal__0(std::string ** err_msg, double* x0, double* x1);
+int
+    casadi_is_equal__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        bool ret = casadi::is_equal(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_equal" ===============
+// cppName: "casadi::casadi_is_equal"
+// cWrapperName: "casadi_is_equal__1"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1, long long x2)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_equal__1(std::string ** err_msg, double* x0, double* x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_is_equal"
+// call: "        bool ret = casadi::is_equal(x0_, x1_, x2_);"
+extern "C"
+int
+    casadi_is_equal__1(std::string ** err_msg, double* x0, double* x1, long long x2);
+int
+    casadi_is_equal__1(std::string ** err_msg, double* x0, double* x1, long long x2){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        bool ret = casadi::is_equal(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_equal" ===============
+// cppName: "casadi::casadi_is_equal"
+// cWrapperName: "casadi_is_equal__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_equal__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_is_equal"
+// call: "        bool ret = is_equal(x0_, x1_);"
+extern "C"
+int
+    casadi_is_equal__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+int
+    casadi_is_equal__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        bool ret = is_equal(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_equal" ===============
+// cppName: "casadi::casadi_is_equal"
+// cWrapperName: "casadi_is_equal__3"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_equal__3(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_is_equal"
+// call: "        bool ret = is_equal(x0_, x1_, x2_);"
+extern "C"
+int
+    casadi_is_equal__3(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2);
+int
+    casadi_is_equal__3(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        bool ret = is_equal(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_equal" ===============
+// cppName: "casadi::casadi_is_equal"
+// cWrapperName: "casadi_is_equal__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_equal__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_is_equal"
+// call: "        bool ret = is_equal(x0_, x1_);"
+extern "C"
+int
+    casadi_is_equal__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+int
+    casadi_is_equal__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        bool ret = is_equal(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_equal" ===============
+// cppName: "casadi::casadi_is_equal"
+// cWrapperName: "casadi_is_equal__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_equal__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_is_equal"
+// call: "        bool ret = is_equal(x0_, x1_, x2_);"
+extern "C"
+int
+    casadi_is_equal__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2);
+int
+    casadi_is_equal__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        bool ret = is_equal(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_equal" ===============
+// cppName: "casadi::casadi_is_equal"
+// cWrapperName: "casadi_is_equal__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_equal__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_is_equal"
+// call: "        bool ret = is_equal(x0_, x1_);"
+extern "C"
+int
+    casadi_is_equal__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+int
+    casadi_is_equal__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        bool ret = is_equal(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_equal" ===============
+// cppName: "casadi::casadi_is_equal"
+// cWrapperName: "casadi_is_equal__7"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_equal__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_is_equal"
+// call: "        bool ret = is_equal(x0_, x1_, x2_);"
+extern "C"
+int
+    casadi_is_equal__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2);
+int
+    casadi_is_equal__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        bool ret = is_equal(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_equal" ===============
+// cppName: "casadi::casadi_is_equal"
+// cWrapperName: "casadi_is_equal__8"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_equal__8(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_is_equal"
+// call: "        bool ret = is_equal(x0_, x1_);"
+extern "C"
+int
+    casadi_is_equal__8(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+int
+    casadi_is_equal__8(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        bool ret = is_equal(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_equal" ===============
+// cppName: "casadi::casadi_is_equal"
+// cWrapperName: "casadi_is_equal__9"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_equal__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_is_equal"
+// call: "        bool ret = is_equal(x0_, x1_, x2_);"
+extern "C"
+int
+    casadi_is_equal__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2);
+int
+    casadi_is_equal__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        bool ret = is_equal(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_linear" ===============
+// cppName: "casadi::casadi_is_linear"
+// cWrapperName: "casadi_is_linear__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_linear__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_is_linear"
+// call: "        bool ret = is_linear(x0_, x1_);"
+extern "C"
+int
+    casadi_is_linear__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+int
+    casadi_is_linear__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        bool ret = is_linear(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_linear" ===============
+// cppName: "casadi::casadi_is_linear"
+// cWrapperName: "casadi_is_linear__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_linear__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_is_linear"
+// call: "        bool ret = is_linear(x0_, x1_);"
+extern "C"
+int
+    casadi_is_linear__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+int
+    casadi_is_linear__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        bool ret = is_linear(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_linear" ===============
+// cppName: "casadi::casadi_is_linear"
+// cWrapperName: "casadi_is_linear__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_linear__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_is_linear"
+// call: "        bool ret = is_linear(x0_, x1_);"
+extern "C"
+int
+    casadi_is_linear__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+int
+    casadi_is_linear__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        bool ret = is_linear(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_linear" ===============
+// cppName: "casadi::casadi_is_linear"
+// cWrapperName: "casadi_is_linear__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_linear__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_is_linear"
+// call: "        bool ret = is_linear(x0_, x1_);"
+extern "C"
+int
+    casadi_is_linear__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+int
+    casadi_is_linear__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        bool ret = is_linear(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_quadratic" ===============
+// cppName: "casadi::casadi_is_quadratic"
+// cWrapperName: "casadi_is_quadratic__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_quadratic__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_is_quadratic"
+// call: "        bool ret = is_quadratic(x0_, x1_);"
+extern "C"
+int
+    casadi_is_quadratic__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+int
+    casadi_is_quadratic__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        bool ret = is_quadratic(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_quadratic" ===============
+// cppName: "casadi::casadi_is_quadratic"
+// cWrapperName: "casadi_is_quadratic__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_quadratic__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_is_quadratic"
+// call: "        bool ret = is_quadratic(x0_, x1_);"
+extern "C"
+int
+    casadi_is_quadratic__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+int
+    casadi_is_quadratic__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        bool ret = is_quadratic(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_quadratic" ===============
+// cppName: "casadi::casadi_is_quadratic"
+// cWrapperName: "casadi_is_quadratic__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_quadratic__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_is_quadratic"
+// call: "        bool ret = is_quadratic(x0_, x1_);"
+extern "C"
+int
+    casadi_is_quadratic__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+int
+    casadi_is_quadratic__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        bool ret = is_quadratic(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_is_quadratic" ===============
+// cppName: "casadi::casadi_is_quadratic"
+// cWrapperName: "casadi_is_quadratic__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    casadi_is_quadratic__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_is_quadratic"
+// call: "        bool ret = is_quadratic(x0_, x1_);"
+extern "C"
+int
+    casadi_is_quadratic__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+int
+    casadi_is_quadratic__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        bool ret = is_quadratic(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jacobian" ===============
+// cppName: "casadi::casadi_jacobian"
+// cWrapperName: "casadi_jacobian__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_jacobian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_jacobian"
+// call: "        casadi::SX ret = jacobian(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_jacobian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_jacobian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = jacobian(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jacobian" ===============
+// cppName: "casadi::casadi_jacobian"
+// cWrapperName: "casadi_jacobian__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_jacobian__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: True
+// fName: "casadi_jacobian"
+// call: "        casadi::SX ret = jacobian(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_jacobian__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::SX*
+    casadi_jacobian__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::SX ret = jacobian(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jacobian" ===============
+// cppName: "casadi::casadi_jacobian"
+// cWrapperName: "casadi_jacobian__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_jacobian__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_jacobian"
+// call: "        casadi::DM ret = jacobian(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_jacobian__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_jacobian__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = jacobian(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jacobian" ===============
+// cppName: "casadi::casadi_jacobian"
+// cWrapperName: "casadi_jacobian__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_jacobian__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: True
+// fName: "casadi_jacobian"
+// call: "        casadi::DM ret = jacobian(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_jacobian__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::DM*
+    casadi_jacobian__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::DM ret = jacobian(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jacobian" ===============
+// cppName: "casadi::casadi_jacobian"
+// cWrapperName: "casadi_jacobian__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_jacobian__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_jacobian"
+// call: "        casadi::IM ret = jacobian(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_jacobian__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_jacobian__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = jacobian(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jacobian" ===============
+// cppName: "casadi::casadi_jacobian"
+// cWrapperName: "casadi_jacobian__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_jacobian__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: True
+// fName: "casadi_jacobian"
+// call: "        casadi::IM ret = jacobian(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_jacobian__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::IM*
+    casadi_jacobian__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::IM ret = jacobian(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jacobian" ===============
+// cppName: "casadi::casadi_jacobian"
+// cWrapperName: "casadi_jacobian__6"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_jacobian__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_jacobian"
+// call: "        casadi::MX ret = jacobian(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_jacobian__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_jacobian__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = jacobian(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jacobian" ===============
+// cppName: "casadi::casadi_jacobian"
+// cWrapperName: "casadi_jacobian__7"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_jacobian__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: True
+// fName: "casadi_jacobian"
+// call: "        casadi::MX ret = jacobian(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_jacobian__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::MX*
+    casadi_jacobian__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::MX ret = jacobian(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jtimes" ===============
+// cppName: "casadi::casadi_jtimes"
+// cWrapperName: "casadi_jtimes__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_jtimes__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// friendWrap: True
+// fName: "casadi_jtimes"
+// call: "        casadi::SX ret = jtimes(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_jtimes__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi_jtimes__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = jtimes(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jtimes" ===============
+// cppName: "casadi::casadi_jtimes"
+// cWrapperName: "casadi_jtimes__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_jtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_jtimes"
+// call: "        casadi::SX ret = jtimes(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::SX*
+    casadi_jtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3);
+casadi::SX*
+    casadi_jtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::SX ret = jtimes(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jtimes" ===============
+// cppName: "casadi::casadi_jtimes"
+// cWrapperName: "casadi_jtimes__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_jtimes__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// friendWrap: True
+// fName: "casadi_jtimes"
+// call: "        casadi::DM ret = jtimes(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_jtimes__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi_jtimes__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = jtimes(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jtimes" ===============
+// cppName: "casadi::casadi_jtimes"
+// cWrapperName: "casadi_jtimes__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_jtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_jtimes"
+// call: "        casadi::DM ret = jtimes(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::DM*
+    casadi_jtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3);
+casadi::DM*
+    casadi_jtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::DM ret = jtimes(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jtimes" ===============
+// cppName: "casadi::casadi_jtimes"
+// cWrapperName: "casadi_jtimes__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_jtimes__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// friendWrap: True
+// fName: "casadi_jtimes"
+// call: "        casadi::IM ret = jtimes(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_jtimes__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi_jtimes__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = jtimes(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jtimes" ===============
+// cppName: "casadi::casadi_jtimes"
+// cWrapperName: "casadi_jtimes__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_jtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_jtimes"
+// call: "        casadi::IM ret = jtimes(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::IM*
+    casadi_jtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3);
+casadi::IM*
+    casadi_jtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::IM ret = jtimes(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jtimes" ===============
+// cppName: "casadi::casadi_jtimes"
+// cWrapperName: "casadi_jtimes__6"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_jtimes__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// friendWrap: True
+// fName: "casadi_jtimes"
+// call: "        casadi::MX ret = jtimes(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_jtimes__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
+casadi::MX*
+    casadi_jtimes__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+
+        casadi::MX ret = jtimes(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_jtimes" ===============
+// cppName: "casadi::casadi_jtimes"
+// cWrapperName: "casadi_jtimes__7"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_jtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_jtimes"
+// call: "        casadi::MX ret = jtimes(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::MX*
+    casadi_jtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3);
+casadi::MX*
+    casadi_jtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::MX ret = jtimes(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_kron" ===============
+// cppName: "casadi::casadi_kron"
+// cWrapperName: "casadi_kron__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_kron__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_kron"
+// call: "        casadi::SX ret = kron(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_kron__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_kron__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = kron(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_kron" ===============
+// cppName: "casadi::casadi_kron"
+// cWrapperName: "casadi_kron__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_kron__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_kron"
+// call: "        casadi::DM ret = kron(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_kron__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_kron__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = kron(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_kron" ===============
+// cppName: "casadi::casadi_kron"
+// cWrapperName: "casadi_kron__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_kron__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_kron"
+// call: "        casadi::IM ret = kron(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_kron__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_kron__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = kron(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_kron" ===============
+// cppName: "casadi::casadi_kron"
+// cWrapperName: "casadi_kron__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_kron__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_kron"
+// call: "        casadi::MX ret = kron(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_kron__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_kron__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = kron(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_kron" ===============
+// cppName: "casadi::casadi_kron"
+// cWrapperName: "casadi_kron__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_kron__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
+// friendWrap: True
+// fName: "casadi_kron"
+// call: "        casadi::Sparsity ret = kron(x0_, x1_);"
+extern "C"
+casadi::Sparsity*
+    casadi_kron__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1);
+casadi::Sparsity*
+    casadi_kron__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::Sparsity ret = kron(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ldivide" ===============
+// cppName: "casadi::casadi_ldivide"
+// cWrapperName: "casadi_ldivide__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_ldivide__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_ldivide"
+// call: "        double ret = x0_ / x1_;"
+extern "C"
+double
+    casadi_ldivide__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_ldivide__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = x0_ / x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ldivide" ===============
+// cppName: "casadi::casadi_ldivide"
+// cWrapperName: "casadi_ldivide__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_ldivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_ldivide"
+// call: "        casadi::SX ret = x0_ / x1_;"
+extern "C"
+casadi::SX*
+    casadi_ldivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_ldivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = x0_ / x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ldivide" ===============
+// cppName: "casadi::casadi_ldivide"
+// cWrapperName: "casadi_ldivide__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_ldivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_ldivide"
+// call: "        casadi::DM ret = x0_ / x1_;"
+extern "C"
+casadi::DM*
+    casadi_ldivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_ldivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = x0_ / x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ldivide" ===============
+// cppName: "casadi::casadi_ldivide"
+// cWrapperName: "casadi_ldivide__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_ldivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_ldivide"
+// call: "        casadi::IM ret = x0_ / x1_;"
+extern "C"
+casadi::IM*
+    casadi_ldivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_ldivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = x0_ / x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ldivide" ===============
+// cppName: "casadi::casadi_ldivide"
+// cWrapperName: "casadi_ldivide__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_ldivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_ldivide"
+// call: "        casadi::MX ret = x0_ / x1_;"
+extern "C"
+casadi::MX*
+    casadi_ldivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_ldivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = x0_ / x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ldl" ===============
+// cppName: "casadi::casadi_ldl"
+// cWrapperName: "casadi_ldl__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_ldl__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3)"
+// friendWrap: True
+// fName: "casadi_ldl"
+// call: "        ldl(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_ldl__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3);
+void
+    casadi_ldl__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        ldl(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_ldl" ===============
+// cppName: "casadi::casadi_ldl"
+// cWrapperName: "casadi_ldl__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3, int x4)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(CBool,SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_ldl__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3, int x4)"
+// friendWrap: True
+// fName: "casadi_ldl"
+// call: "        ldl(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+void
+    casadi_ldl__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3, int x4);
+void
+    casadi_ldl__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3, int x4){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        bool x4_ = Marshaling<bool,int>::marshal(x4);
+
+        ldl(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_ldl" ===============
+// cppName: "casadi::casadi_ldl"
+// cWrapperName: "casadi_ldl__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_ldl__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3)"
+// friendWrap: True
+// fName: "casadi_ldl"
+// call: "        ldl(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_ldl__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3);
+void
+    casadi_ldl__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        ldl(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_ldl" ===============
+// cppName: "casadi::casadi_ldl"
+// cWrapperName: "casadi_ldl__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3, int x4)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(CBool,SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_ldl__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3, int x4)"
+// friendWrap: True
+// fName: "casadi_ldl"
+// call: "        ldl(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+void
+    casadi_ldl__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3, int x4);
+void
+    casadi_ldl__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3, int x4){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        bool x4_ = Marshaling<bool,int>::marshal(x4);
+
+        ldl(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_ldl" ===============
+// cppName: "casadi::casadi_ldl"
+// cWrapperName: "casadi_ldl__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_ldl__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3)"
+// friendWrap: True
+// fName: "casadi_ldl"
+// call: "        ldl(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_ldl__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3);
+void
+    casadi_ldl__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        ldl(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_ldl" ===============
+// cppName: "casadi::casadi_ldl"
+// cWrapperName: "casadi_ldl__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3, int x4)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(CBool,SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_ldl__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3, int x4)"
+// friendWrap: True
+// fName: "casadi_ldl"
+// call: "        ldl(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+void
+    casadi_ldl__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3, int x4);
+void
+    casadi_ldl__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3, int x4){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+        bool x4_ = Marshaling<bool,int>::marshal(x4);
+
+        ldl(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_ldl_solve" ===============
+// cppName: "casadi::casadi_ldl_solve"
+// cWrapperName: "casadi_ldl_solve__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_ldl_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3)"
+// friendWrap: True
+// fName: "casadi_ldl_solve"
+// call: "        casadi::SX ret = ldl_solve(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::SX*
+    casadi_ldl_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3);
+casadi::SX*
+    casadi_ldl_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        casadi::SX ret = ldl_solve(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ldl_solve" ===============
+// cppName: "casadi::casadi_ldl_solve"
+// cWrapperName: "casadi_ldl_solve__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_ldl_solve__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3)"
+// friendWrap: True
+// fName: "casadi_ldl_solve"
+// call: "        casadi::DM ret = ldl_solve(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::DM*
+    casadi_ldl_solve__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3);
+casadi::DM*
+    casadi_ldl_solve__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        casadi::DM ret = ldl_solve(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ldl_solve" ===============
+// cppName: "casadi::casadi_ldl_solve"
+// cWrapperName: "casadi_ldl_solve__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_ldl_solve__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3)"
+// friendWrap: True
+// fName: "casadi_ldl_solve"
+// call: "        casadi::IM ret = ldl_solve(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::IM*
+    casadi_ldl_solve__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3);
+casadi::IM*
+    casadi_ldl_solve__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        casadi::IM ret = ldl_solve(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_le" ===============
+// cppName: "casadi::casadi_le"
+// cWrapperName: "casadi_le__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_le__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_le"
+// call: "        double ret = x0_ <= x1_;"
+extern "C"
+double
+    casadi_le__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_le__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = x0_ <= x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_le" ===============
+// cppName: "casadi::casadi_le"
+// cWrapperName: "casadi_le__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_le__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_le"
+// call: "        casadi::SX ret = x0_ <= x1_;"
+extern "C"
+casadi::SX*
+    casadi_le__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_le__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = x0_ <= x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_le" ===============
+// cppName: "casadi::casadi_le"
+// cWrapperName: "casadi_le__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_le__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_le"
+// call: "        casadi::DM ret = x0_ <= x1_;"
+extern "C"
+casadi::DM*
+    casadi_le__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_le__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = x0_ <= x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_le" ===============
+// cppName: "casadi::casadi_le"
+// cWrapperName: "casadi_le__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_le__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_le"
+// call: "        casadi::IM ret = x0_ <= x1_;"
+extern "C"
+casadi::IM*
+    casadi_le__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_le__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = x0_ <= x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_le" ===============
+// cppName: "casadi::casadi_le"
+// cWrapperName: "casadi_le__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_le__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_le"
+// call: "        casadi::MX ret = x0_ <= x1_;"
+extern "C"
+casadi::MX*
+    casadi_le__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_le__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = x0_ <= x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_linear_coeff" ===============
+// cppName: "casadi::casadi_linear_coeff"
+// cWrapperName: "casadi_linear_coeff__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_linear_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
+// friendWrap: True
+// fName: "casadi_linear_coeff"
+// call: "        linear_coeff(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_linear_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3);
+void
+    casadi_linear_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
+
+        linear_coeff(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_linear_coeff" ===============
+// cppName: "casadi::casadi_linear_coeff"
+// cWrapperName: "casadi_linear_coeff__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_linear_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
+// friendWrap: True
+// fName: "casadi_linear_coeff"
+// call: "        linear_coeff(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_linear_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3);
+void
+    casadi_linear_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
+
+        linear_coeff(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_linear_coeff" ===============
+// cppName: "casadi::casadi_linear_coeff"
+// cWrapperName: "casadi_linear_coeff__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_linear_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
+// friendWrap: True
+// fName: "casadi_linear_coeff"
+// call: "        linear_coeff(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_linear_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3);
+void
+    casadi_linear_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        linear_coeff(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_linear_coeff" ===============
+// cppName: "casadi::casadi_linear_coeff"
+// cWrapperName: "casadi_linear_coeff__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_linear_coeff__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
+// friendWrap: True
+// fName: "casadi_linear_coeff"
+// call: "        linear_coeff(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_linear_coeff__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3);
+void
+    casadi_linear_coeff__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+        casadi::MX& x3_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x3);
+
+        linear_coeff(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_linearize" ===============
+// cppName: "casadi::casadi_linearize"
+// cWrapperName: "casadi_linearize__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_linearize__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// friendWrap: True
+// fName: "casadi_linearize"
+// call: "        casadi::SX ret = linearize(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_linearize__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi_linearize__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = linearize(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_linearize" ===============
+// cppName: "casadi::casadi_linearize"
+// cWrapperName: "casadi_linearize__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_linearize__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// friendWrap: True
+// fName: "casadi_linearize"
+// call: "        casadi::DM ret = linearize(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_linearize__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi_linearize__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = linearize(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_linearize" ===============
+// cppName: "casadi::casadi_linearize"
+// cWrapperName: "casadi_linearize__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_linearize__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// friendWrap: True
+// fName: "casadi_linearize"
+// call: "        casadi::IM ret = linearize(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_linearize__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi_linearize__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = linearize(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_linearize" ===============
+// cppName: "casadi::casadi_linearize"
+// cWrapperName: "casadi_linearize__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_linearize__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// friendWrap: True
+// fName: "casadi_linearize"
+// call: "        casadi::MX ret = linearize(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_linearize__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
+casadi::MX*
+    casadi_linearize__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+
+        casadi::MX ret = linearize(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_linspace" ===============
+// cppName: "casadi::casadi_linspace"
+// cWrapperName: "casadi_linspace__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_linspace__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_linspace"
+// call: "        casadi::SX ret = linspace(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_linspace__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2);
+casadi::SX*
+    casadi_linspace__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::SX ret = linspace(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_linspace" ===============
+// cppName: "casadi::casadi_linspace"
+// cWrapperName: "casadi_linspace__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_linspace__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_linspace"
+// call: "        casadi::DM ret = linspace(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_linspace__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2);
+casadi::DM*
+    casadi_linspace__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::DM ret = linspace(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_linspace" ===============
+// cppName: "casadi::casadi_linspace"
+// cWrapperName: "casadi_linspace__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_linspace__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_linspace"
+// call: "        casadi::IM ret = linspace(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_linspace__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2);
+casadi::IM*
+    casadi_linspace__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::IM ret = linspace(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_linspace" ===============
+// cppName: "casadi::casadi_linspace"
+// cWrapperName: "casadi_linspace__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_linspace__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_linspace"
+// call: "        casadi::MX ret = linspace(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_linspace__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2);
+casadi::MX*
+    casadi_linspace__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::MX ret = linspace(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_log" ===============
+// cppName: "casadi::casadi_log"
+// cWrapperName: "casadi_log__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_log__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_log"
+// call: "        double ret = log(x0_);"
+extern "C"
+double
+    casadi_log__0(std::string ** err_msg, double* x0);
+double
+    casadi_log__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = log(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_log" ===============
+// cppName: "casadi::casadi_log"
+// cWrapperName: "casadi_log__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_log__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_log"
+// call: "        casadi::SX ret = log(x0_);"
+extern "C"
+casadi::SX*
+    casadi_log__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_log__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = log(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_log" ===============
+// cppName: "casadi::casadi_log"
+// cWrapperName: "casadi_log__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_log__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_log"
+// call: "        casadi::DM ret = log(x0_);"
+extern "C"
+casadi::DM*
+    casadi_log__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_log__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = log(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_log" ===============
+// cppName: "casadi::casadi_log"
+// cWrapperName: "casadi_log__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_log__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_log"
+// call: "        casadi::IM ret = log(x0_);"
+extern "C"
+casadi::IM*
+    casadi_log__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_log__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = log(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_log" ===============
+// cppName: "casadi::casadi_log"
+// cWrapperName: "casadi_log__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_log__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_log"
+// call: "        casadi::MX ret = log(x0_);"
+extern "C"
+casadi::MX*
+    casadi_log__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_log__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = log(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_log10" ===============
+// cppName: "casadi::casadi_log10"
+// cWrapperName: "casadi_log10__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_log10__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_log10"
+// call: "        double ret = log10(x0_);"
+extern "C"
+double
+    casadi_log10__0(std::string ** err_msg, double* x0);
+double
+    casadi_log10__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = log10(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_log10" ===============
+// cppName: "casadi::casadi_log10"
+// cWrapperName: "casadi_log10__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_log10__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_log10"
+// call: "        casadi::SX ret = log10(x0_);"
+extern "C"
+casadi::SX*
+    casadi_log10__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_log10__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = log10(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_log10" ===============
+// cppName: "casadi::casadi_log10"
+// cWrapperName: "casadi_log10__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_log10__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_log10"
+// call: "        casadi::DM ret = log10(x0_);"
+extern "C"
+casadi::DM*
+    casadi_log10__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_log10__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = log10(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_log10" ===============
+// cppName: "casadi::casadi_log10"
+// cWrapperName: "casadi_log10__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_log10__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_log10"
+// call: "        casadi::IM ret = log10(x0_);"
+extern "C"
+casadi::IM*
+    casadi_log10__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_log10__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = log10(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_log10" ===============
+// cppName: "casadi::casadi_log10"
+// cWrapperName: "casadi_log10__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_log10__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_log10"
+// call: "        casadi::MX ret = log10(x0_);"
+extern "C"
+casadi::MX*
+    casadi_log10__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_log10__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = log10(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_lt" ===============
+// cppName: "casadi::casadi_lt"
+// cWrapperName: "casadi_lt__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_lt__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_lt"
+// call: "        double ret = x0_ < x1_;"
+extern "C"
+double
+    casadi_lt__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_lt__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = x0_ < x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_lt" ===============
+// cppName: "casadi::casadi_lt"
+// cWrapperName: "casadi_lt__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_lt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_lt"
+// call: "        casadi::SX ret = x0_ < x1_;"
+extern "C"
+casadi::SX*
+    casadi_lt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_lt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = x0_ < x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_lt" ===============
+// cppName: "casadi::casadi_lt"
+// cWrapperName: "casadi_lt__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_lt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_lt"
+// call: "        casadi::DM ret = x0_ < x1_;"
+extern "C"
+casadi::DM*
+    casadi_lt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_lt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = x0_ < x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_lt" ===============
+// cppName: "casadi::casadi_lt"
+// cWrapperName: "casadi_lt__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_lt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_lt"
+// call: "        casadi::IM ret = x0_ < x1_;"
+extern "C"
+casadi::IM*
+    casadi_lt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_lt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = x0_ < x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_lt" ===============
+// cppName: "casadi::casadi_lt"
+// cWrapperName: "casadi_lt__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_lt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_lt"
+// call: "        casadi::MX ret = x0_ < x1_;"
+extern "C"
+casadi::MX*
+    casadi_lt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_lt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = x0_ < x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mac" ===============
+// cppName: "casadi::casadi_mac"
+// cWrapperName: "casadi_mac__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_mac__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// friendWrap: True
+// fName: "casadi_mac"
+// call: "        casadi::SX ret = mac(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_mac__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi_mac__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = mac(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mac" ===============
+// cppName: "casadi::casadi_mac"
+// cWrapperName: "casadi_mac__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_mac__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// friendWrap: True
+// fName: "casadi_mac"
+// call: "        casadi::DM ret = mac(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_mac__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi_mac__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = mac(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mac" ===============
+// cppName: "casadi::casadi_mac"
+// cWrapperName: "casadi_mac__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_mac__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// friendWrap: True
+// fName: "casadi_mac"
+// call: "        casadi::IM ret = mac(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_mac__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi_mac__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = mac(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mac" ===============
+// cppName: "casadi::casadi_mac"
+// cWrapperName: "casadi_mac__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_mac__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// friendWrap: True
+// fName: "casadi_mac"
+// call: "        casadi::MX ret = mac(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_mac__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
+casadi::MX*
+    casadi_mac__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+
+        casadi::MX ret = mac(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mac" ===============
+// cppName: "casadi::casadi_mac"
+// cWrapperName: "casadi_mac__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_mac__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2)"
+// friendWrap: True
+// fName: "casadi_mac"
+// call: "        casadi::Sparsity ret = mac(x0_, x1_, x2_);"
+extern "C"
+casadi::Sparsity*
+    casadi_mac__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2);
+casadi::Sparsity*
+    casadi_mac__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
+
+        casadi::Sparsity ret = mac(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_matrix_expand" ===============
+// cppName: "casadi::casadi_matrix_expand"
+// cWrapperName: "casadi_matrix_expand__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_matrix_expand__0(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_matrix_expand"
+// call: "        casadi::MX ret = matrix_expand(x0_);"
+extern "C"
+casadi::MX*
+    casadi_matrix_expand__0(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_matrix_expand__0(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = matrix_expand(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_matrix_expand" ===============
+// cppName: "casadi::casadi_matrix_expand"
+// cWrapperName: "casadi_matrix_expand__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_matrix_expand__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
+// friendWrap: True
+// fName: "casadi_matrix_expand"
+// call: "        casadi::MX ret = matrix_expand(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_matrix_expand__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1);
+casadi::MX*
+    casadi_matrix_expand__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+
+        casadi::MX ret = matrix_expand(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_matrix_expand" ===============
+// cppName: "casadi::casadi_matrix_expand"
+// cWrapperName: "casadi_matrix_expand__2"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_matrix_expand__2(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: True
+// fName: "casadi_matrix_expand"
+// call: "        casadi::MX ret = matrix_expand(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_matrix_expand__2(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::MX*
+    casadi_matrix_expand__2(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::MX ret = matrix_expand(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_matrix_expand" ===============
+// cppName: "casadi::casadi_matrix_expand"
+// cWrapperName: "casadi_matrix_expand__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_matrix_expand__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// friendWrap: True
+// fName: "casadi_matrix_expand"
+// call: "        std::vector< casadi::MX > ret = matrix_expand(x0_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_matrix_expand__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >*
+    casadi_matrix_expand__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = matrix_expand(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_matrix_expand" ===============
+// cppName: "casadi::casadi_matrix_expand"
+// cWrapperName: "casadi_matrix_expand__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_matrix_expand__4(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1)"
+// friendWrap: True
+// fName: "casadi_matrix_expand"
+// call: "        std::vector< casadi::MX > ret = matrix_expand(x0_, x1_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_matrix_expand__4(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1);
+std::vector< casadi::MX* >*
+    casadi_matrix_expand__4(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = matrix_expand(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_matrix_expand" ===============
+// cppName: "casadi::casadi_matrix_expand"
+// cWrapperName: "casadi_matrix_expand__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_matrix_expand__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: True
+// fName: "casadi_matrix_expand"
+// call: "        std::vector< casadi::MX > ret = matrix_expand(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_matrix_expand__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2);
+std::vector< casadi::MX* >*
+    casadi_matrix_expand__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = matrix_expand(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_minor" ===============
+// cppName: "casadi::casadi_minor"
+// cWrapperName: "casadi_minor__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_minor__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_minor"
+// call: "        casadi::SX ret = minor(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_minor__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
+casadi::SX*
+    casadi_minor__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::SX ret = minor(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_minor" ===============
+// cppName: "casadi::casadi_minor"
+// cWrapperName: "casadi_minor__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_minor__1(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_minor"
+// call: "        casadi::DM ret = minor(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_minor__1(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
+casadi::DM*
+    casadi_minor__1(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::DM ret = minor(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_minor" ===============
+// cppName: "casadi::casadi_minor"
+// cWrapperName: "casadi_minor__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_minor__2(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_minor"
+// call: "        casadi::IM ret = minor(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_minor__2(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
+casadi::IM*
+    casadi_minor__2(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::IM ret = minor(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_minus" ===============
+// cppName: "casadi::casadi_minus"
+// cWrapperName: "casadi_minus__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_minus__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_minus"
+// call: "        double ret = x0_ - x1_;"
+extern "C"
+double
+    casadi_minus__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_minus__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = x0_ - x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_minus" ===============
+// cppName: "casadi::casadi_minus"
+// cWrapperName: "casadi_minus__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_minus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_minus"
+// call: "        casadi::SX ret = x0_ - x1_;"
+extern "C"
+casadi::SX*
+    casadi_minus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_minus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = x0_ - x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_minus" ===============
+// cppName: "casadi::casadi_minus"
+// cWrapperName: "casadi_minus__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_minus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_minus"
+// call: "        casadi::DM ret = x0_ - x1_;"
+extern "C"
+casadi::DM*
+    casadi_minus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_minus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = x0_ - x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_minus" ===============
+// cppName: "casadi::casadi_minus"
+// cWrapperName: "casadi_minus__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_minus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_minus"
+// call: "        casadi::IM ret = x0_ - x1_;"
+extern "C"
+casadi::IM*
+    casadi_minus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_minus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = x0_ - x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_minus" ===============
+// cppName: "casadi::casadi_minus"
+// cWrapperName: "casadi_minus__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_minus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_minus"
+// call: "        casadi::MX ret = x0_ - x1_;"
+extern "C"
+casadi::MX*
+    casadi_minus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_minus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = x0_ - x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mldivide" ===============
+// cppName: "casadi::casadi_mldivide"
+// cWrapperName: "casadi_mldivide__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_mldivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_mldivide"
+// call: "        casadi::SX ret = mldivide(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_mldivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_mldivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = mldivide(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mldivide" ===============
+// cppName: "casadi::casadi_mldivide"
+// cWrapperName: "casadi_mldivide__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_mldivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_mldivide"
+// call: "        casadi::DM ret = mldivide(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_mldivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_mldivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = mldivide(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mldivide" ===============
+// cppName: "casadi::casadi_mldivide"
+// cWrapperName: "casadi_mldivide__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_mldivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_mldivide"
+// call: "        casadi::IM ret = mldivide(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_mldivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_mldivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = mldivide(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mldivide" ===============
+// cppName: "casadi::casadi_mldivide"
+// cWrapperName: "casadi_mldivide__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_mldivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_mldivide"
+// call: "        casadi::MX ret = mldivide(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_mldivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_mldivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = mldivide(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mmax" ===============
+// cppName: "casadi::casadi_mmax"
+// cWrapperName: "casadi_mmax__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_mmax__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_mmax"
+// call: "        casadi::SX ret = mmax(x0_);"
+extern "C"
+casadi::SX*
+    casadi_mmax__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_mmax__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = mmax(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mmax" ===============
+// cppName: "casadi::casadi_mmax"
+// cWrapperName: "casadi_mmax__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_mmax__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_mmax"
+// call: "        casadi::DM ret = mmax(x0_);"
+extern "C"
+casadi::DM*
+    casadi_mmax__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_mmax__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = mmax(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mmax" ===============
+// cppName: "casadi::casadi_mmax"
+// cWrapperName: "casadi_mmax__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_mmax__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_mmax"
+// call: "        casadi::IM ret = mmax(x0_);"
+extern "C"
+casadi::IM*
+    casadi_mmax__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_mmax__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = mmax(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mmax" ===============
+// cppName: "casadi::casadi_mmax"
+// cWrapperName: "casadi_mmax__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_mmax__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_mmax"
+// call: "        casadi::MX ret = mmax(x0_);"
+extern "C"
+casadi::MX*
+    casadi_mmax__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_mmax__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = mmax(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mmin" ===============
+// cppName: "casadi::casadi_mmin"
+// cWrapperName: "casadi_mmin__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_mmin__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_mmin"
+// call: "        casadi::SX ret = mmin(x0_);"
+extern "C"
+casadi::SX*
+    casadi_mmin__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_mmin__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = mmin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mmin" ===============
+// cppName: "casadi::casadi_mmin"
+// cWrapperName: "casadi_mmin__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_mmin__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_mmin"
+// call: "        casadi::DM ret = mmin(x0_);"
+extern "C"
+casadi::DM*
+    casadi_mmin__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_mmin__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = mmin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mmin" ===============
+// cppName: "casadi::casadi_mmin"
+// cWrapperName: "casadi_mmin__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_mmin__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_mmin"
+// call: "        casadi::IM ret = mmin(x0_);"
+extern "C"
+casadi::IM*
+    casadi_mmin__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_mmin__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = mmin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mmin" ===============
+// cppName: "casadi::casadi_mmin"
+// cWrapperName: "casadi_mmin__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_mmin__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_mmin"
+// call: "        casadi::MX ret = mmin(x0_);"
+extern "C"
+casadi::MX*
+    casadi_mmin__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_mmin__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = mmin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mod" ===============
+// cppName: "casadi::casadi_mod"
+// cWrapperName: "casadi_mod__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_mod__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_mod"
+// call: "        double ret = fmod(x0_, x1_);"
+extern "C"
+double
+    casadi_mod__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_mod__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = fmod(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mod" ===============
+// cppName: "casadi::casadi_mod"
+// cWrapperName: "casadi_mod__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_mod__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_mod"
+// call: "        casadi::SX ret = fmod(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_mod__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_mod__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = fmod(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mod" ===============
+// cppName: "casadi::casadi_mod"
+// cWrapperName: "casadi_mod__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_mod__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_mod"
+// call: "        casadi::DM ret = fmod(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_mod__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_mod__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = fmod(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mod" ===============
+// cppName: "casadi::casadi_mod"
+// cWrapperName: "casadi_mod__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_mod__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_mod"
+// call: "        casadi::IM ret = fmod(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_mod__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_mod__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = fmod(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mod" ===============
+// cppName: "casadi::casadi_mod"
+// cWrapperName: "casadi_mod__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_mod__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_mod"
+// call: "        casadi::MX ret = fmod(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_mod__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_mod__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = fmod(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mpower" ===============
+// cppName: "casadi::casadi_mpower"
+// cWrapperName: "casadi_mpower__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_mpower__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_mpower"
+// call: "        casadi::SX ret = mpower(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_mpower__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_mpower__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = mpower(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mpower" ===============
+// cppName: "casadi::casadi_mpower"
+// cWrapperName: "casadi_mpower__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_mpower__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_mpower"
+// call: "        casadi::DM ret = mpower(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_mpower__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_mpower__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = mpower(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mpower" ===============
+// cppName: "casadi::casadi_mpower"
+// cWrapperName: "casadi_mpower__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_mpower__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_mpower"
+// call: "        casadi::IM ret = mpower(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_mpower__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_mpower__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = mpower(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mpower" ===============
+// cppName: "casadi::casadi_mpower"
+// cWrapperName: "casadi_mpower__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_mpower__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_mpower"
+// call: "        casadi::MX ret = mpower(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_mpower__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_mpower__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = mpower(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mrdivide" ===============
+// cppName: "casadi::casadi_mrdivide"
+// cWrapperName: "casadi_mrdivide__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_mrdivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_mrdivide"
+// call: "        casadi::SX ret = mrdivide(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_mrdivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_mrdivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = mrdivide(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mrdivide" ===============
+// cppName: "casadi::casadi_mrdivide"
+// cWrapperName: "casadi_mrdivide__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_mrdivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_mrdivide"
+// call: "        casadi::DM ret = mrdivide(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_mrdivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_mrdivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = mrdivide(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mrdivide" ===============
+// cppName: "casadi::casadi_mrdivide"
+// cWrapperName: "casadi_mrdivide__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_mrdivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_mrdivide"
+// call: "        casadi::IM ret = mrdivide(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_mrdivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_mrdivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = mrdivide(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mrdivide" ===============
+// cppName: "casadi::casadi_mrdivide"
+// cWrapperName: "casadi_mrdivide__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_mrdivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_mrdivide"
+// call: "        casadi::MX ret = mrdivide(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_mrdivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_mrdivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = mrdivide(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtaylor" ===============
+// cppName: "casadi::casadi_mtaylor"
+// cWrapperName: "casadi_mtaylor__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3, std::vector< long long >* x4)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_mtaylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3, std::vector< long long >* x4)"
+// friendWrap: True
+// fName: "casadi_mtaylor"
+// call: "        casadi::SX ret = mtaylor(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+casadi::SX*
+    casadi_mtaylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3, std::vector< long long >* x4);
+casadi::SX*
+    casadi_mtaylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3, std::vector< long long >* x4){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+
+        casadi::SX ret = mtaylor(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtaylor" ===============
+// cppName: "casadi::casadi_mtaylor"
+// cWrapperName: "casadi_mtaylor__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_mtaylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// friendWrap: True
+// fName: "casadi_mtaylor"
+// call: "        casadi::SX ret = mtaylor(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_mtaylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi_mtaylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = mtaylor(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtaylor" ===============
+// cppName: "casadi::casadi_mtaylor"
+// cWrapperName: "casadi_mtaylor__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_mtaylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3)"
+// friendWrap: True
+// fName: "casadi_mtaylor"
+// call: "        casadi::SX ret = mtaylor(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::SX*
+    casadi_mtaylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3);
+casadi::SX*
+    casadi_mtaylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        casadi::SX ret = mtaylor(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtaylor" ===============
+// cppName: "casadi::casadi_mtaylor"
+// cWrapperName: "casadi_mtaylor__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3, std::vector< long long >* x4)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_mtaylor__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3, std::vector< long long >* x4)"
+// friendWrap: True
+// fName: "casadi_mtaylor"
+// call: "        casadi::DM ret = mtaylor(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+casadi::DM*
+    casadi_mtaylor__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3, std::vector< long long >* x4);
+casadi::DM*
+    casadi_mtaylor__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3, std::vector< long long >* x4){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+
+        casadi::DM ret = mtaylor(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtaylor" ===============
+// cppName: "casadi::casadi_mtaylor"
+// cWrapperName: "casadi_mtaylor__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_mtaylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// friendWrap: True
+// fName: "casadi_mtaylor"
+// call: "        casadi::DM ret = mtaylor(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_mtaylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi_mtaylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = mtaylor(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtaylor" ===============
+// cppName: "casadi::casadi_mtaylor"
+// cWrapperName: "casadi_mtaylor__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_mtaylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3)"
+// friendWrap: True
+// fName: "casadi_mtaylor"
+// call: "        casadi::DM ret = mtaylor(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::DM*
+    casadi_mtaylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3);
+casadi::DM*
+    casadi_mtaylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        casadi::DM ret = mtaylor(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtaylor" ===============
+// cppName: "casadi::casadi_mtaylor"
+// cWrapperName: "casadi_mtaylor__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3, std::vector< long long >* x4)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_mtaylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3, std::vector< long long >* x4)"
+// friendWrap: True
+// fName: "casadi_mtaylor"
+// call: "        casadi::IM ret = mtaylor(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+casadi::IM*
+    casadi_mtaylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3, std::vector< long long >* x4);
+casadi::IM*
+    casadi_mtaylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3, std::vector< long long >* x4){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+
+        casadi::IM ret = mtaylor(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtaylor" ===============
+// cppName: "casadi::casadi_mtaylor"
+// cWrapperName: "casadi_mtaylor__7"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_mtaylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// friendWrap: True
+// fName: "casadi_mtaylor"
+// call: "        casadi::IM ret = mtaylor(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_mtaylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi_mtaylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = mtaylor(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtaylor" ===============
+// cppName: "casadi::casadi_mtaylor"
+// cWrapperName: "casadi_mtaylor__8"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_mtaylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3)"
+// friendWrap: True
+// fName: "casadi_mtaylor"
+// call: "        casadi::IM ret = mtaylor(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::IM*
+    casadi_mtaylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3);
+casadi::IM*
+    casadi_mtaylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        casadi::IM ret = mtaylor(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtimes" ===============
+// cppName: "casadi::casadi_mtimes"
+// cWrapperName: "casadi_mtimes__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_mtimes__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// friendWrap: True
+// fName: "casadi_mtimes"
+// call: "        casadi::SX ret = mtimes(x0_);"
+extern "C"
+casadi::SX*
+    casadi_mtimes__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+casadi::SX*
+    casadi_mtimes__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        casadi::SX ret = mtimes(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtimes" ===============
+// cppName: "casadi::casadi_mtimes"
+// cWrapperName: "casadi_mtimes__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_mtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_mtimes"
+// call: "        casadi::SX ret = mtimes(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_mtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_mtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = mtimes(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtimes" ===============
+// cppName: "casadi::casadi_mtimes"
+// cWrapperName: "casadi_mtimes__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_mtimes__2(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
+// friendWrap: True
+// fName: "casadi_mtimes"
+// call: "        casadi::DM ret = mtimes(x0_);"
+extern "C"
+casadi::DM*
+    casadi_mtimes__2(std::string ** err_msg, std::vector< casadi::DM* >* x0);
+casadi::DM*
+    casadi_mtimes__2(std::string ** err_msg, std::vector< casadi::DM* >* x0){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+
+        casadi::DM ret = mtimes(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtimes" ===============
+// cppName: "casadi::casadi_mtimes"
+// cWrapperName: "casadi_mtimes__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_mtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_mtimes"
+// call: "        casadi::DM ret = mtimes(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_mtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_mtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = mtimes(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtimes" ===============
+// cppName: "casadi::casadi_mtimes"
+// cWrapperName: "casadi_mtimes__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_mtimes__4(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
+// friendWrap: True
+// fName: "casadi_mtimes"
+// call: "        casadi::IM ret = mtimes(x0_);"
+extern "C"
+casadi::IM*
+    casadi_mtimes__4(std::string ** err_msg, std::vector< casadi::IM* >* x0);
+casadi::IM*
+    casadi_mtimes__4(std::string ** err_msg, std::vector< casadi::IM* >* x0){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+
+        casadi::IM ret = mtimes(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtimes" ===============
+// cppName: "casadi::casadi_mtimes"
+// cWrapperName: "casadi_mtimes__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_mtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_mtimes"
+// call: "        casadi::IM ret = mtimes(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_mtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_mtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = mtimes(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtimes" ===============
+// cppName: "casadi::casadi_mtimes"
+// cWrapperName: "casadi_mtimes__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_mtimes__6(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// friendWrap: True
+// fName: "casadi_mtimes"
+// call: "        casadi::MX ret = mtimes(x0_);"
+extern "C"
+casadi::MX*
+    casadi_mtimes__6(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+casadi::MX*
+    casadi_mtimes__6(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        casadi::MX ret = mtimes(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtimes" ===============
+// cppName: "casadi::casadi_mtimes"
+// cWrapperName: "casadi_mtimes__7"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_mtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_mtimes"
+// call: "        casadi::MX ret = mtimes(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_mtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_mtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = mtimes(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtimes" ===============
+// cppName: "casadi::casadi_mtimes"
+// cWrapperName: "casadi_mtimes__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_mtimes__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// friendWrap: True
+// fName: "casadi_mtimes"
+// call: "        casadi::Sparsity ret = mtimes(x0_);"
+extern "C"
+casadi::Sparsity*
+    casadi_mtimes__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+casadi::Sparsity*
+    casadi_mtimes__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        casadi::Sparsity ret = mtimes(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_mtimes" ===============
+// cppName: "casadi::casadi_mtimes"
+// cWrapperName: "casadi_mtimes__9"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_mtimes__9(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
+// friendWrap: True
+// fName: "casadi_mtimes"
+// call: "        casadi::Sparsity ret = mtimes(x0_, x1_);"
+extern "C"
+casadi::Sparsity*
+    casadi_mtimes__9(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1);
+casadi::Sparsity*
+    casadi_mtimes__9(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::Sparsity ret = mtimes(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_n_nodes" ===============
+// cppName: "casadi::casadi_n_nodes"
+// cWrapperName: "casadi_n_nodes__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi_n_nodes__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_n_nodes"
+// call: "        long long ret = n_nodes(x0_);"
+extern "C"
+long long
+    casadi_n_nodes__0(std::string ** err_msg, casadi::SX* x0);
+long long
+    casadi_n_nodes__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        long long ret = n_nodes(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_n_nodes" ===============
+// cppName: "casadi::casadi_n_nodes"
+// cWrapperName: "casadi_n_nodes__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi_n_nodes__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_n_nodes"
+// call: "        long long ret = n_nodes(x0_);"
+extern "C"
+long long
+    casadi_n_nodes__1(std::string ** err_msg, casadi::DM* x0);
+long long
+    casadi_n_nodes__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        long long ret = n_nodes(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_n_nodes" ===============
+// cppName: "casadi::casadi_n_nodes"
+// cWrapperName: "casadi_n_nodes__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi_n_nodes__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_n_nodes"
+// call: "        long long ret = n_nodes(x0_);"
+extern "C"
+long long
+    casadi_n_nodes__2(std::string ** err_msg, casadi::IM* x0);
+long long
+    casadi_n_nodes__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        long long ret = n_nodes(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_n_nodes" ===============
+// cppName: "casadi::casadi_n_nodes"
+// cWrapperName: "casadi_n_nodes__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi_n_nodes__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_n_nodes"
+// call: "        long long ret = n_nodes(x0_);"
+extern "C"
+long long
+    casadi_n_nodes__3(std::string ** err_msg, casadi::MX* x0);
+long long
+    casadi_n_nodes__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        long long ret = n_nodes(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ne" ===============
+// cppName: "casadi::casadi_ne"
+// cWrapperName: "casadi_ne__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_ne__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_ne"
+// call: "        double ret = x0_ != x1_;"
+extern "C"
+double
+    casadi_ne__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_ne__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = x0_ != x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ne" ===============
+// cppName: "casadi::casadi_ne"
+// cWrapperName: "casadi_ne__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_ne__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_ne"
+// call: "        casadi::SX ret = x0_ != x1_;"
+extern "C"
+casadi::SX*
+    casadi_ne__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_ne__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = x0_ != x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ne" ===============
+// cppName: "casadi::casadi_ne"
+// cWrapperName: "casadi_ne__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_ne__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_ne"
+// call: "        casadi::DM ret = x0_ != x1_;"
+extern "C"
+casadi::DM*
+    casadi_ne__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_ne__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = x0_ != x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ne" ===============
+// cppName: "casadi::casadi_ne"
+// cWrapperName: "casadi_ne__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_ne__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_ne"
+// call: "        casadi::IM ret = x0_ != x1_;"
+extern "C"
+casadi::IM*
+    casadi_ne__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_ne__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = x0_ != x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ne" ===============
+// cppName: "casadi::casadi_ne"
+// cWrapperName: "casadi_ne__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_ne__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_ne"
+// call: "        casadi::MX ret = x0_ != x1_;"
+extern "C"
+casadi::MX*
+    casadi_ne__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_ne__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = x0_ != x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_0_mul" ===============
+// cppName: "casadi::casadi_norm_0_mul"
+// cWrapperName: "casadi_norm_0_mul__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: CLongLong
+// args: "(x0_, x1_)"
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi_norm_0_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_norm_0_mul"
+// call: "        long long ret = norm_0_mul(x0_, x1_);"
+extern "C"
+long long
+    casadi_norm_0_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+long long
+    casadi_norm_0_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        long long ret = norm_0_mul(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_0_mul" ===============
+// cppName: "casadi::casadi_norm_0_mul"
+// cWrapperName: "casadi_norm_0_mul__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: CLongLong
+// args: "(x0_, x1_)"
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi_norm_0_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_norm_0_mul"
+// call: "        long long ret = norm_0_mul(x0_, x1_);"
+extern "C"
+long long
+    casadi_norm_0_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+long long
+    casadi_norm_0_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        long long ret = norm_0_mul(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_0_mul" ===============
+// cppName: "casadi::casadi_norm_0_mul"
+// cWrapperName: "casadi_norm_0_mul__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: CLongLong
+// args: "(x0_, x1_)"
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi_norm_0_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_norm_0_mul"
+// call: "        long long ret = norm_0_mul(x0_, x1_);"
+extern "C"
+long long
+    casadi_norm_0_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+long long
+    casadi_norm_0_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        long long ret = norm_0_mul(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_0_mul" ===============
+// cppName: "casadi::casadi_norm_0_mul"
+// cWrapperName: "casadi_norm_0_mul__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: CLongLong
+// args: "(x0_, x1_)"
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi_norm_0_mul__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_norm_0_mul"
+// call: "        long long ret = norm_0_mul(x0_, x1_);"
+extern "C"
+long long
+    casadi_norm_0_mul__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+long long
+    casadi_norm_0_mul__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        long long ret = norm_0_mul(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_0_mul" ===============
+// cppName: "casadi::casadi_norm_0_mul"
+// cWrapperName: "casadi_norm_0_mul__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: CLongLong
+// args: "(x0_, x1_)"
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi_norm_0_mul__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
+// friendWrap: True
+// fName: "casadi_norm_0_mul"
+// call: "        long long ret = norm_0_mul(x0_, x1_);"
+extern "C"
+long long
+    casadi_norm_0_mul__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1);
+long long
+    casadi_norm_0_mul__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        long long ret = norm_0_mul(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_1" ===============
+// cppName: "casadi::casadi_norm_1"
+// cWrapperName: "casadi_norm_1__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_norm_1__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_norm_1"
+// call: "        casadi::SX ret = norm_1(x0_);"
+extern "C"
+casadi::SX*
+    casadi_norm_1__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_norm_1__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = norm_1(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_1" ===============
+// cppName: "casadi::casadi_norm_1"
+// cWrapperName: "casadi_norm_1__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_norm_1__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_norm_1"
+// call: "        casadi::DM ret = norm_1(x0_);"
+extern "C"
+casadi::DM*
+    casadi_norm_1__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_norm_1__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = norm_1(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_1" ===============
+// cppName: "casadi::casadi_norm_1"
+// cWrapperName: "casadi_norm_1__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_norm_1__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_norm_1"
+// call: "        casadi::IM ret = norm_1(x0_);"
+extern "C"
+casadi::IM*
+    casadi_norm_1__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_norm_1__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = norm_1(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_1" ===============
+// cppName: "casadi::casadi_norm_1"
+// cWrapperName: "casadi_norm_1__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_norm_1__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_norm_1"
+// call: "        casadi::MX ret = norm_1(x0_);"
+extern "C"
+casadi::MX*
+    casadi_norm_1__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_norm_1__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = norm_1(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_2" ===============
+// cppName: "casadi::casadi_norm_2"
+// cWrapperName: "casadi_norm_2__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_norm_2__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_norm_2"
+// call: "        casadi::SX ret = norm_2(x0_);"
+extern "C"
+casadi::SX*
+    casadi_norm_2__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_norm_2__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = norm_2(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_2" ===============
+// cppName: "casadi::casadi_norm_2"
+// cWrapperName: "casadi_norm_2__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_norm_2__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_norm_2"
+// call: "        casadi::DM ret = norm_2(x0_);"
+extern "C"
+casadi::DM*
+    casadi_norm_2__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_norm_2__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = norm_2(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_2" ===============
+// cppName: "casadi::casadi_norm_2"
+// cWrapperName: "casadi_norm_2__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_norm_2__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_norm_2"
+// call: "        casadi::IM ret = norm_2(x0_);"
+extern "C"
+casadi::IM*
+    casadi_norm_2__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_norm_2__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = norm_2(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_2" ===============
+// cppName: "casadi::casadi_norm_2"
+// cWrapperName: "casadi_norm_2__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_norm_2__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_norm_2"
+// call: "        casadi::MX ret = norm_2(x0_);"
+extern "C"
+casadi::MX*
+    casadi_norm_2__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_norm_2__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = norm_2(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_fro" ===============
+// cppName: "casadi::casadi_norm_fro"
+// cWrapperName: "casadi_norm_fro__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_norm_fro__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_norm_fro"
+// call: "        casadi::SX ret = norm_fro(x0_);"
+extern "C"
+casadi::SX*
+    casadi_norm_fro__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_norm_fro__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = norm_fro(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_fro" ===============
+// cppName: "casadi::casadi_norm_fro"
+// cWrapperName: "casadi_norm_fro__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_norm_fro__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_norm_fro"
+// call: "        casadi::DM ret = norm_fro(x0_);"
+extern "C"
+casadi::DM*
+    casadi_norm_fro__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_norm_fro__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = norm_fro(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_fro" ===============
+// cppName: "casadi::casadi_norm_fro"
+// cWrapperName: "casadi_norm_fro__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_norm_fro__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_norm_fro"
+// call: "        casadi::IM ret = norm_fro(x0_);"
+extern "C"
+casadi::IM*
+    casadi_norm_fro__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_norm_fro__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = norm_fro(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_fro" ===============
+// cppName: "casadi::casadi_norm_fro"
+// cWrapperName: "casadi_norm_fro__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_norm_fro__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_norm_fro"
+// call: "        casadi::MX ret = norm_fro(x0_);"
+extern "C"
+casadi::MX*
+    casadi_norm_fro__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_norm_fro__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = norm_fro(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_inf" ===============
+// cppName: "casadi::casadi_norm_inf"
+// cWrapperName: "casadi_norm_inf__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_norm_inf__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_norm_inf"
+// call: "        casadi::SX ret = norm_inf(x0_);"
+extern "C"
+casadi::SX*
+    casadi_norm_inf__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_norm_inf__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = norm_inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_inf" ===============
+// cppName: "casadi::casadi_norm_inf"
+// cWrapperName: "casadi_norm_inf__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_norm_inf__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_norm_inf"
+// call: "        casadi::DM ret = norm_inf(x0_);"
+extern "C"
+casadi::DM*
+    casadi_norm_inf__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_norm_inf__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = norm_inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_inf" ===============
+// cppName: "casadi::casadi_norm_inf"
+// cWrapperName: "casadi_norm_inf__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_norm_inf__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_norm_inf"
+// call: "        casadi::IM ret = norm_inf(x0_);"
+extern "C"
+casadi::IM*
+    casadi_norm_inf__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_norm_inf__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = norm_inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_inf" ===============
+// cppName: "casadi::casadi_norm_inf"
+// cWrapperName: "casadi_norm_inf__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_norm_inf__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_norm_inf"
+// call: "        casadi::MX ret = norm_inf(x0_);"
+extern "C"
+casadi::MX*
+    casadi_norm_inf__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_norm_inf__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = norm_inf(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_inf_mul" ===============
+// cppName: "casadi::casadi_norm_inf_mul"
+// cWrapperName: "casadi_norm_inf_mul__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_norm_inf_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_norm_inf_mul"
+// call: "        casadi::SX ret = norm_inf_mul(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_norm_inf_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_norm_inf_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = norm_inf_mul(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_inf_mul" ===============
+// cppName: "casadi::casadi_norm_inf_mul"
+// cWrapperName: "casadi_norm_inf_mul__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_norm_inf_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_norm_inf_mul"
+// call: "        casadi::DM ret = norm_inf_mul(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_norm_inf_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_norm_inf_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = norm_inf_mul(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_norm_inf_mul" ===============
+// cppName: "casadi::casadi_norm_inf_mul"
+// cWrapperName: "casadi_norm_inf_mul__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_norm_inf_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_norm_inf_mul"
+// call: "        casadi::IM ret = norm_inf_mul(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_norm_inf_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_norm_inf_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = norm_inf_mul(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_not" ===============
+// cppName: "casadi::casadi_not"
+// cWrapperName: "casadi_not__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_not__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_not"
+// call: "        double ret = !x0_;"
+extern "C"
+double
+    casadi_not__0(std::string ** err_msg, double* x0);
+double
+    casadi_not__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = !x0_;
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_not" ===============
+// cppName: "casadi::casadi_not"
+// cWrapperName: "casadi_not__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_not__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_not"
+// call: "        casadi::SX ret = !x0_;"
+extern "C"
+casadi::SX*
+    casadi_not__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_not__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = !x0_;
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_not" ===============
+// cppName: "casadi::casadi_not"
+// cWrapperName: "casadi_not__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_not__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_not"
+// call: "        casadi::DM ret = !x0_;"
+extern "C"
+casadi::DM*
+    casadi_not__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_not__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = !x0_;
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_not" ===============
+// cppName: "casadi::casadi_not"
+// cWrapperName: "casadi_not__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_not__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_not"
+// call: "        casadi::IM ret = !x0_;"
+extern "C"
+casadi::IM*
+    casadi_not__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_not__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = !x0_;
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_not" ===============
+// cppName: "casadi::casadi_not"
+// cWrapperName: "casadi_not__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_not__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_not"
+// call: "        casadi::MX ret = !x0_;"
+extern "C"
+casadi::MX*
+    casadi_not__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_not__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = !x0_;
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_nullspace" ===============
+// cppName: "casadi::casadi_nullspace"
+// cWrapperName: "casadi_nullspace__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_nullspace__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_nullspace"
+// call: "        casadi::SX ret = nullspace(x0_);"
+extern "C"
+casadi::SX*
+    casadi_nullspace__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_nullspace__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = nullspace(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_nullspace" ===============
+// cppName: "casadi::casadi_nullspace"
+// cWrapperName: "casadi_nullspace__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_nullspace__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_nullspace"
+// call: "        casadi::DM ret = nullspace(x0_);"
+extern "C"
+casadi::DM*
+    casadi_nullspace__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_nullspace__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = nullspace(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_nullspace" ===============
+// cppName: "casadi::casadi_nullspace"
+// cWrapperName: "casadi_nullspace__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_nullspace__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_nullspace"
+// call: "        casadi::IM ret = nullspace(x0_);"
+extern "C"
+casadi::IM*
+    casadi_nullspace__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_nullspace__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = nullspace(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_nullspace" ===============
+// cppName: "casadi::casadi_nullspace"
+// cWrapperName: "casadi_nullspace__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_nullspace__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_nullspace"
+// call: "        casadi::MX ret = nullspace(x0_);"
+extern "C"
+casadi::MX*
+    casadi_nullspace__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_nullspace__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = nullspace(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_offset" ===============
+// cppName: "casadi::casadi_offset"
+// cWrapperName: "casadi_offset__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
+// retType: StdVec CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi_offset__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// friendWrap: True
+// fName: "casadi_offset"
+// call: "        std::vector< long long > ret = offset(x0_);"
+extern "C"
+std::vector< long long >*
+    casadi_offset__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< long long >*
+    casadi_offset__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< long long > ret = offset(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_offset" ===============
+// cppName: "casadi::casadi_offset"
+// cWrapperName: "casadi_offset__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, int x1)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: StdVec CLongLong
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi_offset__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_offset"
+// call: "        std::vector< long long > ret = offset(x0_, x1_);"
+extern "C"
+std::vector< long long >*
+    casadi_offset__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, int x1);
+std::vector< long long >*
+    casadi_offset__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, int x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        std::vector< long long > ret = offset(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_offset" ===============
+// cppName: "casadi::casadi_offset"
+// cWrapperName: "casadi_offset__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
+// retType: StdVec CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi_offset__2(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
+// friendWrap: True
+// fName: "casadi_offset"
+// call: "        std::vector< long long > ret = offset(x0_);"
+extern "C"
+std::vector< long long >*
+    casadi_offset__2(std::string ** err_msg, std::vector< casadi::DM* >* x0);
+std::vector< long long >*
+    casadi_offset__2(std::string ** err_msg, std::vector< casadi::DM* >* x0){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+
+        std::vector< long long > ret = offset(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_offset" ===============
+// cppName: "casadi::casadi_offset"
+// cWrapperName: "casadi_offset__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, int x1)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: StdVec CLongLong
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi_offset__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_offset"
+// call: "        std::vector< long long > ret = offset(x0_, x1_);"
+extern "C"
+std::vector< long long >*
+    casadi_offset__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, int x1);
+std::vector< long long >*
+    casadi_offset__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, int x1){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        std::vector< long long > ret = offset(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_offset" ===============
+// cppName: "casadi::casadi_offset"
+// cWrapperName: "casadi_offset__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
+// retType: StdVec CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi_offset__4(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
+// friendWrap: True
+// fName: "casadi_offset"
+// call: "        std::vector< long long > ret = offset(x0_);"
+extern "C"
+std::vector< long long >*
+    casadi_offset__4(std::string ** err_msg, std::vector< casadi::IM* >* x0);
+std::vector< long long >*
+    casadi_offset__4(std::string ** err_msg, std::vector< casadi::IM* >* x0){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+
+        std::vector< long long > ret = offset(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_offset" ===============
+// cppName: "casadi::casadi_offset"
+// cWrapperName: "casadi_offset__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, int x1)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: StdVec CLongLong
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi_offset__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_offset"
+// call: "        std::vector< long long > ret = offset(x0_, x1_);"
+extern "C"
+std::vector< long long >*
+    casadi_offset__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, int x1);
+std::vector< long long >*
+    casadi_offset__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, int x1){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        std::vector< long long > ret = offset(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_offset" ===============
+// cppName: "casadi::casadi_offset"
+// cWrapperName: "casadi_offset__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: StdVec CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi_offset__6(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// friendWrap: True
+// fName: "casadi_offset"
+// call: "        std::vector< long long > ret = offset(x0_);"
+extern "C"
+std::vector< long long >*
+    casadi_offset__6(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< long long >*
+    casadi_offset__6(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< long long > ret = offset(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_offset" ===============
+// cppName: "casadi::casadi_offset"
+// cWrapperName: "casadi_offset__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, int x1)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: StdVec CLongLong
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi_offset__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_offset"
+// call: "        std::vector< long long > ret = offset(x0_, x1_);"
+extern "C"
+std::vector< long long >*
+    casadi_offset__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, int x1);
+std::vector< long long >*
+    casadi_offset__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, int x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        std::vector< long long > ret = offset(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_offset" ===============
+// cppName: "casadi::casadi_offset"
+// cWrapperName: "casadi_offset__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
+// retType: StdVec CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi_offset__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// friendWrap: True
+// fName: "casadi_offset"
+// call: "        std::vector< long long > ret = offset(x0_);"
+extern "C"
+std::vector< long long >*
+    casadi_offset__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< long long >*
+    casadi_offset__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< long long > ret = offset(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_offset" ===============
+// cppName: "casadi::casadi_offset"
+// cWrapperName: "casadi_offset__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, int x1)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: StdVec CLongLong
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    casadi_offset__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_offset"
+// call: "        std::vector< long long > ret = offset(x0_, x1_);"
+extern "C"
+std::vector< long long >*
+    casadi_offset__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, int x1);
+std::vector< long long >*
+    casadi_offset__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, int x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        std::vector< long long > ret = offset(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_or" ===============
+// cppName: "casadi::casadi_or"
+// cWrapperName: "casadi_or__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_or__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_or"
+// call: "        double ret = x0_ || x1_;"
+extern "C"
+double
+    casadi_or__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_or__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = x0_ || x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_or" ===============
+// cppName: "casadi::casadi_or"
+// cWrapperName: "casadi_or__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_or__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_or"
+// call: "        casadi::SX ret = x0_ || x1_;"
+extern "C"
+casadi::SX*
+    casadi_or__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_or__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = x0_ || x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_or" ===============
+// cppName: "casadi::casadi_or"
+// cWrapperName: "casadi_or__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_or__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_or"
+// call: "        casadi::DM ret = x0_ || x1_;"
+extern "C"
+casadi::DM*
+    casadi_or__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_or__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = x0_ || x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_or" ===============
+// cppName: "casadi::casadi_or"
+// cWrapperName: "casadi_or__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_or__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_or"
+// call: "        casadi::IM ret = x0_ || x1_;"
+extern "C"
+casadi::IM*
+    casadi_or__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_or__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = x0_ || x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_or" ===============
+// cppName: "casadi::casadi_or"
+// cWrapperName: "casadi_or__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_or__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_or"
+// call: "        casadi::MX ret = x0_ || x1_;"
+extern "C"
+casadi::MX*
+    casadi_or__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_or__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = x0_ || x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pinv" ===============
+// cppName: "casadi::casadi_pinv"
+// cWrapperName: "casadi_pinv__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::string* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_pinv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1)"
+// friendWrap: True
+// fName: "casadi_pinv"
+// call: "        casadi::SX ret = pinv(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_pinv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1);
+casadi::SX*
+    casadi_pinv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::SX ret = pinv(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pinv" ===============
+// cppName: "casadi::casadi_pinv"
+// cWrapperName: "casadi_pinv__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_pinv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: True
+// fName: "casadi_pinv"
+// call: "        casadi::SX ret = pinv(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_pinv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::SX*
+    casadi_pinv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::SX ret = pinv(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pinv" ===============
+// cppName: "casadi::casadi_pinv"
+// cWrapperName: "casadi_pinv__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_pinv__2(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_pinv"
+// call: "        casadi::SX ret = pinv(x0_);"
+extern "C"
+casadi::SX*
+    casadi_pinv__2(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_pinv__2(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = pinv(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pinv" ===============
+// cppName: "casadi::casadi_pinv"
+// cWrapperName: "casadi_pinv__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::string* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_pinv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1)"
+// friendWrap: True
+// fName: "casadi_pinv"
+// call: "        casadi::DM ret = pinv(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_pinv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1);
+casadi::DM*
+    casadi_pinv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::DM ret = pinv(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pinv" ===============
+// cppName: "casadi::casadi_pinv"
+// cWrapperName: "casadi_pinv__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_pinv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: True
+// fName: "casadi_pinv"
+// call: "        casadi::DM ret = pinv(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_pinv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::DM*
+    casadi_pinv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::DM ret = pinv(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pinv" ===============
+// cppName: "casadi::casadi_pinv"
+// cWrapperName: "casadi_pinv__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_pinv__5(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_pinv"
+// call: "        casadi::DM ret = pinv(x0_);"
+extern "C"
+casadi::DM*
+    casadi_pinv__5(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_pinv__5(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = pinv(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pinv" ===============
+// cppName: "casadi::casadi_pinv"
+// cWrapperName: "casadi_pinv__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::string* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_pinv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1)"
+// friendWrap: True
+// fName: "casadi_pinv"
+// call: "        casadi::IM ret = pinv(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_pinv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1);
+casadi::IM*
+    casadi_pinv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::IM ret = pinv(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pinv" ===============
+// cppName: "casadi::casadi_pinv"
+// cWrapperName: "casadi_pinv__7"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_pinv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: True
+// fName: "casadi_pinv"
+// call: "        casadi::IM ret = pinv(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_pinv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::IM*
+    casadi_pinv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::IM ret = pinv(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pinv" ===============
+// cppName: "casadi::casadi_pinv"
+// cWrapperName: "casadi_pinv__8"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_pinv__8(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_pinv"
+// call: "        casadi::IM ret = pinv(x0_);"
+extern "C"
+casadi::IM*
+    casadi_pinv__8(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_pinv__8(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = pinv(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pinv" ===============
+// cppName: "casadi::casadi_pinv"
+// cWrapperName: "casadi_pinv__9"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::string* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_pinv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1)"
+// friendWrap: True
+// fName: "casadi_pinv"
+// call: "        casadi::MX ret = pinv(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_pinv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1);
+casadi::MX*
+    casadi_pinv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::MX ret = pinv(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pinv" ===============
+// cppName: "casadi::casadi_pinv"
+// cWrapperName: "casadi_pinv__10"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_pinv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: True
+// fName: "casadi_pinv"
+// call: "        casadi::MX ret = pinv(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_pinv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::MX*
+    casadi_pinv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::MX ret = pinv(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pinv" ===============
+// cppName: "casadi::casadi_pinv"
+// cWrapperName: "casadi_pinv__11"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_pinv__11(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_pinv"
+// call: "        casadi::MX ret = pinv(x0_);"
+extern "C"
+casadi::MX*
+    casadi_pinv__11(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_pinv__11(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = pinv(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_plus" ===============
+// cppName: "casadi::casadi_plus"
+// cWrapperName: "casadi_plus__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_plus__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_plus"
+// call: "        double ret = x0_ + x1_;"
+extern "C"
+double
+    casadi_plus__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_plus__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = x0_ + x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_plus" ===============
+// cppName: "casadi::casadi_plus"
+// cWrapperName: "casadi_plus__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_plus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_plus"
+// call: "        casadi::SX ret = x0_ + x1_;"
+extern "C"
+casadi::SX*
+    casadi_plus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_plus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = x0_ + x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_plus" ===============
+// cppName: "casadi::casadi_plus"
+// cWrapperName: "casadi_plus__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_plus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_plus"
+// call: "        casadi::DM ret = x0_ + x1_;"
+extern "C"
+casadi::DM*
+    casadi_plus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_plus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = x0_ + x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_plus" ===============
+// cppName: "casadi::casadi_plus"
+// cWrapperName: "casadi_plus__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_plus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_plus"
+// call: "        casadi::IM ret = x0_ + x1_;"
+extern "C"
+casadi::IM*
+    casadi_plus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_plus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = x0_ + x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_plus" ===============
+// cppName: "casadi::casadi_plus"
+// cWrapperName: "casadi_plus__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_plus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_plus"
+// call: "        casadi::MX ret = x0_ + x1_;"
+extern "C"
+casadi::MX*
+    casadi_plus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_plus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = x0_ + x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_poly_coeff" ===============
+// cppName: "casadi::casadi_poly_coeff"
+// cWrapperName: "casadi_poly_coeff__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_poly_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_poly_coeff"
+// call: "        casadi::SX ret = poly_coeff(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_poly_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_poly_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = poly_coeff(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_poly_coeff" ===============
+// cppName: "casadi::casadi_poly_coeff"
+// cWrapperName: "casadi_poly_coeff__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_poly_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_poly_coeff"
+// call: "        casadi::DM ret = poly_coeff(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_poly_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_poly_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = poly_coeff(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_poly_coeff" ===============
+// cppName: "casadi::casadi_poly_coeff"
+// cWrapperName: "casadi_poly_coeff__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_poly_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_poly_coeff"
+// call: "        casadi::IM ret = poly_coeff(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_poly_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_poly_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = poly_coeff(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_poly_roots" ===============
+// cppName: "casadi::casadi_poly_roots"
+// cWrapperName: "casadi_poly_roots__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_poly_roots__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_poly_roots"
+// call: "        casadi::SX ret = poly_roots(x0_);"
+extern "C"
+casadi::SX*
+    casadi_poly_roots__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_poly_roots__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = poly_roots(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_poly_roots" ===============
+// cppName: "casadi::casadi_poly_roots"
+// cWrapperName: "casadi_poly_roots__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_poly_roots__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_poly_roots"
+// call: "        casadi::DM ret = poly_roots(x0_);"
+extern "C"
+casadi::DM*
+    casadi_poly_roots__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_poly_roots__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = poly_roots(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_poly_roots" ===============
+// cppName: "casadi::casadi_poly_roots"
+// cWrapperName: "casadi_poly_roots__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_poly_roots__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_poly_roots"
+// call: "        casadi::IM ret = poly_roots(x0_);"
+extern "C"
+casadi::IM*
+    casadi_poly_roots__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_poly_roots__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = poly_roots(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_polyval" ===============
+// cppName: "casadi::casadi_polyval"
+// cWrapperName: "casadi_polyval__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_polyval__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_polyval"
+// call: "        casadi::SX ret = polyval(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_polyval__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_polyval__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = polyval(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_polyval" ===============
+// cppName: "casadi::casadi_polyval"
+// cWrapperName: "casadi_polyval__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_polyval__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_polyval"
+// call: "        casadi::DM ret = polyval(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_polyval__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_polyval__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = polyval(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_polyval" ===============
+// cppName: "casadi::casadi_polyval"
+// cWrapperName: "casadi_polyval__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_polyval__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_polyval"
+// call: "        casadi::IM ret = polyval(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_polyval__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_polyval__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = polyval(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_polyval" ===============
+// cppName: "casadi::casadi_polyval"
+// cWrapperName: "casadi_polyval__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_polyval__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_polyval"
+// call: "        casadi::MX ret = polyval(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_polyval__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_polyval__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = polyval(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_power" ===============
+// cppName: "casadi::casadi_power"
+// cWrapperName: "casadi_power__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_power__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_power"
+// call: "        double ret = pow(x0_, x1_);"
+extern "C"
+double
+    casadi_power__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_power__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = pow(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_power" ===============
+// cppName: "casadi::casadi_power"
+// cWrapperName: "casadi_power__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_power__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_power"
+// call: "        casadi::SX ret = pow(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_power__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_power__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = pow(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_power" ===============
+// cppName: "casadi::casadi_power"
+// cWrapperName: "casadi_power__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_power__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_power"
+// call: "        casadi::DM ret = pow(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_power__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_power__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = pow(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_power" ===============
+// cppName: "casadi::casadi_power"
+// cWrapperName: "casadi_power__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_power__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_power"
+// call: "        casadi::IM ret = pow(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_power__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_power__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = pow(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_power" ===============
+// cppName: "casadi::casadi_power"
+// cWrapperName: "casadi_power__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_power__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_power"
+// call: "        casadi::MX ret = pow(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_power__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_power__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = pow(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_print_operator" ===============
+// cppName: "casadi::casadi_print_operator"
+// cWrapperName: "casadi_print_operator__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi_print_operator__0(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1)"
+// friendWrap: True
+// fName: "casadi_print_operator"
+// call: "        std::string ret = print_operator(x0_, x1_);"
+extern "C"
+std::string*
+    casadi_print_operator__0(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1);
+std::string*
+    casadi_print_operator__0(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+
+        std::string ret = print_operator(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_print_operator" ===============
+// cppName: "casadi::casadi_print_operator"
+// cWrapperName: "casadi_print_operator__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< std::string* >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi_print_operator__1(std::string ** err_msg, casadi::DM* x0, std::vector< std::string* >* x1)"
+// friendWrap: True
+// fName: "casadi_print_operator"
+// call: "        std::string ret = print_operator(x0_, x1_);"
+extern "C"
+std::string*
+    casadi_print_operator__1(std::string ** err_msg, casadi::DM* x0, std::vector< std::string* >* x1);
+std::string*
+    casadi_print_operator__1(std::string ** err_msg, casadi::DM* x0, std::vector< std::string* >* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+
+        std::string ret = print_operator(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_print_operator" ===============
+// cppName: "casadi::casadi_print_operator"
+// cWrapperName: "casadi_print_operator__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< std::string* >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi_print_operator__2(std::string ** err_msg, casadi::IM* x0, std::vector< std::string* >* x1)"
+// friendWrap: True
+// fName: "casadi_print_operator"
+// call: "        std::string ret = print_operator(x0_, x1_);"
+extern "C"
+std::string*
+    casadi_print_operator__2(std::string ** err_msg, casadi::IM* x0, std::vector< std::string* >* x1);
+std::string*
+    casadi_print_operator__2(std::string ** err_msg, casadi::IM* x0, std::vector< std::string* >* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+
+        std::string ret = print_operator(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_print_operator" ===============
+// cppName: "casadi::casadi_print_operator"
+// cWrapperName: "casadi_print_operator__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    casadi_print_operator__3(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1)"
+// friendWrap: True
+// fName: "casadi_print_operator"
+// call: "        std::string ret = print_operator(x0_, x1_);"
+extern "C"
+std::string*
+    casadi_print_operator__3(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1);
+std::string*
+    casadi_print_operator__3(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+
+        std::string ret = print_operator(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_project" ===============
+// cppName: "casadi::casadi_project"
+// cWrapperName: "casadi_project__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_project__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1)"
+// friendWrap: True
+// fName: "casadi_project"
+// call: "        casadi::SX ret = project(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_project__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1);
+casadi::SX*
+    casadi_project__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::SX ret = project(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_project" ===============
+// cppName: "casadi::casadi_project"
+// cWrapperName: "casadi_project__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1, int x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_project__1(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1, int x2)"
+// friendWrap: True
+// fName: "casadi_project"
+// call: "        casadi::SX ret = project(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_project__1(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1, int x2);
+casadi::SX*
+    casadi_project__1(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1, int x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        casadi::SX ret = project(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_project" ===============
+// cppName: "casadi::casadi_project"
+// cWrapperName: "casadi_project__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_project__2(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1)"
+// friendWrap: True
+// fName: "casadi_project"
+// call: "        casadi::DM ret = project(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_project__2(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1);
+casadi::DM*
+    casadi_project__2(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::DM ret = project(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_project" ===============
+// cppName: "casadi::casadi_project"
+// cWrapperName: "casadi_project__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1, int x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_project__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1, int x2)"
+// friendWrap: True
+// fName: "casadi_project"
+// call: "        casadi::DM ret = project(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_project__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1, int x2);
+casadi::DM*
+    casadi_project__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1, int x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        casadi::DM ret = project(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_project" ===============
+// cppName: "casadi::casadi_project"
+// cWrapperName: "casadi_project__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_project__4(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1)"
+// friendWrap: True
+// fName: "casadi_project"
+// call: "        casadi::IM ret = project(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_project__4(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1);
+casadi::IM*
+    casadi_project__4(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::IM ret = project(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_project" ===============
+// cppName: "casadi::casadi_project"
+// cWrapperName: "casadi_project__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1, int x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_project__5(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1, int x2)"
+// friendWrap: True
+// fName: "casadi_project"
+// call: "        casadi::IM ret = project(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_project__5(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1, int x2);
+casadi::IM*
+    casadi_project__5(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1, int x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        casadi::IM ret = project(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_project" ===============
+// cppName: "casadi::casadi_project"
+// cWrapperName: "casadi_project__6"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_project__6(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1)"
+// friendWrap: True
+// fName: "casadi_project"
+// call: "        casadi::MX ret = project(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_project__6(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1);
+casadi::MX*
+    casadi_project__6(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::MX ret = project(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_project" ===============
+// cppName: "casadi::casadi_project"
+// cWrapperName: "casadi_project__7"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1, int x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_project__7(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1, int x2)"
+// friendWrap: True
+// fName: "casadi_project"
+// call: "        casadi::MX ret = project(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_project__7(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1, int x2);
+casadi::MX*
+    casadi_project__7(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1, int x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        casadi::MX ret = project(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pw_const" ===============
+// cppName: "casadi::casadi_pw_const"
+// cWrapperName: "casadi_pw_const__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_pw_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// friendWrap: True
+// fName: "casadi_pw_const"
+// call: "        casadi::SX ret = pw_const(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_pw_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi_pw_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = pw_const(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pw_const" ===============
+// cppName: "casadi::casadi_pw_const"
+// cWrapperName: "casadi_pw_const__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_pw_const__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// friendWrap: True
+// fName: "casadi_pw_const"
+// call: "        casadi::DM ret = pw_const(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_pw_const__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi_pw_const__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = pw_const(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pw_const" ===============
+// cppName: "casadi::casadi_pw_const"
+// cWrapperName: "casadi_pw_const__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_pw_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// friendWrap: True
+// fName: "casadi_pw_const"
+// call: "        casadi::IM ret = pw_const(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_pw_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi_pw_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = pw_const(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pw_lin" ===============
+// cppName: "casadi::casadi_pw_lin"
+// cWrapperName: "casadi_pw_lin__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_pw_lin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// friendWrap: True
+// fName: "casadi_pw_lin"
+// call: "        casadi::SX ret = pw_lin(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_pw_lin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi_pw_lin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = pw_lin(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pw_lin" ===============
+// cppName: "casadi::casadi_pw_lin"
+// cWrapperName: "casadi_pw_lin__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_pw_lin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// friendWrap: True
+// fName: "casadi_pw_lin"
+// call: "        casadi::DM ret = pw_lin(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_pw_lin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi_pw_lin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = pw_lin(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_pw_lin" ===============
+// cppName: "casadi::casadi_pw_lin"
+// cWrapperName: "casadi_pw_lin__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_pw_lin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// friendWrap: True
+// fName: "casadi_pw_lin"
+// call: "        casadi::IM ret = pw_lin(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_pw_lin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi_pw_lin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = pw_lin(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr" ===============
+// cppName: "casadi::casadi_qr"
+// cWrapperName: "casadi_qr__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_qr__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// friendWrap: True
+// fName: "casadi_qr"
+// call: "        qr(x0_, x1_, x2_);"
+extern "C"
+void
+    casadi_qr__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+void
+    casadi_qr__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        qr(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr" ===============
+// cppName: "casadi::casadi_qr"
+// cWrapperName: "casadi_qr__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_qr__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// friendWrap: True
+// fName: "casadi_qr"
+// call: "        qr(x0_, x1_, x2_);"
+extern "C"
+void
+    casadi_qr__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
+void
+    casadi_qr__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        qr(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr" ===============
+// cppName: "casadi::casadi_qr"
+// cWrapperName: "casadi_qr__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_qr__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// friendWrap: True
+// fName: "casadi_qr"
+// call: "        qr(x0_, x1_, x2_);"
+extern "C"
+void
+    casadi_qr__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
+void
+    casadi_qr__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        qr(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr_solve" ===============
+// cppName: "casadi::casadi_qr_solve"
+// cWrapperName: "casadi_qr_solve__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_qr_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
+// friendWrap: True
+// fName: "casadi_qr_solve"
+// call: "        casadi::SX ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_);"
+extern "C"
+casadi::SX*
+    casadi_qr_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5);
+casadi::SX*
+    casadi_qr_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+
+        casadi::SX ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr_solve" ===============
+// cppName: "casadi::casadi_qr_solve"
+// cWrapperName: "casadi_qr_solve__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_qr_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
+// friendWrap: True
+// fName: "casadi_qr_solve"
+// call: "        casadi::SX ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
+extern "C"
+casadi::SX*
+    casadi_qr_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6);
+casadi::SX*
+    casadi_qr_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        bool x6_ = Marshaling<bool,int>::marshal(x6);
+
+        casadi::SX ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr_solve" ===============
+// cppName: "casadi::casadi_qr_solve"
+// cWrapperName: "casadi_qr_solve__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_qr_solve__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
+// friendWrap: True
+// fName: "casadi_qr_solve"
+// call: "        casadi::DM ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_);"
+extern "C"
+casadi::DM*
+    casadi_qr_solve__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5);
+casadi::DM*
+    casadi_qr_solve__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+
+        casadi::DM ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr_solve" ===============
+// cppName: "casadi::casadi_qr_solve"
+// cWrapperName: "casadi_qr_solve__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_qr_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
+// friendWrap: True
+// fName: "casadi_qr_solve"
+// call: "        casadi::DM ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
+extern "C"
+casadi::DM*
+    casadi_qr_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6);
+casadi::DM*
+    casadi_qr_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        bool x6_ = Marshaling<bool,int>::marshal(x6);
+
+        casadi::DM ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr_solve" ===============
+// cppName: "casadi::casadi_qr_solve"
+// cWrapperName: "casadi_qr_solve__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_qr_solve__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
+// friendWrap: True
+// fName: "casadi_qr_solve"
+// call: "        casadi::IM ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_);"
+extern "C"
+casadi::IM*
+    casadi_qr_solve__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5);
+casadi::IM*
+    casadi_qr_solve__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+
+        casadi::IM ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr_solve" ===============
+// cppName: "casadi::casadi_qr_solve"
+// cWrapperName: "casadi_qr_solve__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_qr_solve__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
+// friendWrap: True
+// fName: "casadi_qr_solve"
+// call: "        casadi::IM ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
+extern "C"
+casadi::IM*
+    casadi_qr_solve__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6);
+casadi::IM*
+    casadi_qr_solve__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        bool x6_ = Marshaling<bool,int>::marshal(x6);
+
+        casadi::IM ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr_sparse" ===============
+// cppName: "casadi::casadi_qr_sparse"
+// cWrapperName: "casadi_qr_sparse__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_qr_sparse__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
+// friendWrap: True
+// fName: "casadi_qr_sparse"
+// call: "        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_);"
+extern "C"
+void
+    casadi_qr_sparse__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5);
+void
+    casadi_qr_sparse__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+
+        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr_sparse" ===============
+// cppName: "casadi::casadi_qr_sparse"
+// cWrapperName: "casadi_qr_sparse__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(CBool,SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_qr_sparse__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
+// friendWrap: True
+// fName: "casadi_qr_sparse"
+// call: "        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
+extern "C"
+void
+    casadi_qr_sparse__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6);
+void
+    casadi_qr_sparse__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        bool x6_ = Marshaling<bool,int>::marshal(x6);
+
+        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr_sparse" ===============
+// cppName: "casadi::casadi_qr_sparse"
+// cWrapperName: "casadi_qr_sparse__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_qr_sparse__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
+// friendWrap: True
+// fName: "casadi_qr_sparse"
+// call: "        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_);"
+extern "C"
+void
+    casadi_qr_sparse__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5);
+void
+    casadi_qr_sparse__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+
+        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr_sparse" ===============
+// cppName: "casadi::casadi_qr_sparse"
+// cWrapperName: "casadi_qr_sparse__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(CBool,SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_qr_sparse__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
+// friendWrap: True
+// fName: "casadi_qr_sparse"
+// call: "        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
+extern "C"
+void
+    casadi_qr_sparse__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6);
+void
+    casadi_qr_sparse__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        bool x6_ = Marshaling<bool,int>::marshal(x6);
+
+        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr_sparse" ===============
+// cppName: "casadi::casadi_qr_sparse"
+// cWrapperName: "casadi_qr_sparse__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_qr_sparse__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
+// friendWrap: True
+// fName: "casadi_qr_sparse"
+// call: "        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_);"
+extern "C"
+void
+    casadi_qr_sparse__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5);
+void
+    casadi_qr_sparse__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+
+        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_qr_sparse" ===============
+// cppName: "casadi::casadi_qr_sparse"
+// cWrapperName: "casadi_qr_sparse__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(CBool,SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_qr_sparse__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
+// friendWrap: True
+// fName: "casadi_qr_sparse"
+// call: "        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
+extern "C"
+void
+    casadi_qr_sparse__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6);
+void
+    casadi_qr_sparse__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
+        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
+        bool x6_ = Marshaling<bool,int>::marshal(x6);
+
+        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+        // x6 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_quadratic_coeff" ===============
+// cppName: "casadi::casadi_quadratic_coeff"
+// cWrapperName: "casadi_quadratic_coeff__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, casadi::SX* x4)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_quadratic_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, casadi::SX* x4)"
+// friendWrap: True
+// fName: "casadi_quadratic_coeff"
+// call: "        quadratic_coeff(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+void
+    casadi_quadratic_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, casadi::SX* x4);
+void
+    casadi_quadratic_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, casadi::SX* x4){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
+        casadi::SX& x4_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x4);
+
+        quadratic_coeff(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_quadratic_coeff" ===============
+// cppName: "casadi::casadi_quadratic_coeff"
+// cWrapperName: "casadi_quadratic_coeff__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, casadi::DM* x4)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_quadratic_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, casadi::DM* x4)"
+// friendWrap: True
+// fName: "casadi_quadratic_coeff"
+// call: "        quadratic_coeff(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+void
+    casadi_quadratic_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, casadi::DM* x4);
+void
+    casadi_quadratic_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, casadi::DM* x4){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
+        casadi::DM& x4_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x4);
+
+        quadratic_coeff(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_quadratic_coeff" ===============
+// cppName: "casadi::casadi_quadratic_coeff"
+// cWrapperName: "casadi_quadratic_coeff__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, casadi::IM* x4)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_quadratic_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, casadi::IM* x4)"
+// friendWrap: True
+// fName: "casadi_quadratic_coeff"
+// call: "        quadratic_coeff(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+void
+    casadi_quadratic_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, casadi::IM* x4);
+void
+    casadi_quadratic_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, casadi::IM* x4){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+        casadi::IM& x4_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x4);
+
+        quadratic_coeff(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_quadratic_coeff" ===============
+// cppName: "casadi::casadi_quadratic_coeff"
+// cWrapperName: "casadi_quadratic_coeff__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3, casadi::MX* x4)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_quadratic_coeff__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3, casadi::MX* x4)"
+// friendWrap: True
+// fName: "casadi_quadratic_coeff"
+// call: "        quadratic_coeff(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+void
+    casadi_quadratic_coeff__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3, casadi::MX* x4);
+void
+    casadi_quadratic_coeff__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3, casadi::MX* x4){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+        casadi::MX& x3_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x3);
+        casadi::MX& x4_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x4);
+
+        quadratic_coeff(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_ramp" ===============
+// cppName: "casadi::casadi_ramp"
+// cWrapperName: "casadi_ramp__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_ramp__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_ramp"
+// call: "        casadi::SX ret = ramp(x0_);"
+extern "C"
+casadi::SX*
+    casadi_ramp__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_ramp__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = ramp(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ramp" ===============
+// cppName: "casadi::casadi_ramp"
+// cWrapperName: "casadi_ramp__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_ramp__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_ramp"
+// call: "        casadi::DM ret = ramp(x0_);"
+extern "C"
+casadi::DM*
+    casadi_ramp__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_ramp__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = ramp(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_ramp" ===============
+// cppName: "casadi::casadi_ramp"
+// cWrapperName: "casadi_ramp__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_ramp__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_ramp"
+// call: "        casadi::IM ret = ramp(x0_);"
+extern "C"
+casadi::IM*
+    casadi_ramp__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_ramp__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = ramp(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_rank1" ===============
+// cppName: "casadi::casadi_rank1"
+// cWrapperName: "casadi_rank1__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_rank1__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
+// friendWrap: True
+// fName: "casadi_rank1"
+// call: "        casadi::SX ret = rank1(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::SX*
+    casadi_rank1__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3);
+casadi::SX*
+    casadi_rank1__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
+
+        casadi::SX ret = rank1(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_rank1" ===============
+// cppName: "casadi::casadi_rank1"
+// cWrapperName: "casadi_rank1__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_rank1__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
+// friendWrap: True
+// fName: "casadi_rank1"
+// call: "        casadi::DM ret = rank1(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::DM*
+    casadi_rank1__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3);
+casadi::DM*
+    casadi_rank1__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
+
+        casadi::DM ret = rank1(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_rank1" ===============
+// cppName: "casadi::casadi_rank1"
+// cWrapperName: "casadi_rank1__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_rank1__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
+// friendWrap: True
+// fName: "casadi_rank1"
+// call: "        casadi::IM ret = rank1(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::IM*
+    casadi_rank1__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3);
+casadi::IM*
+    casadi_rank1__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
+
+        casadi::IM ret = rank1(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_rank1" ===============
+// cppName: "casadi::casadi_rank1"
+// cWrapperName: "casadi_rank1__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_rank1__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
+// friendWrap: True
+// fName: "casadi_rank1"
+// call: "        casadi::MX ret = rank1(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::MX*
+    casadi_rank1__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3);
+casadi::MX*
+    casadi_rank1__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+        casadi::MX& x3_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x3);
+
+        casadi::MX ret = rank1(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_rdivide" ===============
+// cppName: "casadi::casadi_rdivide"
+// cWrapperName: "casadi_rdivide__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_rdivide__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_rdivide"
+// call: "        double ret = x0_ / x1_;"
+extern "C"
+double
+    casadi_rdivide__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_rdivide__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = x0_ / x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_rdivide" ===============
+// cppName: "casadi::casadi_rdivide"
+// cWrapperName: "casadi_rdivide__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_rdivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_rdivide"
+// call: "        casadi::SX ret = x0_ / x1_;"
+extern "C"
+casadi::SX*
+    casadi_rdivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_rdivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = x0_ / x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_rdivide" ===============
+// cppName: "casadi::casadi_rdivide"
+// cWrapperName: "casadi_rdivide__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_rdivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_rdivide"
+// call: "        casadi::DM ret = x0_ / x1_;"
+extern "C"
+casadi::DM*
+    casadi_rdivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_rdivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = x0_ / x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_rdivide" ===============
+// cppName: "casadi::casadi_rdivide"
+// cWrapperName: "casadi_rdivide__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_rdivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_rdivide"
+// call: "        casadi::IM ret = x0_ / x1_;"
+extern "C"
+casadi::IM*
+    casadi_rdivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_rdivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = x0_ / x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_rdivide" ===============
+// cppName: "casadi::casadi_rdivide"
+// cWrapperName: "casadi_rdivide__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_rdivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_rdivide"
+// call: "        casadi::MX ret = x0_ / x1_;"
+extern "C"
+casadi::MX*
+    casadi_rdivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_rdivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = x0_ / x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_rectangle" ===============
+// cppName: "casadi::casadi_rectangle"
+// cWrapperName: "casadi_rectangle__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_rectangle__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_rectangle"
+// call: "        casadi::SX ret = rectangle(x0_);"
+extern "C"
+casadi::SX*
+    casadi_rectangle__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_rectangle__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = rectangle(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_rectangle" ===============
+// cppName: "casadi::casadi_rectangle"
+// cWrapperName: "casadi_rectangle__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_rectangle__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_rectangle"
+// call: "        casadi::DM ret = rectangle(x0_);"
+extern "C"
+casadi::DM*
+    casadi_rectangle__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_rectangle__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = rectangle(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_rectangle" ===============
+// cppName: "casadi::casadi_rectangle"
+// cWrapperName: "casadi_rectangle__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_rectangle__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_rectangle"
+// call: "        casadi::IM ret = rectangle(x0_);"
+extern "C"
+casadi::IM*
+    casadi_rectangle__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_rectangle__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = rectangle(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_repmat__0(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::SX ret = repmat(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_repmat__0(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1);
+casadi::SX*
+    casadi_repmat__0(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);
+
+        casadi::SX ret = repmat(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_repmat__1(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::SX ret = repmat(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_repmat__1(std::string ** err_msg, casadi::SX* x0, long long x1);
+casadi::SX*
+    casadi_repmat__1(std::string ** err_msg, casadi::SX* x0, long long x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::SX ret = repmat(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_repmat__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::SX ret = repmat(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_repmat__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
+casadi::SX*
+    casadi_repmat__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::SX ret = repmat(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_repmat__3(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::DM ret = repmat(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_repmat__3(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1);
+casadi::DM*
+    casadi_repmat__3(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);
+
+        casadi::DM ret = repmat(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_repmat__4(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::DM ret = repmat(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_repmat__4(std::string ** err_msg, casadi::DM* x0, long long x1);
+casadi::DM*
+    casadi_repmat__4(std::string ** err_msg, casadi::DM* x0, long long x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::DM ret = repmat(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_repmat__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::DM ret = repmat(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_repmat__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
+casadi::DM*
+    casadi_repmat__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::DM ret = repmat(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_repmat__6(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::IM ret = repmat(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_repmat__6(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1);
+casadi::IM*
+    casadi_repmat__6(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);
+
+        casadi::IM ret = repmat(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__7"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_repmat__7(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::IM ret = repmat(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_repmat__7(std::string ** err_msg, casadi::IM* x0, long long x1);
+casadi::IM*
+    casadi_repmat__7(std::string ** err_msg, casadi::IM* x0, long long x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::IM ret = repmat(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__8"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_repmat__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::IM ret = repmat(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_repmat__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
+casadi::IM*
+    casadi_repmat__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::IM ret = repmat(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__9"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_repmat__9(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::MX ret = repmat(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_repmat__9(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1);
+casadi::MX*
+    casadi_repmat__9(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);
+
+        casadi::MX ret = repmat(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__10"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_repmat__10(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::MX ret = repmat(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_repmat__10(std::string ** err_msg, casadi::MX* x0, long long x1);
+casadi::MX*
+    casadi_repmat__10(std::string ** err_msg, casadi::MX* x0, long long x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = repmat(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__11"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_repmat__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::MX ret = repmat(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_repmat__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2);
+casadi::MX*
+    casadi_repmat__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::MX ret = repmat(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__12"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_repmat__12(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::Sparsity ret = repmat(x0_, x1_);"
+extern "C"
+casadi::Sparsity*
+    casadi_repmat__12(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1);
+casadi::Sparsity*
+    casadi_repmat__12(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);
+
+        casadi::Sparsity ret = repmat(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__13"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_repmat__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::Sparsity ret = repmat(x0_, x1_);"
+extern "C"
+casadi::Sparsity*
+    casadi_repmat__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1);
+casadi::Sparsity*
+    casadi_repmat__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Sparsity ret = repmat(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repmat" ===============
+// cppName: "casadi::casadi_repmat"
+// cWrapperName: "casadi_repmat__14"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_repmat__14(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_repmat"
+// call: "        casadi::Sparsity ret = repmat(x0_, x1_, x2_);"
+extern "C"
+casadi::Sparsity*
+    casadi_repmat__14(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2);
+casadi::Sparsity*
+    casadi_repmat__14(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::Sparsity ret = repmat(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repsum" ===============
+// cppName: "casadi::casadi_repsum"
+// cWrapperName: "casadi_repsum__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_repsum__0(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_repsum"
+// call: "        casadi::SX ret = repsum(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_repsum__0(std::string ** err_msg, casadi::SX* x0, long long x1);
+casadi::SX*
+    casadi_repsum__0(std::string ** err_msg, casadi::SX* x0, long long x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::SX ret = repsum(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repsum" ===============
+// cppName: "casadi::casadi_repsum"
+// cWrapperName: "casadi_repsum__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_repsum__1(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_repsum"
+// call: "        casadi::SX ret = repsum(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_repsum__1(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
+casadi::SX*
+    casadi_repsum__1(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::SX ret = repsum(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repsum" ===============
+// cppName: "casadi::casadi_repsum"
+// cWrapperName: "casadi_repsum__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_repsum__2(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_repsum"
+// call: "        casadi::DM ret = repsum(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_repsum__2(std::string ** err_msg, casadi::DM* x0, long long x1);
+casadi::DM*
+    casadi_repsum__2(std::string ** err_msg, casadi::DM* x0, long long x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::DM ret = repsum(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repsum" ===============
+// cppName: "casadi::casadi_repsum"
+// cWrapperName: "casadi_repsum__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_repsum__3(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_repsum"
+// call: "        casadi::DM ret = repsum(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_repsum__3(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
+casadi::DM*
+    casadi_repsum__3(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::DM ret = repsum(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repsum" ===============
+// cppName: "casadi::casadi_repsum"
+// cWrapperName: "casadi_repsum__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_repsum__4(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_repsum"
+// call: "        casadi::IM ret = repsum(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_repsum__4(std::string ** err_msg, casadi::IM* x0, long long x1);
+casadi::IM*
+    casadi_repsum__4(std::string ** err_msg, casadi::IM* x0, long long x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::IM ret = repsum(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repsum" ===============
+// cppName: "casadi::casadi_repsum"
+// cWrapperName: "casadi_repsum__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_repsum__5(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_repsum"
+// call: "        casadi::IM ret = repsum(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_repsum__5(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
+casadi::IM*
+    casadi_repsum__5(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::IM ret = repsum(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repsum" ===============
+// cppName: "casadi::casadi_repsum"
+// cWrapperName: "casadi_repsum__6"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_repsum__6(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_repsum"
+// call: "        casadi::MX ret = repsum(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_repsum__6(std::string ** err_msg, casadi::MX* x0, long long x1);
+casadi::MX*
+    casadi_repsum__6(std::string ** err_msg, casadi::MX* x0, long long x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::MX ret = repsum(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_repsum" ===============
+// cppName: "casadi::casadi_repsum"
+// cWrapperName: "casadi_repsum__7"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_repsum__7(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_repsum"
+// call: "        casadi::MX ret = repsum(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_repsum__7(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2);
+casadi::MX*
+    casadi_repsum__7(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::MX ret = repsum(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_reshape__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::SX ret = reshape(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_reshape__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1);
+casadi::SX*
+    casadi_reshape__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::SX ret = reshape(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(StdPair CLongLong CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_reshape__1(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::SX ret = reshape(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_reshape__1(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1);
+casadi::SX*
+    casadi_reshape__1(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);
+
+        casadi::SX ret = reshape(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_reshape__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::SX ret = reshape(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_reshape__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
+casadi::SX*
+    casadi_reshape__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::SX ret = reshape(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_reshape__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::DM ret = reshape(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_reshape__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1);
+casadi::DM*
+    casadi_reshape__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::DM ret = reshape(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(StdPair CLongLong CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_reshape__4(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::DM ret = reshape(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_reshape__4(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1);
+casadi::DM*
+    casadi_reshape__4(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);
+
+        casadi::DM ret = reshape(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_reshape__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::DM ret = reshape(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_reshape__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
+casadi::DM*
+    casadi_reshape__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::DM ret = reshape(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_reshape__6(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::IM ret = reshape(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_reshape__6(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1);
+casadi::IM*
+    casadi_reshape__6(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::IM ret = reshape(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__7"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(StdPair CLongLong CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_reshape__7(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::IM ret = reshape(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_reshape__7(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1);
+casadi::IM*
+    casadi_reshape__7(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);
+
+        casadi::IM ret = reshape(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__8"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_reshape__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::IM ret = reshape(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_reshape__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
+casadi::IM*
+    casadi_reshape__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::IM ret = reshape(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__9"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_reshape__9(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::MX ret = reshape(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_reshape__9(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1);
+casadi::MX*
+    casadi_reshape__9(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::MX ret = reshape(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__10"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(StdPair CLongLong CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_reshape__10(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::MX ret = reshape(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_reshape__10(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1);
+casadi::MX*
+    casadi_reshape__10(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);
+
+        casadi::MX ret = reshape(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__11"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_reshape__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::MX ret = reshape(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_reshape__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2);
+casadi::MX*
+    casadi_reshape__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::MX ret = reshape(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__12"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_reshape__12(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::Sparsity ret = reshape(x0_, x1_);"
+extern "C"
+casadi::Sparsity*
+    casadi_reshape__12(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1);
+casadi::Sparsity*
+    casadi_reshape__12(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
+
+        casadi::Sparsity ret = reshape(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__13"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(StdPair CLongLong CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_reshape__13(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::Sparsity ret = reshape(x0_, x1_);"
+extern "C"
+casadi::Sparsity*
+    casadi_reshape__13(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1);
+casadi::Sparsity*
+    casadi_reshape__13(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);
+
+        casadi::Sparsity ret = reshape(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reshape" ===============
+// cppName: "casadi::casadi_reshape"
+// cWrapperName: "casadi_reshape__14"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_reshape__14(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
+// friendWrap: True
+// fName: "casadi_reshape"
+// call: "        casadi::Sparsity ret = reshape(x0_, x1_, x2_);"
+extern "C"
+casadi::Sparsity*
+    casadi_reshape__14(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2);
+casadi::Sparsity*
+    casadi_reshape__14(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::Sparsity ret = reshape(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reverse" ===============
+// cppName: "casadi::casadi_reverse"
+// cWrapperName: "casadi_reverse__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
+// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_reverse__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2)"
+// friendWrap: True
+// fName: "casadi_reverse"
+// call: "        std::vector< std::vector< casadi::SX > > ret = reverse(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_reverse__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2);
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_reverse__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
+
+        std::vector< std::vector< casadi::SX > > ret = reverse(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reverse" ===============
+// cppName: "casadi::casadi_reverse"
+// cWrapperName: "casadi_reverse__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
+// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_reverse__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: True
+// fName: "casadi_reverse"
+// call: "        std::vector< std::vector< casadi::SX > > ret = reverse(x0_, x1_, x2_, x3_);"
+extern "C"
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_reverse__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+std::vector< std::vector< casadi::SX* >* >*
+    casadi_reverse__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        std::vector< std::vector< casadi::SX > > ret = reverse(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reverse" ===============
+// cppName: "casadi::casadi_reverse"
+// cWrapperName: "casadi_reverse__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
+// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_reverse__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2)"
+// friendWrap: True
+// fName: "casadi_reverse"
+// call: "        std::vector< std::vector< casadi::DM > > ret = reverse(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_reverse__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2);
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_reverse__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
+        std::vector< std::vector< casadi::DM > > x2_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x2);
+
+        std::vector< std::vector< casadi::DM > > ret = reverse(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reverse" ===============
+// cppName: "casadi::casadi_reverse"
+// cWrapperName: "casadi_reverse__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
+// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_reverse__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: True
+// fName: "casadi_reverse"
+// call: "        std::vector< std::vector< casadi::DM > > ret = reverse(x0_, x1_, x2_, x3_);"
+extern "C"
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_reverse__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+std::vector< std::vector< casadi::DM* >* >*
+    casadi_reverse__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
+        std::vector< std::vector< casadi::DM > > x2_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        std::vector< std::vector< casadi::DM > > ret = reverse(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reverse" ===============
+// cppName: "casadi::casadi_reverse"
+// cWrapperName: "casadi_reverse__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
+// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_reverse__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2)"
+// friendWrap: True
+// fName: "casadi_reverse"
+// call: "        std::vector< std::vector< casadi::IM > > ret = reverse(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_reverse__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2);
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_reverse__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
+        std::vector< std::vector< casadi::IM > > x2_ = Marshaling<std::vector< std::vector< casadi::IM > >,std::vector< std::vector< casadi::IM* >* >*>::marshal(x2);
+
+        std::vector< std::vector< casadi::IM > > ret = reverse(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reverse" ===============
+// cppName: "casadi::casadi_reverse"
+// cWrapperName: "casadi_reverse__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
+// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_reverse__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: True
+// fName: "casadi_reverse"
+// call: "        std::vector< std::vector< casadi::IM > > ret = reverse(x0_, x1_, x2_, x3_);"
+extern "C"
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_reverse__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+std::vector< std::vector< casadi::IM* >* >*
+    casadi_reverse__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
+        std::vector< std::vector< casadi::IM > > x2_ = Marshaling<std::vector< std::vector< casadi::IM > >,std::vector< std::vector< casadi::IM* >* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        std::vector< std::vector< casadi::IM > > ret = reverse(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reverse" ===============
+// cppName: "casadi::casadi_reverse"
+// cWrapperName: "casadi_reverse__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
+// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_reverse__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2)"
+// friendWrap: True
+// fName: "casadi_reverse"
+// call: "        std::vector< std::vector< casadi::MX > > ret = reverse(x0_, x1_, x2_);"
+extern "C"
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_reverse__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2);
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_reverse__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
+
+        std::vector< std::vector< casadi::MX > > ret = reverse(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_reverse" ===============
+// cppName: "casadi::casadi_reverse"
+// cWrapperName: "casadi_reverse__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
+// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_reverse__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: True
+// fName: "casadi_reverse"
+// call: "        std::vector< std::vector< casadi::MX > > ret = reverse(x0_, x1_, x2_, x3_);"
+extern "C"
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_reverse__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+std::vector< std::vector< casadi::MX* >* >*
+    casadi_reverse__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        std::vector< std::vector< casadi::MX > > ret = reverse(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_shared" ===============
+// cppName: "casadi::casadi_shared"
+// cWrapperName: "casadi_shared__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_shared__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3)"
+// friendWrap: True
+// fName: "casadi_shared"
+// call: "        shared(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_shared__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3);
+void
+    casadi_shared__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
+        std::vector< casadi::SX > x3_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x3);
+
+        shared(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_shared" ===============
+// cppName: "casadi::casadi_shared"
+// cWrapperName: "casadi_shared__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_shared__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4)"
+// friendWrap: True
+// fName: "casadi_shared"
+// call: "        shared(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+void
+    casadi_shared__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4);
+void
+    casadi_shared__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
+        std::vector< casadi::SX > x3_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x3);
+        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
+
+        shared(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_shared" ===============
+// cppName: "casadi::casadi_shared"
+// cWrapperName: "casadi_shared__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4, std::string* x5)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_shared__2(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4, std::string* x5)"
+// friendWrap: True
+// fName: "casadi_shared"
+// call: "        shared(x0_, x1_, x2_, x3_, x4_, x5_);"
+extern "C"
+void
+    casadi_shared__2(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4, std::string* x5);
+void
+    casadi_shared__2(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
+        std::vector< casadi::SX > x3_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x3);
+        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
+        std::string& x5_ = Marshaling<std::string&,std::string*>::marshal(x5);
+
+        shared(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_shared" ===============
+// cppName: "casadi::casadi_shared"
+// cWrapperName: "casadi_shared__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_shared__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3)"
+// friendWrap: True
+// fName: "casadi_shared"
+// call: "        shared(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_shared__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3);
+void
+    casadi_shared__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
+        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
+        std::vector< casadi::DM > x3_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x3);
+
+        shared(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_shared" ===============
+// cppName: "casadi::casadi_shared"
+// cWrapperName: "casadi_shared__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_shared__4(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4)"
+// friendWrap: True
+// fName: "casadi_shared"
+// call: "        shared(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+void
+    casadi_shared__4(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4);
+void
+    casadi_shared__4(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
+        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
+        std::vector< casadi::DM > x3_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x3);
+        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
+
+        shared(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_shared" ===============
+// cppName: "casadi::casadi_shared"
+// cWrapperName: "casadi_shared__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4, std::string* x5)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_shared__5(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4, std::string* x5)"
+// friendWrap: True
+// fName: "casadi_shared"
+// call: "        shared(x0_, x1_, x2_, x3_, x4_, x5_);"
+extern "C"
+void
+    casadi_shared__5(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4, std::string* x5);
+void
+    casadi_shared__5(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
+        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
+        std::vector< casadi::DM > x3_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x3);
+        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
+        std::string& x5_ = Marshaling<std::string&,std::string*>::marshal(x5);
+
+        shared(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_shared" ===============
+// cppName: "casadi::casadi_shared"
+// cWrapperName: "casadi_shared__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_shared__6(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3)"
+// friendWrap: True
+// fName: "casadi_shared"
+// call: "        shared(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_shared__6(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3);
+void
+    casadi_shared__6(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
+        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
+        std::vector< casadi::IM > x3_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x3);
+
+        shared(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_shared" ===============
+// cppName: "casadi::casadi_shared"
+// cWrapperName: "casadi_shared__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_shared__7(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4)"
+// friendWrap: True
+// fName: "casadi_shared"
+// call: "        shared(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+void
+    casadi_shared__7(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4);
+void
+    casadi_shared__7(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
+        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
+        std::vector< casadi::IM > x3_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x3);
+        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
+
+        shared(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_shared" ===============
+// cppName: "casadi::casadi_shared"
+// cWrapperName: "casadi_shared__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4, std::string* x5)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_shared__8(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4, std::string* x5)"
+// friendWrap: True
+// fName: "casadi_shared"
+// call: "        shared(x0_, x1_, x2_, x3_, x4_, x5_);"
+extern "C"
+void
+    casadi_shared__8(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4, std::string* x5);
+void
+    casadi_shared__8(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
+        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
+        std::vector< casadi::IM > x3_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x3);
+        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
+        std::string& x5_ = Marshaling<std::string&,std::string*>::marshal(x5);
+
+        shared(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_shared" ===============
+// cppName: "casadi::casadi_shared"
+// cWrapperName: "casadi_shared__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_shared__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3)"
+// friendWrap: True
+// fName: "casadi_shared"
+// call: "        shared(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_shared__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3);
+void
+    casadi_shared__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
+        std::vector< casadi::MX > x3_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x3);
+
+        shared(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_shared" ===============
+// cppName: "casadi::casadi_shared"
+// cWrapperName: "casadi_shared__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_shared__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4)"
+// friendWrap: True
+// fName: "casadi_shared"
+// call: "        shared(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+void
+    casadi_shared__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4);
+void
+    casadi_shared__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
+        std::vector< casadi::MX > x3_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x3);
+        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
+
+        shared(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_shared" ===============
+// cppName: "casadi::casadi_shared"
+// cWrapperName: "casadi_shared__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4, std::string* x5)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_shared__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4, std::string* x5)"
+// friendWrap: True
+// fName: "casadi_shared"
+// call: "        shared(x0_, x1_, x2_, x3_, x4_, x5_);"
+extern "C"
+void
+    casadi_shared__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4, std::string* x5);
+void
+    casadi_shared__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
+        std::vector< casadi::MX > x3_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x3);
+        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
+        std::string& x5_ = Marshaling<std::string&,std::string*>::marshal(x5);
+
+        shared(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_sign" ===============
+// cppName: "casadi::casadi_sign"
+// cWrapperName: "casadi_sign__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_sign__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_sign"
+// call: "        double ret = casadi::sign(x0_);"
+extern "C"
+double
+    casadi_sign__0(std::string ** err_msg, double* x0);
+double
+    casadi_sign__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = casadi::sign(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sign" ===============
+// cppName: "casadi::casadi_sign"
+// cWrapperName: "casadi_sign__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_sign__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_sign"
+// call: "        casadi::SX ret = sign(x0_);"
+extern "C"
+casadi::SX*
+    casadi_sign__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_sign__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = sign(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sign" ===============
+// cppName: "casadi::casadi_sign"
+// cWrapperName: "casadi_sign__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_sign__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_sign"
+// call: "        casadi::DM ret = sign(x0_);"
+extern "C"
+casadi::DM*
+    casadi_sign__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_sign__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = sign(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sign" ===============
+// cppName: "casadi::casadi_sign"
+// cWrapperName: "casadi_sign__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_sign__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_sign"
+// call: "        casadi::IM ret = sign(x0_);"
+extern "C"
+casadi::IM*
+    casadi_sign__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_sign__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = sign(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sign" ===============
+// cppName: "casadi::casadi_sign"
+// cWrapperName: "casadi_sign__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_sign__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_sign"
+// call: "        casadi::MX ret = sign(x0_);"
+extern "C"
+casadi::MX*
+    casadi_sign__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_sign__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = sign(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_simplify" ===============
+// cppName: "casadi::casadi_simplify"
+// cWrapperName: "casadi_simplify__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_simplify__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_simplify"
+// call: "        double ret = casadi::simplify(x0_);"
+extern "C"
+double
+    casadi_simplify__0(std::string ** err_msg, double* x0);
+double
+    casadi_simplify__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = casadi::simplify(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_simplify" ===============
+// cppName: "casadi::casadi_simplify"
+// cWrapperName: "casadi_simplify__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_simplify__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_simplify"
+// call: "        casadi::SX ret = simplify(x0_);"
+extern "C"
+casadi::SX*
+    casadi_simplify__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_simplify__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = simplify(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_simplify" ===============
+// cppName: "casadi::casadi_simplify"
+// cWrapperName: "casadi_simplify__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_simplify__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_simplify"
+// call: "        casadi::DM ret = simplify(x0_);"
+extern "C"
+casadi::DM*
+    casadi_simplify__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_simplify__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = simplify(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_simplify" ===============
+// cppName: "casadi::casadi_simplify"
+// cWrapperName: "casadi_simplify__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_simplify__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_simplify"
+// call: "        casadi::IM ret = simplify(x0_);"
+extern "C"
+casadi::IM*
+    casadi_simplify__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_simplify__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = simplify(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_simplify" ===============
+// cppName: "casadi::casadi_simplify"
+// cWrapperName: "casadi_simplify__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_simplify__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_simplify"
+// call: "        casadi::MX ret = simplify(x0_);"
+extern "C"
+casadi::MX*
+    casadi_simplify__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_simplify__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = simplify(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sin" ===============
+// cppName: "casadi::casadi_sin"
+// cWrapperName: "casadi_sin__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_sin__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_sin"
+// call: "        double ret = sin(x0_);"
+extern "C"
+double
+    casadi_sin__0(std::string ** err_msg, double* x0);
+double
+    casadi_sin__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = sin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sin" ===============
+// cppName: "casadi::casadi_sin"
+// cWrapperName: "casadi_sin__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_sin__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_sin"
+// call: "        casadi::SX ret = sin(x0_);"
+extern "C"
+casadi::SX*
+    casadi_sin__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_sin__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = sin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sin" ===============
+// cppName: "casadi::casadi_sin"
+// cWrapperName: "casadi_sin__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_sin__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_sin"
+// call: "        casadi::DM ret = sin(x0_);"
+extern "C"
+casadi::DM*
+    casadi_sin__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_sin__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = sin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sin" ===============
+// cppName: "casadi::casadi_sin"
+// cWrapperName: "casadi_sin__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_sin__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_sin"
+// call: "        casadi::IM ret = sin(x0_);"
+extern "C"
+casadi::IM*
+    casadi_sin__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_sin__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = sin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sin" ===============
+// cppName: "casadi::casadi_sin"
+// cWrapperName: "casadi_sin__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_sin__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_sin"
+// call: "        casadi::MX ret = sin(x0_);"
+extern "C"
+casadi::MX*
+    casadi_sin__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_sin__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = sin(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sinh" ===============
+// cppName: "casadi::casadi_sinh"
+// cWrapperName: "casadi_sinh__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_sinh__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_sinh"
+// call: "        double ret = sinh(x0_);"
+extern "C"
+double
+    casadi_sinh__0(std::string ** err_msg, double* x0);
+double
+    casadi_sinh__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = sinh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sinh" ===============
+// cppName: "casadi::casadi_sinh"
+// cWrapperName: "casadi_sinh__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_sinh__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_sinh"
+// call: "        casadi::SX ret = sinh(x0_);"
+extern "C"
+casadi::SX*
+    casadi_sinh__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_sinh__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = sinh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sinh" ===============
+// cppName: "casadi::casadi_sinh"
+// cWrapperName: "casadi_sinh__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_sinh__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_sinh"
+// call: "        casadi::DM ret = sinh(x0_);"
+extern "C"
+casadi::DM*
+    casadi_sinh__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_sinh__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = sinh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sinh" ===============
+// cppName: "casadi::casadi_sinh"
+// cWrapperName: "casadi_sinh__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_sinh__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_sinh"
+// call: "        casadi::IM ret = sinh(x0_);"
+extern "C"
+casadi::IM*
+    casadi_sinh__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_sinh__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = sinh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sinh" ===============
+// cppName: "casadi::casadi_sinh"
+// cWrapperName: "casadi_sinh__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_sinh__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_sinh"
+// call: "        casadi::MX ret = sinh(x0_);"
+extern "C"
+casadi::MX*
+    casadi_sinh__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_sinh__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = sinh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_skew" ===============
+// cppName: "casadi::casadi_skew"
+// cWrapperName: "casadi_skew__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_skew__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_skew"
+// call: "        casadi::SX ret = skew(x0_);"
+extern "C"
+casadi::SX*
+    casadi_skew__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_skew__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = skew(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_skew" ===============
+// cppName: "casadi::casadi_skew"
+// cWrapperName: "casadi_skew__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_skew__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_skew"
+// call: "        casadi::DM ret = skew(x0_);"
+extern "C"
+casadi::DM*
+    casadi_skew__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_skew__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = skew(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_skew" ===============
+// cppName: "casadi::casadi_skew"
+// cWrapperName: "casadi_skew__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_skew__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_skew"
+// call: "        casadi::IM ret = skew(x0_);"
+extern "C"
+casadi::IM*
+    casadi_skew__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_skew__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = skew(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_skew" ===============
+// cppName: "casadi::casadi_skew"
+// cWrapperName: "casadi_skew__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_skew__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_skew"
+// call: "        casadi::MX ret = skew(x0_);"
+extern "C"
+casadi::MX*
+    casadi_skew__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_skew__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = skew(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_soc" ===============
+// cppName: "casadi::casadi_soc"
+// cWrapperName: "casadi_soc__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_soc__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_soc"
+// call: "        casadi::SX ret = soc(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_soc__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_soc__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = soc(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_soc" ===============
+// cppName: "casadi::casadi_soc"
+// cWrapperName: "casadi_soc__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_soc__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_soc"
+// call: "        casadi::DM ret = soc(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_soc__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_soc__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = soc(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_soc" ===============
+// cppName: "casadi::casadi_soc"
+// cWrapperName: "casadi_soc__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_soc__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_soc"
+// call: "        casadi::IM ret = soc(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_soc__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_soc__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = soc(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_soc" ===============
+// cppName: "casadi::casadi_soc"
+// cWrapperName: "casadi_soc__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_soc__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_soc"
+// call: "        casadi::MX ret = soc(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_soc__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_soc__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = soc(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_solve" ===============
+// cppName: "casadi::casadi_solve"
+// cWrapperName: "casadi_solve__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2)"
+// friendWrap: True
+// fName: "casadi_solve"
+// call: "        casadi::SX ret = solve(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2);
+casadi::SX*
+    casadi_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+
+        casadi::SX ret = solve(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_solve" ===============
+// cppName: "casadi::casadi_solve"
+// cWrapperName: "casadi_solve__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: True
+// fName: "casadi_solve"
+// call: "        casadi::SX ret = solve(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::SX*
+    casadi_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::SX*
+    casadi_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::SX ret = solve(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_solve" ===============
+// cppName: "casadi::casadi_solve"
+// cWrapperName: "casadi_solve__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_solve__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_solve"
+// call: "        casadi::SX ret = solve(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_solve__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_solve__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = solve(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_solve" ===============
+// cppName: "casadi::casadi_solve"
+// cWrapperName: "casadi_solve__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2)"
+// friendWrap: True
+// fName: "casadi_solve"
+// call: "        casadi::DM ret = solve(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2);
+casadi::DM*
+    casadi_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+
+        casadi::DM ret = solve(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_solve" ===============
+// cppName: "casadi::casadi_solve"
+// cWrapperName: "casadi_solve__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_solve__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: True
+// fName: "casadi_solve"
+// call: "        casadi::DM ret = solve(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::DM*
+    casadi_solve__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::DM*
+    casadi_solve__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::DM ret = solve(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_solve" ===============
+// cppName: "casadi::casadi_solve"
+// cWrapperName: "casadi_solve__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_solve__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_solve"
+// call: "        casadi::DM ret = solve(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_solve__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_solve__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = solve(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_solve" ===============
+// cppName: "casadi::casadi_solve"
+// cWrapperName: "casadi_solve__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_solve__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2)"
+// friendWrap: True
+// fName: "casadi_solve"
+// call: "        casadi::IM ret = solve(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_solve__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2);
+casadi::IM*
+    casadi_solve__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+
+        casadi::IM ret = solve(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_solve" ===============
+// cppName: "casadi::casadi_solve"
+// cWrapperName: "casadi_solve__7"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_solve__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: True
+// fName: "casadi_solve"
+// call: "        casadi::IM ret = solve(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::IM*
+    casadi_solve__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::IM*
+    casadi_solve__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::IM ret = solve(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_solve" ===============
+// cppName: "casadi::casadi_solve"
+// cWrapperName: "casadi_solve__8"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_solve__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_solve"
+// call: "        casadi::IM ret = solve(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_solve__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_solve__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = solve(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_solve" ===============
+// cppName: "casadi::casadi_solve"
+// cWrapperName: "casadi_solve__9"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_solve__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2)"
+// friendWrap: True
+// fName: "casadi_solve"
+// call: "        casadi::MX ret = solve(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_solve__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2);
+casadi::MX*
+    casadi_solve__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+
+        casadi::MX ret = solve(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_solve" ===============
+// cppName: "casadi::casadi_solve"
+// cWrapperName: "casadi_solve__10"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_solve__10(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: True
+// fName: "casadi_solve"
+// call: "        casadi::MX ret = solve(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::MX*
+    casadi_solve__10(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::MX*
+    casadi_solve__10(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::MX ret = solve(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_solve" ===============
+// cppName: "casadi::casadi_solve"
+// cWrapperName: "casadi_solve__11"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_solve__11(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_solve"
+// call: "        casadi::MX ret = solve(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_solve__11(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_solve__11(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = solve(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sparsify" ===============
+// cppName: "casadi::casadi_sparsify"
+// cWrapperName: "casadi_sparsify__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_sparsify__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_sparsify"
+// call: "        casadi::SX ret = sparsify(x0_);"
+extern "C"
+casadi::SX*
+    casadi_sparsify__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_sparsify__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = sparsify(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sparsify" ===============
+// cppName: "casadi::casadi_sparsify"
+// cWrapperName: "casadi_sparsify__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, double x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CDouble,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_sparsify__1(std::string ** err_msg, casadi::SX* x0, double x1)"
+// friendWrap: True
+// fName: "casadi_sparsify"
+// call: "        casadi::SX ret = sparsify(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_sparsify__1(std::string ** err_msg, casadi::SX* x0, double x1);
+casadi::SX*
+    casadi_sparsify__1(std::string ** err_msg, casadi::SX* x0, double x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+
+        casadi::SX ret = sparsify(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sparsify" ===============
+// cppName: "casadi::casadi_sparsify"
+// cWrapperName: "casadi_sparsify__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_sparsify__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_sparsify"
+// call: "        casadi::DM ret = sparsify(x0_);"
+extern "C"
+casadi::DM*
+    casadi_sparsify__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_sparsify__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = sparsify(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sparsify" ===============
+// cppName: "casadi::casadi_sparsify"
+// cWrapperName: "casadi_sparsify__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, double x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CDouble,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_sparsify__3(std::string ** err_msg, casadi::DM* x0, double x1)"
+// friendWrap: True
+// fName: "casadi_sparsify"
+// call: "        casadi::DM ret = sparsify(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_sparsify__3(std::string ** err_msg, casadi::DM* x0, double x1);
+casadi::DM*
+    casadi_sparsify__3(std::string ** err_msg, casadi::DM* x0, double x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+
+        casadi::DM ret = sparsify(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sparsify" ===============
+// cppName: "casadi::casadi_sparsify"
+// cWrapperName: "casadi_sparsify__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_sparsify__4(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_sparsify"
+// call: "        casadi::IM ret = sparsify(x0_);"
+extern "C"
+casadi::IM*
+    casadi_sparsify__4(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_sparsify__4(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = sparsify(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sparsify" ===============
+// cppName: "casadi::casadi_sparsify"
+// cWrapperName: "casadi_sparsify__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, double x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CDouble,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_sparsify__5(std::string ** err_msg, casadi::IM* x0, double x1)"
+// friendWrap: True
+// fName: "casadi_sparsify"
+// call: "        casadi::IM ret = sparsify(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_sparsify__5(std::string ** err_msg, casadi::IM* x0, double x1);
+casadi::IM*
+    casadi_sparsify__5(std::string ** err_msg, casadi::IM* x0, double x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+
+        casadi::IM ret = sparsify(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sprank" ===============
+// cppName: "casadi::casadi_sprank"
+// cWrapperName: "casadi_sprank__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi_sprank__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_sprank"
+// call: "        long long ret = sprank(x0_);"
+extern "C"
+long long
+    casadi_sprank__0(std::string ** err_msg, casadi::SX* x0);
+long long
+    casadi_sprank__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        long long ret = sprank(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sprank" ===============
+// cppName: "casadi::casadi_sprank"
+// cWrapperName: "casadi_sprank__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi_sprank__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_sprank"
+// call: "        long long ret = sprank(x0_);"
+extern "C"
+long long
+    casadi_sprank__1(std::string ** err_msg, casadi::DM* x0);
+long long
+    casadi_sprank__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        long long ret = sprank(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sprank" ===============
+// cppName: "casadi::casadi_sprank"
+// cWrapperName: "casadi_sprank__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi_sprank__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_sprank"
+// call: "        long long ret = sprank(x0_);"
+extern "C"
+long long
+    casadi_sprank__2(std::string ** err_msg, casadi::IM* x0);
+long long
+    casadi_sprank__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        long long ret = sprank(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sprank" ===============
+// cppName: "casadi::casadi_sprank"
+// cWrapperName: "casadi_sprank__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi_sprank__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_sprank"
+// call: "        long long ret = sprank(x0_);"
+extern "C"
+long long
+    casadi_sprank__3(std::string ** err_msg, casadi::MX* x0);
+long long
+    casadi_sprank__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        long long ret = sprank(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sprank" ===============
+// cppName: "casadi::casadi_sprank"
+// cWrapperName: "casadi_sprank__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "long long"
+// proto: "long long\n    casadi_sprank__4(std::string ** err_msg, casadi::Sparsity* x0)"
+// friendWrap: True
+// fName: "casadi_sprank"
+// call: "        long long ret = sprank(x0_);"
+extern "C"
+long long
+    casadi_sprank__4(std::string ** err_msg, casadi::Sparsity* x0);
+long long
+    casadi_sprank__4(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        long long ret = sprank(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sqrt" ===============
+// cppName: "casadi::casadi_sqrt"
+// cWrapperName: "casadi_sqrt__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_sqrt__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_sqrt"
+// call: "        double ret = sqrt(x0_);"
+extern "C"
+double
+    casadi_sqrt__0(std::string ** err_msg, double* x0);
+double
+    casadi_sqrt__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = sqrt(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sqrt" ===============
+// cppName: "casadi::casadi_sqrt"
+// cWrapperName: "casadi_sqrt__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_sqrt__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_sqrt"
+// call: "        casadi::SX ret = sqrt(x0_);"
+extern "C"
+casadi::SX*
+    casadi_sqrt__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_sqrt__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = sqrt(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sqrt" ===============
+// cppName: "casadi::casadi_sqrt"
+// cWrapperName: "casadi_sqrt__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_sqrt__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_sqrt"
+// call: "        casadi::DM ret = sqrt(x0_);"
+extern "C"
+casadi::DM*
+    casadi_sqrt__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_sqrt__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = sqrt(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sqrt" ===============
+// cppName: "casadi::casadi_sqrt"
+// cWrapperName: "casadi_sqrt__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_sqrt__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_sqrt"
+// call: "        casadi::IM ret = sqrt(x0_);"
+extern "C"
+casadi::IM*
+    casadi_sqrt__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_sqrt__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = sqrt(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sqrt" ===============
+// cppName: "casadi::casadi_sqrt"
+// cWrapperName: "casadi_sqrt__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_sqrt__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_sqrt"
+// call: "        casadi::MX ret = sqrt(x0_);"
+extern "C"
+casadi::MX*
+    casadi_sqrt__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_sqrt__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = sqrt(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute" ===============
+// cppName: "casadi::casadi_substitute"
+// cWrapperName: "casadi_substitute__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi_substitute__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
+// friendWrap: True
+// fName: "casadi_substitute"
+// call: "        std::vector< casadi::SX > ret = substitute(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::SX* >*
+    casadi_substitute__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2);
+std::vector< casadi::SX* >*
+    casadi_substitute__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = substitute(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute" ===============
+// cppName: "casadi::casadi_substitute"
+// cWrapperName: "casadi_substitute__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_substitute__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// friendWrap: True
+// fName: "casadi_substitute"
+// call: "        casadi::SX ret = substitute(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_substitute__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi_substitute__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = substitute(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute" ===============
+// cppName: "casadi::casadi_substitute"
+// cWrapperName: "casadi_substitute__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi_substitute__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2)"
+// friendWrap: True
+// fName: "casadi_substitute"
+// call: "        std::vector< casadi::DM > ret = substitute(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::DM* >*
+    casadi_substitute__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2);
+std::vector< casadi::DM* >*
+    casadi_substitute__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
+        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
+
+        std::vector< casadi::DM > ret = substitute(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute" ===============
+// cppName: "casadi::casadi_substitute"
+// cWrapperName: "casadi_substitute__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_substitute__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// friendWrap: True
+// fName: "casadi_substitute"
+// call: "        casadi::DM ret = substitute(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_substitute__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi_substitute__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = substitute(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute" ===============
+// cppName: "casadi::casadi_substitute"
+// cWrapperName: "casadi_substitute__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi_substitute__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2)"
+// friendWrap: True
+// fName: "casadi_substitute"
+// call: "        std::vector< casadi::IM > ret = substitute(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::IM* >*
+    casadi_substitute__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2);
+std::vector< casadi::IM* >*
+    casadi_substitute__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
+        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
+
+        std::vector< casadi::IM > ret = substitute(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute" ===============
+// cppName: "casadi::casadi_substitute"
+// cWrapperName: "casadi_substitute__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_substitute__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// friendWrap: True
+// fName: "casadi_substitute"
+// call: "        casadi::IM ret = substitute(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_substitute__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi_substitute__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = substitute(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute" ===============
+// cppName: "casadi::casadi_substitute"
+// cWrapperName: "casadi_substitute__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_substitute__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// friendWrap: True
+// fName: "casadi_substitute"
+// call: "        std::vector< casadi::MX > ret = substitute(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_substitute__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
+std::vector< casadi::MX* >*
+    casadi_substitute__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = substitute(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute" ===============
+// cppName: "casadi::casadi_substitute"
+// cWrapperName: "casadi_substitute__7"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_substitute__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// friendWrap: True
+// fName: "casadi_substitute"
+// call: "        casadi::MX ret = substitute(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    casadi_substitute__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
+casadi::MX*
+    casadi_substitute__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
+
+        casadi::MX ret = substitute(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute_inplace" ===============
+// cppName: "casadi::casadi_substitute_inplace"
+// cWrapperName: "casadi_substitute_inplace__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_substitute_inplace__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
+// friendWrap: True
+// fName: "casadi_substitute_inplace"
+// call: "        substitute_inplace(x0_, x1_, x2_);"
+extern "C"
+void
+    casadi_substitute_inplace__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2);
+void
+    casadi_substitute_inplace__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
+
+        substitute_inplace(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute_inplace" ===============
+// cppName: "casadi::casadi_substitute_inplace"
+// cWrapperName: "casadi_substitute_inplace__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_substitute_inplace__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_substitute_inplace"
+// call: "        substitute_inplace(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_substitute_inplace__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3);
+void
+    casadi_substitute_inplace__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
+        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        substitute_inplace(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute_inplace" ===============
+// cppName: "casadi::casadi_substitute_inplace"
+// cWrapperName: "casadi_substitute_inplace__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_substitute_inplace__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2)"
+// friendWrap: True
+// fName: "casadi_substitute_inplace"
+// call: "        substitute_inplace(x0_, x1_, x2_);"
+extern "C"
+void
+    casadi_substitute_inplace__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2);
+void
+    casadi_substitute_inplace__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
+        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
+
+        substitute_inplace(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute_inplace" ===============
+// cppName: "casadi::casadi_substitute_inplace"
+// cWrapperName: "casadi_substitute_inplace__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, int x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_substitute_inplace__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_substitute_inplace"
+// call: "        substitute_inplace(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_substitute_inplace__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, int x3);
+void
+    casadi_substitute_inplace__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, int x3){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
+        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        substitute_inplace(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute_inplace" ===============
+// cppName: "casadi::casadi_substitute_inplace"
+// cWrapperName: "casadi_substitute_inplace__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_substitute_inplace__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2)"
+// friendWrap: True
+// fName: "casadi_substitute_inplace"
+// call: "        substitute_inplace(x0_, x1_, x2_);"
+extern "C"
+void
+    casadi_substitute_inplace__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2);
+void
+    casadi_substitute_inplace__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
+        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
+
+        substitute_inplace(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute_inplace" ===============
+// cppName: "casadi::casadi_substitute_inplace"
+// cWrapperName: "casadi_substitute_inplace__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, int x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_substitute_inplace__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_substitute_inplace"
+// call: "        substitute_inplace(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_substitute_inplace__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, int x3);
+void
+    casadi_substitute_inplace__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, int x3){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
+        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        substitute_inplace(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute_inplace" ===============
+// cppName: "casadi::casadi_substitute_inplace"
+// cWrapperName: "casadi_substitute_inplace__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_substitute_inplace__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// friendWrap: True
+// fName: "casadi_substitute_inplace"
+// call: "        substitute_inplace(x0_, x1_, x2_);"
+extern "C"
+void
+    casadi_substitute_inplace__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
+void
+    casadi_substitute_inplace__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
+
+        substitute_inplace(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_substitute_inplace" ===============
+// cppName: "casadi::casadi_substitute_inplace"
+// cWrapperName: "casadi_substitute_inplace__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void\n    casadi_substitute_inplace__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3)"
+// friendWrap: True
+// fName: "casadi_substitute_inplace"
+// call: "        substitute_inplace(x0_, x1_, x2_, x3_);"
+extern "C"
+void
+    casadi_substitute_inplace__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3);
+void
+    casadi_substitute_inplace__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        substitute_inplace(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::casadi_sum1" ===============
+// cppName: "casadi::casadi_sum1"
+// cWrapperName: "casadi_sum1__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_sum1__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_sum1"
+// call: "        casadi::SX ret = sum1(x0_);"
+extern "C"
+casadi::SX*
+    casadi_sum1__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_sum1__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = sum1(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sum1" ===============
+// cppName: "casadi::casadi_sum1"
+// cWrapperName: "casadi_sum1__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_sum1__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_sum1"
+// call: "        casadi::DM ret = sum1(x0_);"
+extern "C"
+casadi::DM*
+    casadi_sum1__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_sum1__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = sum1(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sum1" ===============
+// cppName: "casadi::casadi_sum1"
+// cWrapperName: "casadi_sum1__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_sum1__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_sum1"
+// call: "        casadi::IM ret = sum1(x0_);"
+extern "C"
+casadi::IM*
+    casadi_sum1__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_sum1__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = sum1(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sum1" ===============
+// cppName: "casadi::casadi_sum1"
+// cWrapperName: "casadi_sum1__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_sum1__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_sum1"
+// call: "        casadi::MX ret = sum1(x0_);"
+extern "C"
+casadi::MX*
+    casadi_sum1__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_sum1__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = sum1(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sum1" ===============
+// cppName: "casadi::casadi_sum1"
+// cWrapperName: "casadi_sum1__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_sum1__4(std::string ** err_msg, casadi::Sparsity* x0)"
+// friendWrap: True
+// fName: "casadi_sum1"
+// call: "        casadi::Sparsity ret = sum1(x0_);"
+extern "C"
+casadi::Sparsity*
+    casadi_sum1__4(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::Sparsity*
+    casadi_sum1__4(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::Sparsity ret = sum1(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sum2" ===============
+// cppName: "casadi::casadi_sum2"
+// cWrapperName: "casadi_sum2__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_sum2__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_sum2"
+// call: "        casadi::SX ret = sum2(x0_);"
+extern "C"
+casadi::SX*
+    casadi_sum2__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_sum2__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = sum2(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sum2" ===============
+// cppName: "casadi::casadi_sum2"
+// cWrapperName: "casadi_sum2__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_sum2__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_sum2"
+// call: "        casadi::DM ret = sum2(x0_);"
+extern "C"
+casadi::DM*
+    casadi_sum2__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_sum2__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = sum2(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sum2" ===============
+// cppName: "casadi::casadi_sum2"
+// cWrapperName: "casadi_sum2__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_sum2__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_sum2"
+// call: "        casadi::IM ret = sum2(x0_);"
+extern "C"
+casadi::IM*
+    casadi_sum2__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_sum2__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = sum2(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sum2" ===============
+// cppName: "casadi::casadi_sum2"
+// cWrapperName: "casadi_sum2__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_sum2__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_sum2"
+// call: "        casadi::MX ret = sum2(x0_);"
+extern "C"
+casadi::MX*
+    casadi_sum2__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_sum2__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = sum2(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sum2" ===============
+// cppName: "casadi::casadi_sum2"
+// cWrapperName: "casadi_sum2__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_sum2__4(std::string ** err_msg, casadi::Sparsity* x0)"
+// friendWrap: True
+// fName: "casadi_sum2"
+// call: "        casadi::Sparsity ret = sum2(x0_);"
+extern "C"
+casadi::Sparsity*
+    casadi_sum2__4(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::Sparsity*
+    casadi_sum2__4(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::Sparsity ret = sum2(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sumsqr" ===============
+// cppName: "casadi::casadi_sumsqr"
+// cWrapperName: "casadi_sumsqr__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_sumsqr__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_sumsqr"
+// call: "        casadi::SX ret = sumsqr(x0_);"
+extern "C"
+casadi::SX*
+    casadi_sumsqr__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_sumsqr__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = sumsqr(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sumsqr" ===============
+// cppName: "casadi::casadi_sumsqr"
+// cWrapperName: "casadi_sumsqr__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_sumsqr__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_sumsqr"
+// call: "        casadi::DM ret = sumsqr(x0_);"
+extern "C"
+casadi::DM*
+    casadi_sumsqr__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_sumsqr__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = sumsqr(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sumsqr" ===============
+// cppName: "casadi::casadi_sumsqr"
+// cWrapperName: "casadi_sumsqr__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_sumsqr__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_sumsqr"
+// call: "        casadi::IM ret = sumsqr(x0_);"
+extern "C"
+casadi::IM*
+    casadi_sumsqr__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_sumsqr__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = sumsqr(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_sumsqr" ===============
+// cppName: "casadi::casadi_sumsqr"
+// cWrapperName: "casadi_sumsqr__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_sumsqr__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_sumsqr"
+// call: "        casadi::MX ret = sumsqr(x0_);"
+extern "C"
+casadi::MX*
+    casadi_sumsqr__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_sumsqr__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = sumsqr(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_symvar" ===============
+// cppName: "casadi::casadi_symvar"
+// cWrapperName: "casadi_symvar__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi_symvar__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_symvar"
+// call: "        std::vector< casadi::SX > ret = symvar(x0_);"
+extern "C"
+std::vector< casadi::SX* >*
+    casadi_symvar__0(std::string ** err_msg, casadi::SX* x0);
+std::vector< casadi::SX* >*
+    casadi_symvar__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = symvar(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_symvar" ===============
+// cppName: "casadi::casadi_symvar"
+// cWrapperName: "casadi_symvar__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi_symvar__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_symvar"
+// call: "        std::vector< casadi::DM > ret = symvar(x0_);"
+extern "C"
+std::vector< casadi::DM* >*
+    casadi_symvar__1(std::string ** err_msg, casadi::DM* x0);
+std::vector< casadi::DM* >*
+    casadi_symvar__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        std::vector< casadi::DM > ret = symvar(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_symvar" ===============
+// cppName: "casadi::casadi_symvar"
+// cWrapperName: "casadi_symvar__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi_symvar__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_symvar"
+// call: "        std::vector< casadi::IM > ret = symvar(x0_);"
+extern "C"
+std::vector< casadi::IM* >*
+    casadi_symvar__2(std::string ** err_msg, casadi::IM* x0);
+std::vector< casadi::IM* >*
+    casadi_symvar__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        std::vector< casadi::IM > ret = symvar(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_symvar" ===============
+// cppName: "casadi::casadi_symvar"
+// cWrapperName: "casadi_symvar__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_symvar__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_symvar"
+// call: "        std::vector< casadi::MX > ret = symvar(x0_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_symvar__3(std::string ** err_msg, casadi::MX* x0);
+std::vector< casadi::MX* >*
+    casadi_symvar__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = symvar(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tan" ===============
+// cppName: "casadi::casadi_tan"
+// cWrapperName: "casadi_tan__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_tan__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_tan"
+// call: "        double ret = tan(x0_);"
+extern "C"
+double
+    casadi_tan__0(std::string ** err_msg, double* x0);
+double
+    casadi_tan__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = tan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tan" ===============
+// cppName: "casadi::casadi_tan"
+// cWrapperName: "casadi_tan__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_tan__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_tan"
+// call: "        casadi::SX ret = tan(x0_);"
+extern "C"
+casadi::SX*
+    casadi_tan__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_tan__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = tan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tan" ===============
+// cppName: "casadi::casadi_tan"
+// cWrapperName: "casadi_tan__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_tan__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_tan"
+// call: "        casadi::DM ret = tan(x0_);"
+extern "C"
+casadi::DM*
+    casadi_tan__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_tan__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = tan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tan" ===============
+// cppName: "casadi::casadi_tan"
+// cWrapperName: "casadi_tan__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_tan__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_tan"
+// call: "        casadi::IM ret = tan(x0_);"
+extern "C"
+casadi::IM*
+    casadi_tan__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_tan__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = tan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tan" ===============
+// cppName: "casadi::casadi_tan"
+// cWrapperName: "casadi_tan__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_tan__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_tan"
+// call: "        casadi::MX ret = tan(x0_);"
+extern "C"
+casadi::MX*
+    casadi_tan__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_tan__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = tan(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tangent" ===============
+// cppName: "casadi::casadi_tangent"
+// cWrapperName: "casadi_tangent__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_tangent__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_tangent"
+// call: "        casadi::SX ret = tangent(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_tangent__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_tangent__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = tangent(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tangent" ===============
+// cppName: "casadi::casadi_tangent"
+// cWrapperName: "casadi_tangent__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_tangent__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_tangent"
+// call: "        casadi::DM ret = tangent(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_tangent__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_tangent__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = tangent(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tangent" ===============
+// cppName: "casadi::casadi_tangent"
+// cWrapperName: "casadi_tangent__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_tangent__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_tangent"
+// call: "        casadi::IM ret = tangent(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_tangent__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_tangent__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = tangent(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tangent" ===============
+// cppName: "casadi::casadi_tangent"
+// cWrapperName: "casadi_tangent__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_tangent__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_tangent"
+// call: "        casadi::MX ret = tangent(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_tangent__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_tangent__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = tangent(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tanh" ===============
+// cppName: "casadi::casadi_tanh"
+// cWrapperName: "casadi_tanh__0"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_tanh__0(std::string ** err_msg, double* x0)"
+// friendWrap: True
+// fName: "casadi_tanh"
+// call: "        double ret = tanh(x0_);"
+extern "C"
+double
+    casadi_tanh__0(std::string ** err_msg, double* x0);
+double
+    casadi_tanh__0(std::string ** err_msg, double* x0){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+        double ret = tanh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tanh" ===============
+// cppName: "casadi::casadi_tanh"
+// cWrapperName: "casadi_tanh__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_tanh__1(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_tanh"
+// call: "        casadi::SX ret = tanh(x0_);"
+extern "C"
+casadi::SX*
+    casadi_tanh__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_tanh__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = tanh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tanh" ===============
+// cppName: "casadi::casadi_tanh"
+// cWrapperName: "casadi_tanh__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_tanh__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_tanh"
+// call: "        casadi::DM ret = tanh(x0_);"
+extern "C"
+casadi::DM*
+    casadi_tanh__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_tanh__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = tanh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tanh" ===============
+// cppName: "casadi::casadi_tanh"
+// cWrapperName: "casadi_tanh__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_tanh__3(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_tanh"
+// call: "        casadi::IM ret = tanh(x0_);"
+extern "C"
+casadi::IM*
+    casadi_tanh__3(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_tanh__3(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = tanh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tanh" ===============
+// cppName: "casadi::casadi_tanh"
+// cWrapperName: "casadi_tanh__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_tanh__4(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_tanh"
+// call: "        casadi::MX ret = tanh(x0_);"
+extern "C"
+casadi::MX*
+    casadi_tanh__4(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_tanh__4(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = tanh(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_taylor" ===============
+// cppName: "casadi::casadi_taylor"
+// cWrapperName: "casadi_taylor__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_taylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_taylor"
+// call: "        casadi::SX ret = taylor(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_taylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_taylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = taylor(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_taylor" ===============
+// cppName: "casadi::casadi_taylor"
+// cWrapperName: "casadi_taylor__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_taylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// friendWrap: True
+// fName: "casadi_taylor"
+// call: "        casadi::SX ret = taylor(x0_, x1_, x2_);"
+extern "C"
+casadi::SX*
+    casadi_taylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX*
+    casadi_taylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = taylor(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_taylor" ===============
+// cppName: "casadi::casadi_taylor"
+// cWrapperName: "casadi_taylor__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_taylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3)"
+// friendWrap: True
+// fName: "casadi_taylor"
+// call: "        casadi::SX ret = taylor(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::SX*
+    casadi_taylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3);
+casadi::SX*
+    casadi_taylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        casadi::SX ret = taylor(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_taylor" ===============
+// cppName: "casadi::casadi_taylor"
+// cWrapperName: "casadi_taylor__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_taylor__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_taylor"
+// call: "        casadi::DM ret = taylor(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_taylor__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_taylor__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = taylor(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_taylor" ===============
+// cppName: "casadi::casadi_taylor"
+// cWrapperName: "casadi_taylor__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_taylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
+// friendWrap: True
+// fName: "casadi_taylor"
+// call: "        casadi::DM ret = taylor(x0_, x1_, x2_);"
+extern "C"
+casadi::DM*
+    casadi_taylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
+casadi::DM*
+    casadi_taylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+
+        casadi::DM ret = taylor(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_taylor" ===============
+// cppName: "casadi::casadi_taylor"
+// cWrapperName: "casadi_taylor__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_taylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3)"
+// friendWrap: True
+// fName: "casadi_taylor"
+// call: "        casadi::DM ret = taylor(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::DM*
+    casadi_taylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3);
+casadi::DM*
+    casadi_taylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        casadi::DM ret = taylor(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_taylor" ===============
+// cppName: "casadi::casadi_taylor"
+// cWrapperName: "casadi_taylor__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_taylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_taylor"
+// call: "        casadi::IM ret = taylor(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_taylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_taylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = taylor(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_taylor" ===============
+// cppName: "casadi::casadi_taylor"
+// cWrapperName: "casadi_taylor__7"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_taylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
+// friendWrap: True
+// fName: "casadi_taylor"
+// call: "        casadi::IM ret = taylor(x0_, x1_, x2_);"
+extern "C"
+casadi::IM*
+    casadi_taylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
+casadi::IM*
+    casadi_taylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+
+        casadi::IM ret = taylor(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_taylor" ===============
+// cppName: "casadi::casadi_taylor"
+// cWrapperName: "casadi_taylor__8"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_taylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3)"
+// friendWrap: True
+// fName: "casadi_taylor"
+// call: "        casadi::IM ret = taylor(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::IM*
+    casadi_taylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3);
+casadi::IM*
+    casadi_taylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
+        long long x3_ = Marshaling<long long,long long>::marshal(x3);
+
+        casadi::IM ret = taylor(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_times" ===============
+// cppName: "casadi::casadi_times"
+// cWrapperName: "casadi_times__0"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    casadi_times__0(std::string ** err_msg, double* x0, double* x1)"
+// friendWrap: True
+// fName: "casadi_times"
+// call: "        double ret = x0_ * x1_;"
+extern "C"
+double
+    casadi_times__0(std::string ** err_msg, double* x0, double* x1);
+double
+    casadi_times__0(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double& x0_ = Marshaling<double&,double*>::marshal(x0);
+        double& x1_ = Marshaling<double&,double*>::marshal(x1);
+
+        double ret = x0_ * x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_times" ===============
+// cppName: "casadi::casadi_times"
+// cWrapperName: "casadi_times__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_times__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_times"
+// call: "        casadi::SX ret = x0_ * x1_;"
+extern "C"
+casadi::SX*
+    casadi_times__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_times__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = x0_ * x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_times" ===============
+// cppName: "casadi::casadi_times"
+// cWrapperName: "casadi_times__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_times__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_times"
+// call: "        casadi::DM ret = x0_ * x1_;"
+extern "C"
+casadi::DM*
+    casadi_times__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_times__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = x0_ * x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_times" ===============
+// cppName: "casadi::casadi_times"
+// cWrapperName: "casadi_times__3"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_times__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_times"
+// call: "        casadi::IM ret = x0_ * x1_;"
+extern "C"
+casadi::IM*
+    casadi_times__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_times__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = x0_ * x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_times" ===============
+// cppName: "casadi::casadi_times"
+// cWrapperName: "casadi_times__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_times__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_times"
+// call: "        casadi::MX ret = x0_ * x1_;"
+extern "C"
+casadi::MX*
+    casadi_times__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_times__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = x0_ * x1_;
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_trace" ===============
+// cppName: "casadi::casadi_trace"
+// cWrapperName: "casadi_trace__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_trace__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_trace"
+// call: "        casadi::SX ret = trace(x0_);"
+extern "C"
+casadi::SX*
+    casadi_trace__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_trace__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = trace(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_trace" ===============
+// cppName: "casadi::casadi_trace"
+// cWrapperName: "casadi_trace__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_trace__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_trace"
+// call: "        casadi::DM ret = trace(x0_);"
+extern "C"
+casadi::DM*
+    casadi_trace__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_trace__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = trace(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_trace" ===============
+// cppName: "casadi::casadi_trace"
+// cWrapperName: "casadi_trace__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_trace__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_trace"
+// call: "        casadi::IM ret = trace(x0_);"
+extern "C"
+casadi::IM*
+    casadi_trace__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_trace__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = trace(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_trace" ===============
+// cppName: "casadi::casadi_trace"
+// cWrapperName: "casadi_trace__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_trace__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_trace"
+// call: "        casadi::MX ret = trace(x0_);"
+extern "C"
+casadi::MX*
+    casadi_trace__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_trace__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = trace(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_transpose" ===============
+// cppName: "casadi::casadi_transpose"
+// cWrapperName: "casadi_transpose__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_transpose__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_transpose"
+// call: "        casadi::SX ret = transpose(x0_);"
+extern "C"
+casadi::SX*
+    casadi_transpose__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_transpose__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = transpose(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_transpose" ===============
+// cppName: "casadi::casadi_transpose"
+// cWrapperName: "casadi_transpose__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_transpose__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_transpose"
+// call: "        casadi::DM ret = transpose(x0_);"
+extern "C"
+casadi::DM*
+    casadi_transpose__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_transpose__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = transpose(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_transpose" ===============
+// cppName: "casadi::casadi_transpose"
+// cWrapperName: "casadi_transpose__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_transpose__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_transpose"
+// call: "        casadi::IM ret = transpose(x0_);"
+extern "C"
+casadi::IM*
+    casadi_transpose__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_transpose__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = transpose(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_transpose" ===============
+// cppName: "casadi::casadi_transpose"
+// cWrapperName: "casadi_transpose__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_transpose__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_transpose"
+// call: "        casadi::MX ret = transpose(x0_);"
+extern "C"
+casadi::MX*
+    casadi_transpose__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_transpose__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = transpose(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_transpose" ===============
+// cppName: "casadi::casadi_transpose"
+// cWrapperName: "casadi_transpose__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_transpose__4(std::string ** err_msg, casadi::Sparsity* x0)"
+// friendWrap: True
+// fName: "casadi_transpose"
+// call: "        casadi::Sparsity ret = transpose(x0_);"
+extern "C"
+casadi::Sparsity*
+    casadi_transpose__4(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::Sparsity*
+    casadi_transpose__4(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::Sparsity ret = transpose(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triangle" ===============
+// cppName: "casadi::casadi_triangle"
+// cWrapperName: "casadi_triangle__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_triangle__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_triangle"
+// call: "        casadi::SX ret = triangle(x0_);"
+extern "C"
+casadi::SX*
+    casadi_triangle__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_triangle__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = triangle(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triangle" ===============
+// cppName: "casadi::casadi_triangle"
+// cWrapperName: "casadi_triangle__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_triangle__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_triangle"
+// call: "        casadi::DM ret = triangle(x0_);"
+extern "C"
+casadi::DM*
+    casadi_triangle__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_triangle__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = triangle(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triangle" ===============
+// cppName: "casadi::casadi_triangle"
+// cWrapperName: "casadi_triangle__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_triangle__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_triangle"
+// call: "        casadi::IM ret = triangle(x0_);"
+extern "C"
+casadi::IM*
+    casadi_triangle__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_triangle__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = triangle(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tril" ===============
+// cppName: "casadi::casadi_tril"
+// cWrapperName: "casadi_tril__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_tril__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_tril"
+// call: "        casadi::SX ret = tril(x0_);"
+extern "C"
+casadi::SX*
+    casadi_tril__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_tril__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = tril(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tril" ===============
+// cppName: "casadi::casadi_tril"
+// cWrapperName: "casadi_tril__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_tril__1(std::string ** err_msg, casadi::SX* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_tril"
+// call: "        casadi::SX ret = tril(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_tril__1(std::string ** err_msg, casadi::SX* x0, int x1);
+casadi::SX*
+    casadi_tril__1(std::string ** err_msg, casadi::SX* x0, int x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::SX ret = tril(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tril" ===============
+// cppName: "casadi::casadi_tril"
+// cWrapperName: "casadi_tril__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_tril__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_tril"
+// call: "        casadi::DM ret = tril(x0_);"
+extern "C"
+casadi::DM*
+    casadi_tril__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_tril__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = tril(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tril" ===============
+// cppName: "casadi::casadi_tril"
+// cWrapperName: "casadi_tril__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_tril__3(std::string ** err_msg, casadi::DM* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_tril"
+// call: "        casadi::DM ret = tril(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_tril__3(std::string ** err_msg, casadi::DM* x0, int x1);
+casadi::DM*
+    casadi_tril__3(std::string ** err_msg, casadi::DM* x0, int x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::DM ret = tril(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tril" ===============
+// cppName: "casadi::casadi_tril"
+// cWrapperName: "casadi_tril__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_tril__4(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_tril"
+// call: "        casadi::IM ret = tril(x0_);"
+extern "C"
+casadi::IM*
+    casadi_tril__4(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_tril__4(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = tril(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tril" ===============
+// cppName: "casadi::casadi_tril"
+// cWrapperName: "casadi_tril__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_tril__5(std::string ** err_msg, casadi::IM* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_tril"
+// call: "        casadi::IM ret = tril(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_tril__5(std::string ** err_msg, casadi::IM* x0, int x1);
+casadi::IM*
+    casadi_tril__5(std::string ** err_msg, casadi::IM* x0, int x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::IM ret = tril(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tril" ===============
+// cppName: "casadi::casadi_tril"
+// cWrapperName: "casadi_tril__6"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_tril__6(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_tril"
+// call: "        casadi::MX ret = tril(x0_);"
+extern "C"
+casadi::MX*
+    casadi_tril__6(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_tril__6(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = tril(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tril" ===============
+// cppName: "casadi::casadi_tril"
+// cWrapperName: "casadi_tril__7"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_tril__7(std::string ** err_msg, casadi::MX* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_tril"
+// call: "        casadi::MX ret = tril(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_tril__7(std::string ** err_msg, casadi::MX* x0, int x1);
+casadi::MX*
+    casadi_tril__7(std::string ** err_msg, casadi::MX* x0, int x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::MX ret = tril(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tril" ===============
+// cppName: "casadi::casadi_tril"
+// cWrapperName: "casadi_tril__8"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_tril__8(std::string ** err_msg, casadi::Sparsity* x0)"
+// friendWrap: True
+// fName: "casadi_tril"
+// call: "        casadi::Sparsity ret = tril(x0_);"
+extern "C"
+casadi::Sparsity*
+    casadi_tril__8(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::Sparsity*
+    casadi_tril__8(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::Sparsity ret = tril(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tril" ===============
+// cppName: "casadi::casadi_tril"
+// cWrapperName: "casadi_tril__9"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_tril__9(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_tril"
+// call: "        casadi::Sparsity ret = tril(x0_, x1_);"
+extern "C"
+casadi::Sparsity*
+    casadi_tril__9(std::string ** err_msg, casadi::Sparsity* x0, int x1);
+casadi::Sparsity*
+    casadi_tril__9(std::string ** err_msg, casadi::Sparsity* x0, int x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::Sparsity ret = tril(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tril2symm" ===============
+// cppName: "casadi::casadi_tril2symm"
+// cWrapperName: "casadi_tril2symm__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_tril2symm__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_tril2symm"
+// call: "        casadi::SX ret = tril2symm(x0_);"
+extern "C"
+casadi::SX*
+    casadi_tril2symm__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_tril2symm__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = tril2symm(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tril2symm" ===============
+// cppName: "casadi::casadi_tril2symm"
+// cWrapperName: "casadi_tril2symm__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_tril2symm__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_tril2symm"
+// call: "        casadi::DM ret = tril2symm(x0_);"
+extern "C"
+casadi::DM*
+    casadi_tril2symm__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_tril2symm__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = tril2symm(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tril2symm" ===============
+// cppName: "casadi::casadi_tril2symm"
+// cWrapperName: "casadi_tril2symm__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_tril2symm__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_tril2symm"
+// call: "        casadi::IM ret = tril2symm(x0_);"
+extern "C"
+casadi::IM*
+    casadi_tril2symm__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_tril2symm__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = tril2symm(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_tril2symm" ===============
+// cppName: "casadi::casadi_tril2symm"
+// cWrapperName: "casadi_tril2symm__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_tril2symm__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_tril2symm"
+// call: "        casadi::MX ret = tril2symm(x0_);"
+extern "C"
+casadi::MX*
+    casadi_tril2symm__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_tril2symm__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = tril2symm(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triu" ===============
+// cppName: "casadi::casadi_triu"
+// cWrapperName: "casadi_triu__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_triu__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_triu"
+// call: "        casadi::SX ret = triu(x0_);"
+extern "C"
+casadi::SX*
+    casadi_triu__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_triu__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = triu(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triu" ===============
+// cppName: "casadi::casadi_triu"
+// cWrapperName: "casadi_triu__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_triu__1(std::string ** err_msg, casadi::SX* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_triu"
+// call: "        casadi::SX ret = triu(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_triu__1(std::string ** err_msg, casadi::SX* x0, int x1);
+casadi::SX*
+    casadi_triu__1(std::string ** err_msg, casadi::SX* x0, int x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::SX ret = triu(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triu" ===============
+// cppName: "casadi::casadi_triu"
+// cWrapperName: "casadi_triu__2"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_triu__2(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_triu"
+// call: "        casadi::DM ret = triu(x0_);"
+extern "C"
+casadi::DM*
+    casadi_triu__2(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_triu__2(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = triu(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triu" ===============
+// cppName: "casadi::casadi_triu"
+// cWrapperName: "casadi_triu__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_triu__3(std::string ** err_msg, casadi::DM* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_triu"
+// call: "        casadi::DM ret = triu(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_triu__3(std::string ** err_msg, casadi::DM* x0, int x1);
+casadi::DM*
+    casadi_triu__3(std::string ** err_msg, casadi::DM* x0, int x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::DM ret = triu(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triu" ===============
+// cppName: "casadi::casadi_triu"
+// cWrapperName: "casadi_triu__4"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_triu__4(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_triu"
+// call: "        casadi::IM ret = triu(x0_);"
+extern "C"
+casadi::IM*
+    casadi_triu__4(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_triu__4(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = triu(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triu" ===============
+// cppName: "casadi::casadi_triu"
+// cWrapperName: "casadi_triu__5"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_triu__5(std::string ** err_msg, casadi::IM* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_triu"
+// call: "        casadi::IM ret = triu(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_triu__5(std::string ** err_msg, casadi::IM* x0, int x1);
+casadi::IM*
+    casadi_triu__5(std::string ** err_msg, casadi::IM* x0, int x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::IM ret = triu(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triu" ===============
+// cppName: "casadi::casadi_triu"
+// cWrapperName: "casadi_triu__6"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_triu__6(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_triu"
+// call: "        casadi::MX ret = triu(x0_);"
+extern "C"
+casadi::MX*
+    casadi_triu__6(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_triu__6(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = triu(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triu" ===============
+// cppName: "casadi::casadi_triu"
+// cWrapperName: "casadi_triu__7"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_triu__7(std::string ** err_msg, casadi::MX* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_triu"
+// call: "        casadi::MX ret = triu(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_triu__7(std::string ** err_msg, casadi::MX* x0, int x1);
+casadi::MX*
+    casadi_triu__7(std::string ** err_msg, casadi::MX* x0, int x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::MX ret = triu(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triu" ===============
+// cppName: "casadi::casadi_triu"
+// cWrapperName: "casadi_triu__8"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_triu__8(std::string ** err_msg, casadi::Sparsity* x0)"
+// friendWrap: True
+// fName: "casadi_triu"
+// call: "        casadi::Sparsity ret = triu(x0_);"
+extern "C"
+casadi::Sparsity*
+    casadi_triu__8(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::Sparsity*
+    casadi_triu__8(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::Sparsity ret = triu(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triu" ===============
+// cppName: "casadi::casadi_triu"
+// cWrapperName: "casadi_triu__9"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_triu__9(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
+// friendWrap: True
+// fName: "casadi_triu"
+// call: "        casadi::Sparsity ret = triu(x0_, x1_);"
+extern "C"
+casadi::Sparsity*
+    casadi_triu__9(std::string ** err_msg, casadi::Sparsity* x0, int x1);
+casadi::Sparsity*
+    casadi_triu__9(std::string ** err_msg, casadi::Sparsity* x0, int x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::Sparsity ret = triu(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triu2symm" ===============
+// cppName: "casadi::casadi_triu2symm"
+// cWrapperName: "casadi_triu2symm__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_triu2symm__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_triu2symm"
+// call: "        casadi::SX ret = triu2symm(x0_);"
+extern "C"
+casadi::SX*
+    casadi_triu2symm__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_triu2symm__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = triu2symm(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triu2symm" ===============
+// cppName: "casadi::casadi_triu2symm"
+// cWrapperName: "casadi_triu2symm__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_triu2symm__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_triu2symm"
+// call: "        casadi::DM ret = triu2symm(x0_);"
+extern "C"
+casadi::DM*
+    casadi_triu2symm__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_triu2symm__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = triu2symm(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triu2symm" ===============
+// cppName: "casadi::casadi_triu2symm"
+// cWrapperName: "casadi_triu2symm__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_triu2symm__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_triu2symm"
+// call: "        casadi::IM ret = triu2symm(x0_);"
+extern "C"
+casadi::IM*
+    casadi_triu2symm__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_triu2symm__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = triu2symm(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_triu2symm" ===============
+// cppName: "casadi::casadi_triu2symm"
+// cWrapperName: "casadi_triu2symm__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_triu2symm__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_triu2symm"
+// call: "        casadi::MX ret = triu2symm(x0_);"
+extern "C"
+casadi::MX*
+    casadi_triu2symm__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_triu2symm__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = triu2symm(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_unite" ===============
+// cppName: "casadi::casadi_unite"
+// cWrapperName: "casadi_unite__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_unite__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// friendWrap: True
+// fName: "casadi_unite"
+// call: "        casadi::SX ret = unite(x0_, x1_);"
+extern "C"
+casadi::SX*
+    casadi_unite__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX*
+    casadi_unite__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = unite(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_unite" ===============
+// cppName: "casadi::casadi_unite"
+// cWrapperName: "casadi_unite__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_unite__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
+// friendWrap: True
+// fName: "casadi_unite"
+// call: "        casadi::DM ret = unite(x0_, x1_);"
+extern "C"
+casadi::DM*
+    casadi_unite__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
+casadi::DM*
+    casadi_unite__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
+
+        casadi::DM ret = unite(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_unite" ===============
+// cppName: "casadi::casadi_unite"
+// cWrapperName: "casadi_unite__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_unite__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
+// friendWrap: True
+// fName: "casadi_unite"
+// call: "        casadi::IM ret = unite(x0_, x1_);"
+extern "C"
+casadi::IM*
+    casadi_unite__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
+casadi::IM*
+    casadi_unite__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
+
+        casadi::IM ret = unite(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_unite" ===============
+// cppName: "casadi::casadi_unite"
+// cWrapperName: "casadi_unite__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_unite__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// friendWrap: True
+// fName: "casadi_unite"
+// call: "        casadi::MX ret = unite(x0_, x1_);"
+extern "C"
+casadi::MX*
+    casadi_unite__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX*
+    casadi_unite__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = unite(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vec" ===============
+// cppName: "casadi::casadi_vec"
+// cWrapperName: "casadi_vec__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_vec__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_vec"
+// call: "        casadi::SX ret = vec(x0_);"
+extern "C"
+casadi::SX*
+    casadi_vec__0(std::string ** err_msg, casadi::SX* x0);
+casadi::SX*
+    casadi_vec__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = vec(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vec" ===============
+// cppName: "casadi::casadi_vec"
+// cWrapperName: "casadi_vec__1"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_vec__1(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_vec"
+// call: "        casadi::DM ret = vec(x0_);"
+extern "C"
+casadi::DM*
+    casadi_vec__1(std::string ** err_msg, casadi::DM* x0);
+casadi::DM*
+    casadi_vec__1(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        casadi::DM ret = vec(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vec" ===============
+// cppName: "casadi::casadi_vec"
+// cWrapperName: "casadi_vec__2"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_vec__2(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_vec"
+// call: "        casadi::IM ret = vec(x0_);"
+extern "C"
+casadi::IM*
+    casadi_vec__2(std::string ** err_msg, casadi::IM* x0);
+casadi::IM*
+    casadi_vec__2(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::IM ret = vec(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vec" ===============
+// cppName: "casadi::casadi_vec"
+// cWrapperName: "casadi_vec__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_vec__3(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_vec"
+// call: "        casadi::MX ret = vec(x0_);"
+extern "C"
+casadi::MX*
+    casadi_vec__3(std::string ** err_msg, casadi::MX* x0);
+casadi::MX*
+    casadi_vec__3(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = vec(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vec" ===============
+// cppName: "casadi::casadi_vec"
+// cWrapperName: "casadi_vec__4"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_vec__4(std::string ** err_msg, casadi::Sparsity* x0)"
+// friendWrap: True
+// fName: "casadi_vec"
+// call: "        casadi::Sparsity ret = vec(x0_);"
+extern "C"
+casadi::Sparsity*
+    casadi_vec__4(std::string ** err_msg, casadi::Sparsity* x0);
+casadi::Sparsity*
+    casadi_vec__4(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        casadi::Sparsity ret = vec(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_veccat" ===============
+// cppName: "casadi::casadi_veccat"
+// cWrapperName: "casadi_veccat__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_veccat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// friendWrap: True
+// fName: "casadi_veccat"
+// call: "        casadi::SX ret = veccat(x0_);"
+extern "C"
+casadi::SX*
+    casadi_veccat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+casadi::SX*
+    casadi_veccat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        casadi::SX ret = veccat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_veccat" ===============
+// cppName: "casadi::casadi_veccat"
+// cWrapperName: "casadi_veccat__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_veccat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
+// friendWrap: True
+// fName: "casadi_veccat"
+// call: "        casadi::DM ret = veccat(x0_);"
+extern "C"
+casadi::DM*
+    casadi_veccat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0);
+casadi::DM*
+    casadi_veccat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+
+        casadi::DM ret = veccat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_veccat" ===============
+// cppName: "casadi::casadi_veccat"
+// cWrapperName: "casadi_veccat__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_veccat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
+// friendWrap: True
+// fName: "casadi_veccat"
+// call: "        casadi::IM ret = veccat(x0_);"
+extern "C"
+casadi::IM*
+    casadi_veccat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0);
+casadi::IM*
+    casadi_veccat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+
+        casadi::IM ret = veccat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_veccat" ===============
+// cppName: "casadi::casadi_veccat"
+// cWrapperName: "casadi_veccat__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_veccat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// friendWrap: True
+// fName: "casadi_veccat"
+// call: "        casadi::MX ret = veccat(x0_);"
+extern "C"
+casadi::MX*
+    casadi_veccat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+casadi::MX*
+    casadi_veccat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        casadi::MX ret = veccat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_veccat" ===============
+// cppName: "casadi::casadi_veccat"
+// cWrapperName: "casadi_veccat__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_veccat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// friendWrap: True
+// fName: "casadi_veccat"
+// call: "        casadi::Sparsity ret = veccat(x0_);"
+extern "C"
+casadi::Sparsity*
+    casadi_veccat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+casadi::Sparsity*
+    casadi_veccat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        casadi::Sparsity ret = veccat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertcat" ===============
+// cppName: "casadi::casadi_vertcat"
+// cWrapperName: "casadi_vertcat__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX*\n    casadi_vertcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// friendWrap: True
+// fName: "casadi_vertcat"
+// call: "        casadi::SX ret = vertcat(x0_);"
+extern "C"
+casadi::SX*
+    casadi_vertcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+casadi::SX*
+    casadi_vertcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        casadi::SX ret = vertcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertcat" ===============
+// cppName: "casadi::casadi_vertcat"
+// cWrapperName: "casadi_vertcat__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "DM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DM*"
+// proto: "casadi::DM*\n    casadi_vertcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
+// friendWrap: True
+// fName: "casadi_vertcat"
+// call: "        casadi::DM ret = vertcat(x0_);"
+extern "C"
+casadi::DM*
+    casadi_vertcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0);
+casadi::DM*
+    casadi_vertcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+
+        casadi::DM ret = vertcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertcat" ===============
+// cppName: "casadi::casadi_vertcat"
+// cWrapperName: "casadi_vertcat__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "IM")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IM*"
+// proto: "casadi::IM*\n    casadi_vertcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
+// friendWrap: True
+// fName: "casadi_vertcat"
+// call: "        casadi::IM ret = vertcat(x0_);"
+extern "C"
+casadi::IM*
+    casadi_vertcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0);
+casadi::IM*
+    casadi_vertcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0){
+    try {
+        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
+
+        casadi::IM ret = vertcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertcat" ===============
+// cppName: "casadi::casadi_vertcat"
+// cWrapperName: "casadi_vertcat__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    casadi_vertcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// friendWrap: True
+// fName: "casadi_vertcat"
+// call: "        casadi::MX ret = vertcat(x0_);"
+extern "C"
+casadi::MX*
+    casadi_vertcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+casadi::MX*
+    casadi_vertcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        casadi::MX ret = vertcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertcat" ===============
+// cppName: "casadi::casadi_vertcat"
+// cWrapperName: "casadi_vertcat__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Sparsity*"
+// proto: "casadi::Sparsity*\n    casadi_vertcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// friendWrap: True
+// fName: "casadi_vertcat"
+// call: "        casadi::Sparsity ret = vertcat(x0_);"
+extern "C"
+casadi::Sparsity*
+    casadi_vertcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+casadi::Sparsity*
+    casadi_vertcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        casadi::Sparsity ret = vertcat(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi_vertsplit__0(std::string ** err_msg, casadi::SX* x0)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::SX > ret = vertsplit(x0_);"
+extern "C"
+std::vector< casadi::SX* >*
+    casadi_vertsplit__0(std::string ** err_msg, casadi::SX* x0);
+std::vector< casadi::SX* >*
+    casadi_vertsplit__0(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = vertsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi_vertsplit__1(std::string ** err_msg, casadi::SX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::SX > ret = vertsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::SX* >*
+    casadi_vertsplit__1(std::string ** err_msg, casadi::SX* x0, long long x1);
+std::vector< casadi::SX* >*
+    casadi_vertsplit__1(std::string ** err_msg, casadi::SX* x0, long long x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::SX > ret = vertsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >*\n    casadi_vertsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::SX > ret = vertsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::SX* >*
+    casadi_vertsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1);
+std::vector< casadi::SX* >*
+    casadi_vertsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1){
+    try {
+        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = vertsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__3"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi_vertsplit__3(std::string ** err_msg, casadi::DM* x0)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::DM > ret = vertsplit(x0_);"
+extern "C"
+std::vector< casadi::DM* >*
+    casadi_vertsplit__3(std::string ** err_msg, casadi::DM* x0);
+std::vector< casadi::DM* >*
+    casadi_vertsplit__3(std::string ** err_msg, casadi::DM* x0){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+
+        std::vector< casadi::DM > ret = vertsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__4"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi_vertsplit__4(std::string ** err_msg, casadi::DM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::DM > ret = vertsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::DM* >*
+    casadi_vertsplit__4(std::string ** err_msg, casadi::DM* x0, long long x1);
+std::vector< casadi::DM* >*
+    casadi_vertsplit__4(std::string ** err_msg, casadi::DM* x0, long long x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::DM > ret = vertsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__5"
+// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    casadi_vertsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::DM > ret = vertsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::DM* >*
+    casadi_vertsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1);
+std::vector< casadi::DM* >*
+    casadi_vertsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1){
+    try {
+        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::DM > ret = vertsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__6"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi_vertsplit__6(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::IM > ret = vertsplit(x0_);"
+extern "C"
+std::vector< casadi::IM* >*
+    casadi_vertsplit__6(std::string ** err_msg, casadi::IM* x0);
+std::vector< casadi::IM* >*
+    casadi_vertsplit__6(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        std::vector< casadi::IM > ret = vertsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__7"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi_vertsplit__7(std::string ** err_msg, casadi::IM* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::IM > ret = vertsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::IM* >*
+    casadi_vertsplit__7(std::string ** err_msg, casadi::IM* x0, long long x1);
+std::vector< casadi::IM* >*
+    casadi_vertsplit__7(std::string ** err_msg, casadi::IM* x0, long long x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::IM > ret = vertsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__8"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::IM* >*"
+// proto: "std::vector< casadi::IM* >*\n    casadi_vertsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::IM > ret = vertsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::IM* >*
+    casadi_vertsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1);
+std::vector< casadi::IM* >*
+    casadi_vertsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::IM > ret = vertsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__9"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_vertsplit__9(std::string ** err_msg, casadi::MX* x0)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::MX > ret = vertsplit(x0_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_vertsplit__9(std::string ** err_msg, casadi::MX* x0);
+std::vector< casadi::MX* >*
+    casadi_vertsplit__9(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = vertsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__10"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_vertsplit__10(std::string ** err_msg, casadi::MX* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::MX > ret = vertsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_vertsplit__10(std::string ** err_msg, casadi::MX* x0, long long x1);
+std::vector< casadi::MX* >*
+    casadi_vertsplit__10(std::string ** err_msg, casadi::MX* x0, long long x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::MX > ret = vertsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__11"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    casadi_vertsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::MX > ret = vertsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::MX* >*
+    casadi_vertsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1);
+std::vector< casadi::MX* >*
+    casadi_vertsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = vertsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__12"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >*\n    casadi_vertsplit__12(std::string ** err_msg, casadi::Sparsity* x0)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::Sparsity > ret = vertsplit(x0_);"
+extern "C"
+std::vector< casadi::Sparsity* >*
+    casadi_vertsplit__12(std::string ** err_msg, casadi::Sparsity* x0);
+std::vector< casadi::Sparsity* >*
+    casadi_vertsplit__12(std::string ** err_msg, casadi::Sparsity* x0){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = vertsplit(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__13"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >*\n    casadi_vertsplit__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::Sparsity > ret = vertsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::Sparsity* >*
+    casadi_vertsplit__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1);
+std::vector< casadi::Sparsity* >*
+    casadi_vertsplit__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = vertsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::casadi_vertsplit" ===============
+// cppName: "casadi::casadi_vertsplit"
+// cWrapperName: "casadi_vertsplit__14"
+// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >*\n    casadi_vertsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1)"
+// friendWrap: True
+// fName: "casadi_vertsplit"
+// call: "        std::vector< casadi::Sparsity > ret = vertsplit(x0_, x1_);"
+extern "C"
+std::vector< casadi::Sparsity* >*
+    casadi_vertsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1);
+std::vector< casadi::Sparsity* >*
+    casadi_vertsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1){
+    try {
+        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = vertsplit(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::collocation_interpolators" ===============
+// cppName: "casadi::collocation_interpolators"
+// cWrapperName: "collocation_interpolators"
+// protoArgs: "(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2)"
+// params: [(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (StdVec (StdVec CDouble)),SwigOutput True),(Ref (StdVec CDouble),SwigOutput True)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void\n    collocation_interpolators(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2)"
+// friendWrap: False
+// fName: "collocation_interpolators"
+// call: "        casadi::collocation_interpolators(x0_, x1_, x2_);"
+extern "C"
+void
+    collocation_interpolators(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2);
+void
+    collocation_interpolators(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2){
+    try {
+        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+        std::vector< std::vector< double > > x1_ = std::vector< std::vector< double > >();  // Swig output
+        std::vector< double > x2_ = std::vector< double >();  // Swig output
+
+        casadi::collocation_interpolators(x0_, x1_, x2_);
+        // x0 is not a swig output
+        *x1 = WrapReturn< std::vector< std::vector< double >* >*, std::vector< std::vector< double > > >::wrapReturn( x1_ );
+        *x2 = WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( x2_ );
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::collocation_points" ===============
+// cppName: "casadi::collocation_points"
+// cWrapperName: "collocation_points__0"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// params: [(CLongLong,SwigOutput False)]
+// retType: StdVec CDouble
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    collocation_points__0(std::string ** err_msg, long long x0)"
+// friendWrap: False
+// fName: "collocation_points"
+// call: "        std::vector< double > ret = casadi::collocation_points(x0_);"
+extern "C"
+std::vector< double >*
+    collocation_points__0(std::string ** err_msg, long long x0);
+std::vector< double >*
+    collocation_points__0(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::vector< double > ret = casadi::collocation_points(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::collocation_points" ===============
+// cppName: "casadi::collocation_points"
+// cWrapperName: "collocation_points__1"
+// protoArgs: "(std::string ** err_msg, long long x0, std::string* x1)"
+// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: StdVec CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    collocation_points__1(std::string ** err_msg, long long x0, std::string* x1)"
+// friendWrap: False
+// fName: "collocation_points"
+// call: "        std::vector< double > ret = casadi::collocation_points(x0_, x1_);"
+extern "C"
+std::vector< double >*
+    collocation_points__1(std::string ** err_msg, long long x0, std::string* x1);
+std::vector< double >*
+    collocation_points__1(std::string ** err_msg, long long x0, std::string* x1){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        std::vector< double > ret = casadi::collocation_points(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::complement" ===============
+// cppName: "casadi::complement"
+// cWrapperName: "complement"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, long long x1)"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec CLongLong
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    complement(std::string ** err_msg, std::vector< long long >* x0, long long x1)"
+// friendWrap: False
+// fName: "complement"
+// call: "        std::vector< long long > ret = casadi::complement(x0_, x1_);"
+extern "C"
+std::vector< long long >*
+    complement(std::string ** err_msg, std::vector< long long >* x0, long long x1);
+std::vector< long long >*
+    complement(std::string ** err_msg, std::vector< long long >* x0, long long x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< long long > ret = casadi::complement(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::conic" ===============
+// cppName: "casadi::conic"
+// cWrapperName: "conic__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    conic__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
+// friendWrap: False
+// fName: "conic"
+// call: "        casadi::Function ret = casadi::conic(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    conic__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
+casadi::Function*
+    conic__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
+
+        casadi::Function ret = casadi::conic(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::conic" ===============
+// cppName: "casadi::conic"
+// cWrapperName: "conic__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    conic__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "conic"
+// call: "        casadi::Function ret = casadi::conic(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    conic__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    conic__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::conic(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::conic_debug" ===============
+// cppName: "casadi::conic_debug"
+// cWrapperName: "conic_debug"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_)"
+// cWrapperRetType: "void"
+// proto: "void\n    conic_debug(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
+// friendWrap: False
+// fName: "conic_debug"
+// call: "        casadi::conic_debug(x0_, x1_);"
+extern "C"
+void
+    conic_debug(std::string ** err_msg, casadi::Function* x0, std::string* x1);
+void
+    conic_debug(std::string ** err_msg, casadi::Function* x0, std::string* x1){
+    try {
+        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::conic_debug(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::conic_in" ===============
+// cppName: "casadi::conic_in"
+// cWrapperName: "conic_in__0"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// params: [(CLongLong,SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    conic_in__0(std::string ** err_msg, long long x0)"
+// friendWrap: False
+// fName: "conic_in"
+// call: "        std::string ret = casadi::conic_in(x0_);"
+extern "C"
+std::string*
+    conic_in__0(std::string ** err_msg, long long x0);
+std::string*
+    conic_in__0(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = casadi::conic_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::conic_in" ===============
+// cppName: "casadi::conic_in"
+// cWrapperName: "conic_in__1"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: StdVec StdString
+// args: "()"
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    conic_in__1(std::string ** err_msg)"
+// friendWrap: False
+// fName: "conic_in"
+// call: "        std::vector< std::string > ret = casadi::conic_in();"
+extern "C"
+std::vector< std::string* >*
+    conic_in__1(std::string ** err_msg);
+std::vector< std::string* >*
+    conic_in__1(std::string ** err_msg){
+    try {
+
+        std::vector< std::string > ret = casadi::conic_in();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::conic_n_in" ===============
+// cppName: "casadi::conic_n_in"
+// cWrapperName: "conic_n_in"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: CLongLong
+// args: "()"
+// cWrapperRetType: "long long"
+// proto: "long long\n    conic_n_in(std::string ** err_msg)"
+// friendWrap: False
+// fName: "conic_n_in"
+// call: "        long long ret = casadi::conic_n_in();"
+extern "C"
+long long
+    conic_n_in(std::string ** err_msg);
+long long
+    conic_n_in(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::conic_n_in();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::conic_n_out" ===============
+// cppName: "casadi::conic_n_out"
+// cWrapperName: "conic_n_out"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: CLongLong
+// args: "()"
+// cWrapperRetType: "long long"
+// proto: "long long\n    conic_n_out(std::string ** err_msg)"
+// friendWrap: False
+// fName: "conic_n_out"
+// call: "        long long ret = casadi::conic_n_out();"
+extern "C"
+long long
+    conic_n_out(std::string ** err_msg);
+long long
+    conic_n_out(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::conic_n_out();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::conic_option_info" ===============
+// cppName: "casadi::conic_option_info"
+// cWrapperName: "conic_option_info"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    conic_option_info(std::string ** err_msg, std::string* x0, std::string* x1)"
+// friendWrap: False
+// fName: "conic_option_info"
+// call: "        std::string ret = casadi::conic_option_info(x0_, x1_);"
+extern "C"
+std::string*
+    conic_option_info(std::string ** err_msg, std::string* x0, std::string* x1);
+std::string*
+    conic_option_info(std::string ** err_msg, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        std::string ret = casadi::conic_option_info(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::conic_option_type" ===============
+// cppName: "casadi::conic_option_type"
+// cWrapperName: "conic_option_type"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    conic_option_type(std::string ** err_msg, std::string* x0, std::string* x1)"
+// friendWrap: False
+// fName: "conic_option_type"
+// call: "        std::string ret = casadi::conic_option_type(x0_, x1_);"
+extern "C"
+std::string*
+    conic_option_type(std::string ** err_msg, std::string* x0, std::string* x1);
+std::string*
+    conic_option_type(std::string ** err_msg, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        std::string ret = casadi::conic_option_type(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::conic_options" ===============
+// cppName: "casadi::conic_options"
+// cWrapperName: "conic_options"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: StdVec StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    conic_options(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "conic_options"
+// call: "        std::vector< std::string > ret = casadi::conic_options(x0_);"
+extern "C"
+std::vector< std::string* >*
+    conic_options(std::string ** err_msg, std::string* x0);
+std::vector< std::string* >*
+    conic_options(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::vector< std::string > ret = casadi::conic_options(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::conic_out" ===============
+// cppName: "casadi::conic_out"
+// cWrapperName: "conic_out__0"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// params: [(CLongLong,SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    conic_out__0(std::string ** err_msg, long long x0)"
+// friendWrap: False
+// fName: "conic_out"
+// call: "        std::string ret = casadi::conic_out(x0_);"
+extern "C"
+std::string*
+    conic_out__0(std::string ** err_msg, long long x0);
+std::string*
+    conic_out__0(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = casadi::conic_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::conic_out" ===============
+// cppName: "casadi::conic_out"
+// cWrapperName: "conic_out__1"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: StdVec StdString
+// args: "()"
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    conic_out__1(std::string ** err_msg)"
+// friendWrap: False
+// fName: "conic_out"
+// call: "        std::vector< std::string > ret = casadi::conic_out();"
+extern "C"
+std::vector< std::string* >*
+    conic_out__1(std::string ** err_msg);
+std::vector< std::string* >*
+    conic_out__1(std::string ** err_msg){
+    try {
+
+        std::vector< std::string > ret = casadi::conic_out();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::doc_conic" ===============
+// cppName: "casadi::doc_conic"
+// cWrapperName: "doc_conic"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    doc_conic(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "doc_conic"
+// call: "        std::string ret = casadi::doc_conic(x0_);"
+extern "C"
+std::string*
+    doc_conic(std::string ** err_msg, std::string* x0);
+std::string*
+    doc_conic(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = casadi::doc_conic(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::doc_dple" ===============
+// cppName: "casadi::doc_dple"
+// cWrapperName: "doc_dple"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    doc_dple(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "doc_dple"
+// call: "        std::string ret = casadi::doc_dple(x0_);"
+extern "C"
+std::string*
+    doc_dple(std::string ** err_msg, std::string* x0);
+std::string*
+    doc_dple(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = casadi::doc_dple(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::doc_expm" ===============
+// cppName: "casadi::doc_expm"
+// cWrapperName: "doc_expm"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    doc_expm(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "doc_expm"
+// call: "        std::string ret = casadi::doc_expm(x0_);"
+extern "C"
+std::string*
+    doc_expm(std::string ** err_msg, std::string* x0);
+std::string*
+    doc_expm(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = casadi::doc_expm(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::doc_integrator" ===============
+// cppName: "casadi::doc_integrator"
+// cWrapperName: "doc_integrator"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    doc_integrator(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "doc_integrator"
+// call: "        std::string ret = casadi::doc_integrator(x0_);"
+extern "C"
+std::string*
+    doc_integrator(std::string ** err_msg, std::string* x0);
+std::string*
+    doc_integrator(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = casadi::doc_integrator(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::doc_interpolant" ===============
+// cppName: "casadi::doc_interpolant"
+// cWrapperName: "doc_interpolant"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    doc_interpolant(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "doc_interpolant"
+// call: "        std::string ret = casadi::doc_interpolant(x0_);"
+extern "C"
+std::string*
+    doc_interpolant(std::string ** err_msg, std::string* x0);
+std::string*
+    doc_interpolant(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = casadi::doc_interpolant(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::doc_linsol" ===============
+// cppName: "casadi::doc_linsol"
+// cWrapperName: "doc_linsol"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    doc_linsol(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "doc_linsol"
+// call: "        std::string ret = casadi::doc_linsol(x0_);"
+extern "C"
+std::string*
+    doc_linsol(std::string ** err_msg, std::string* x0);
+std::string*
+    doc_linsol(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = casadi::doc_linsol(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::doc_nlpsol" ===============
+// cppName: "casadi::doc_nlpsol"
+// cWrapperName: "doc_nlpsol"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    doc_nlpsol(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "doc_nlpsol"
+// call: "        std::string ret = casadi::doc_nlpsol(x0_);"
+extern "C"
+std::string*
+    doc_nlpsol(std::string ** err_msg, std::string* x0);
+std::string*
+    doc_nlpsol(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = casadi::doc_nlpsol(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::doc_rootfinder" ===============
+// cppName: "casadi::doc_rootfinder"
+// cWrapperName: "doc_rootfinder"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    doc_rootfinder(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "doc_rootfinder"
+// call: "        std::string ret = casadi::doc_rootfinder(x0_);"
+extern "C"
+std::string*
+    doc_rootfinder(std::string ** err_msg, std::string* x0);
+std::string*
+    doc_rootfinder(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::string ret = casadi::doc_rootfinder(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dple_in" ===============
+// cppName: "casadi::dple_in"
+// cWrapperName: "dple_in__0"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// params: [(CLongLong,SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    dple_in__0(std::string ** err_msg, long long x0)"
+// friendWrap: False
+// fName: "dple_in"
+// call: "        std::string ret = casadi::dple_in(x0_);"
+extern "C"
+std::string*
+    dple_in__0(std::string ** err_msg, long long x0);
+std::string*
+    dple_in__0(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = casadi::dple_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dple_in" ===============
+// cppName: "casadi::dple_in"
+// cWrapperName: "dple_in__1"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: StdVec StdString
+// args: "()"
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    dple_in__1(std::string ** err_msg)"
+// friendWrap: False
+// fName: "dple_in"
+// call: "        std::vector< std::string > ret = casadi::dple_in();"
+extern "C"
+std::vector< std::string* >*
+    dple_in__1(std::string ** err_msg);
+std::vector< std::string* >*
+    dple_in__1(std::string ** err_msg){
+    try {
+
+        std::vector< std::string > ret = casadi::dple_in();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dple_n_in" ===============
+// cppName: "casadi::dple_n_in"
+// cWrapperName: "dple_n_in"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: CLongLong
+// args: "()"
+// cWrapperRetType: "long long"
+// proto: "long long\n    dple_n_in(std::string ** err_msg)"
+// friendWrap: False
+// fName: "dple_n_in"
+// call: "        long long ret = casadi::dple_n_in();"
+extern "C"
+long long
+    dple_n_in(std::string ** err_msg);
+long long
+    dple_n_in(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::dple_n_in();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dple_n_out" ===============
+// cppName: "casadi::dple_n_out"
+// cWrapperName: "dple_n_out"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: CLongLong
+// args: "()"
+// cWrapperRetType: "long long"
+// proto: "long long\n    dple_n_out(std::string ** err_msg)"
+// friendWrap: False
+// fName: "dple_n_out"
+// call: "        long long ret = casadi::dple_n_out();"
+extern "C"
+long long
+    dple_n_out(std::string ** err_msg);
+long long
+    dple_n_out(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::dple_n_out();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dple_out" ===============
+// cppName: "casadi::dple_out"
+// cWrapperName: "dple_out__0"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// params: [(CLongLong,SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    dple_out__0(std::string ** err_msg, long long x0)"
+// friendWrap: False
+// fName: "dple_out"
+// call: "        std::string ret = casadi::dple_out(x0_);"
+extern "C"
+std::string*
+    dple_out__0(std::string ** err_msg, long long x0);
+std::string*
+    dple_out__0(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = casadi::dple_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dple_out" ===============
+// cppName: "casadi::dple_out"
+// cWrapperName: "dple_out__1"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: StdVec StdString
+// args: "()"
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    dple_out__1(std::string ** err_msg)"
+// friendWrap: False
+// fName: "dple_out"
+// call: "        std::vector< std::string > ret = casadi::dple_out();"
+extern "C"
+std::vector< std::string* >*
+    dple_out__1(std::string ** err_msg);
+std::vector< std::string* >*
+    dple_out__1(std::string ** err_msg){
+    try {
+
+        std::vector< std::string > ret = casadi::dple_out();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dplesol" ===============
+// cppName: "casadi::dplesol"
+// cWrapperName: "dplesol__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    dplesol__0(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2)"
+// friendWrap: False
+// fName: "dplesol"
+// call: "        std::vector< casadi::DM > ret = casadi::dplesol(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::DM* >*
+    dplesol__0(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2);
+std::vector< casadi::DM* >*
+    dplesol__0(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+
+        std::vector< casadi::DM > ret = casadi::dplesol(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dplesol" ===============
+// cppName: "casadi::dplesol"
+// cWrapperName: "dplesol__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DM* >*"
+// proto: "std::vector< casadi::DM* >*\n    dplesol__1(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "dplesol"
+// call: "        std::vector< casadi::DM > ret = casadi::dplesol(x0_, x1_, x2_, x3_);"
+extern "C"
+std::vector< casadi::DM* >*
+    dplesol__1(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
+std::vector< casadi::DM* >*
+    dplesol__1(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
+        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        std::vector< casadi::DM > ret = casadi::dplesol(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dplesol" ===============
+// cppName: "casadi::dplesol"
+// cWrapperName: "dplesol__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    dplesol__2(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2)"
+// friendWrap: False
+// fName: "dplesol"
+// call: "        std::vector< casadi::MX > ret = casadi::dplesol(x0_, x1_, x2_);"
+extern "C"
+std::vector< casadi::MX* >*
+    dplesol__2(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2);
+std::vector< casadi::MX* >*
+    dplesol__2(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::dplesol(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dplesol" ===============
+// cppName: "casadi::dplesol"
+// cWrapperName: "dplesol__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >*\n    dplesol__3(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "dplesol"
+// call: "        std::vector< casadi::MX > ret = casadi::dplesol(x0_, x1_, x2_, x3_);"
+extern "C"
+std::vector< casadi::MX* >*
+    dplesol__3(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
+std::vector< casadi::MX* >*
+    dplesol__3(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::dplesol(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dplesol" ===============
+// cppName: "casadi::dplesol"
+// cWrapperName: "dplesol__4"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    dplesol__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2)"
+// friendWrap: False
+// fName: "dplesol"
+// call: "        casadi::MX ret = casadi::dplesol(x0_, x1_, x2_);"
+extern "C"
+casadi::MX*
+    dplesol__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2);
+casadi::MX*
+    dplesol__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+
+        casadi::MX ret = casadi::dplesol(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dplesol" ===============
+// cppName: "casadi::dplesol"
+// cWrapperName: "dplesol__5"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX*\n    dplesol__5(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "dplesol"
+// call: "        casadi::MX ret = casadi::dplesol(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::MX*
+    dplesol__5(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::MX*
+    dplesol__5(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
+        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::MX ret = casadi::dplesol(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dplesol" ===============
+// cppName: "casadi::dplesol"
+// cWrapperName: "dplesol__6"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    dplesol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
+// friendWrap: False
+// fName: "dplesol"
+// call: "        casadi::Function ret = casadi::dplesol(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    dplesol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
+casadi::Function*
+    dplesol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
+
+        casadi::Function ret = casadi::dplesol(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dplesol" ===============
+// cppName: "casadi::dplesol"
+// cWrapperName: "dplesol__7"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    dplesol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "dplesol"
+// call: "        casadi::Function ret = casadi::dplesol(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    dplesol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    dplesol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::dplesol(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::expm_n_in" ===============
+// cppName: "casadi::expm_n_in"
+// cWrapperName: "expm_n_in"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: CLongLong
+// args: "()"
+// cWrapperRetType: "long long"
+// proto: "long long\n    expm_n_in(std::string ** err_msg)"
+// friendWrap: False
+// fName: "expm_n_in"
+// call: "        long long ret = casadi::expm_n_in();"
+extern "C"
+long long
+    expm_n_in(std::string ** err_msg);
+long long
+    expm_n_in(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::expm_n_in();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::expm_n_out" ===============
+// cppName: "casadi::expm_n_out"
+// cWrapperName: "expm_n_out"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: CLongLong
+// args: "()"
+// cWrapperRetType: "long long"
+// proto: "long long\n    expm_n_out(std::string ** err_msg)"
+// friendWrap: False
+// fName: "expm_n_out"
+// call: "        long long ret = casadi::expm_n_out();"
+extern "C"
+long long
+    expm_n_out(std::string ** err_msg);
+long long
+    expm_n_out(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::expm_n_out();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::expmsol" ===============
+// cppName: "casadi::expmsol"
+// cWrapperName: "expmsol__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    expmsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2)"
+// friendWrap: False
+// fName: "expmsol"
+// call: "        casadi::Function ret = casadi::expmsol(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    expmsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2);
+casadi::Function*
+    expmsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
+
+        casadi::Function ret = casadi::expmsol(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::expmsol" ===============
+// cppName: "casadi::expmsol"
+// cWrapperName: "expmsol__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    expmsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "expmsol"
+// call: "        casadi::Function ret = casadi::expmsol(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    expmsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    expmsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::expmsol(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::external" ===============
+// cppName: "casadi::external"
+// cWrapperName: "external__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Importer* x1)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Importer"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    external__0(std::string ** err_msg, std::string* x0, casadi::Importer* x1)"
+// friendWrap: False
+// fName: "external"
+// call: "        casadi::Function ret = casadi::external(x0_, x1_);"
+extern "C"
+casadi::Function*
+    external__0(std::string ** err_msg, std::string* x0, casadi::Importer* x1);
+casadi::Function*
+    external__0(std::string ** err_msg, std::string* x0, casadi::Importer* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Importer& x1_ = Marshaling<casadi::Importer&,casadi::Importer*>::marshal(x1);
+
+        casadi::Function ret = casadi::external(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::external" ===============
+// cppName: "casadi::external"
+// cWrapperName: "external__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Importer"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    external__1(std::string ** err_msg, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: False
+// fName: "external"
+// call: "        casadi::Function ret = casadi::external(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    external__1(std::string ** err_msg, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::Function*
+    external__1(std::string ** err_msg, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        casadi::Importer& x1_ = Marshaling<casadi::Importer&,casadi::Importer*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::Function ret = casadi::external(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::external" ===============
+// cppName: "casadi::external"
+// cWrapperName: "external__2"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    external__2(std::string ** err_msg, std::string* x0, std::string* x1)"
+// friendWrap: False
+// fName: "external"
+// call: "        casadi::Function ret = casadi::external(x0_, x1_);"
+extern "C"
+casadi::Function*
+    external__2(std::string ** err_msg, std::string* x0, std::string* x1);
+casadi::Function*
+    external__2(std::string ** err_msg, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::Function ret = casadi::external(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::external" ===============
+// cppName: "casadi::external"
+// cWrapperName: "external__3"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    external__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: False
+// fName: "external"
+// call: "        casadi::Function ret = casadi::external(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    external__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::Function*
+    external__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::Function ret = casadi::external(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::external" ===============
+// cppName: "casadi::external"
+// cWrapperName: "external__4"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    external__4(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "external"
+// call: "        casadi::Function ret = casadi::external(x0_);"
+extern "C"
+casadi::Function*
+    external__4(std::string ** err_msg, std::string* x0);
+casadi::Function*
+    external__4(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::Function ret = casadi::external(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::external" ===============
+// cppName: "casadi::external"
+// cWrapperName: "external__5"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    external__5(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
+// friendWrap: False
+// fName: "external"
+// call: "        casadi::Function ret = casadi::external(x0_, x1_);"
+extern "C"
+casadi::Function*
+    external__5(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
+casadi::Function*
+    external__5(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
+
+        casadi::Function ret = casadi::external(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::has_conic" ===============
+// cppName: "casadi::has_conic"
+// cWrapperName: "has_conic"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int\n    has_conic(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "has_conic"
+// call: "        bool ret = casadi::has_conic(x0_);"
+extern "C"
+int
+    has_conic(std::string ** err_msg, std::string* x0);
+int
+    has_conic(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = casadi::has_conic(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::has_dple" ===============
+// cppName: "casadi::has_dple"
+// cWrapperName: "has_dple"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int\n    has_dple(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "has_dple"
+// call: "        bool ret = casadi::has_dple(x0_);"
+extern "C"
+int
+    has_dple(std::string ** err_msg, std::string* x0);
+int
+    has_dple(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = casadi::has_dple(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::has_expm" ===============
+// cppName: "casadi::has_expm"
+// cWrapperName: "has_expm"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int\n    has_expm(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "has_expm"
+// call: "        bool ret = casadi::has_expm(x0_);"
+extern "C"
+int
+    has_expm(std::string ** err_msg, std::string* x0);
+int
+    has_expm(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = casadi::has_expm(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::has_integrator" ===============
+// cppName: "casadi::has_integrator"
+// cWrapperName: "has_integrator"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int\n    has_integrator(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "has_integrator"
+// call: "        bool ret = casadi::has_integrator(x0_);"
+extern "C"
+int
+    has_integrator(std::string ** err_msg, std::string* x0);
+int
+    has_integrator(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = casadi::has_integrator(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::has_interpolant" ===============
+// cppName: "casadi::has_interpolant"
+// cWrapperName: "has_interpolant"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int\n    has_interpolant(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "has_interpolant"
+// call: "        bool ret = casadi::has_interpolant(x0_);"
+extern "C"
+int
+    has_interpolant(std::string ** err_msg, std::string* x0);
+int
+    has_interpolant(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = casadi::has_interpolant(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::has_linsol" ===============
+// cppName: "casadi::has_linsol"
+// cWrapperName: "has_linsol"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int\n    has_linsol(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "has_linsol"
+// call: "        bool ret = casadi::has_linsol(x0_);"
+extern "C"
+int
+    has_linsol(std::string ** err_msg, std::string* x0);
+int
+    has_linsol(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = casadi::has_linsol(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::has_nlpsol" ===============
+// cppName: "casadi::has_nlpsol"
+// cWrapperName: "has_nlpsol"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int\n    has_nlpsol(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "has_nlpsol"
+// call: "        bool ret = casadi::has_nlpsol(x0_);"
+extern "C"
+int
+    has_nlpsol(std::string ** err_msg, std::string* x0);
+int
+    has_nlpsol(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = casadi::has_nlpsol(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::has_rootfinder" ===============
+// cppName: "casadi::has_rootfinder"
+// cWrapperName: "has_rootfinder"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int\n    has_rootfinder(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "has_rootfinder"
+// call: "        bool ret = casadi::has_rootfinder(x0_);"
+extern "C"
+int
+    has_rootfinder(std::string ** err_msg, std::string* x0);
+int
+    has_rootfinder(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        bool ret = casadi::has_rootfinder(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hash_combine" ===============
+// cppName: "casadi::hash_combine"
+// cWrapperName: "hash_combine"
+// protoArgs: "(std::string ** err_msg, size_t* x0, std::vector< long long >* x1)"
+// params: [(Ref CSize,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_, x1_)"
+// cWrapperRetType: "void"
+// proto: "void\n    hash_combine(std::string ** err_msg, size_t* x0, std::vector< long long >* x1)"
+// friendWrap: False
+// fName: "hash_combine"
+// call: "        casadi::hash_combine(x0_, x1_);"
+extern "C"
+void
+    hash_combine(std::string ** err_msg, size_t* x0, std::vector< long long >* x1);
+void
+    hash_combine(std::string ** err_msg, size_t* x0, std::vector< long long >* x1){
+    try {
+        size_t& x0_ = Marshaling<size_t&,size_t*>::marshal(x0);
+        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
+
+        casadi::hash_combine(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::hash_sparsity" ===============
+// cppName: "casadi::hash_sparsity"
+// cWrapperName: "hash_sparsity"
+// protoArgs: "(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: CSize
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "size_t"
+// proto: "size_t\n    hash_sparsity(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
+// friendWrap: False
+// fName: "hash_sparsity"
+// call: "        size_t ret = casadi::hash_sparsity(x0_, x1_, x2_, x3_);"
+extern "C"
+size_t
+    hash_sparsity(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
+size_t
+    hash_sparsity(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
+        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
+
+        size_t ret = casadi::hash_sparsity(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< size_t, size_t >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::index_interp1d" ===============
+// cppName: "casadi::index_interp1d"
+// cWrapperName: "index_interp1d__0"
+// protoArgs: "(std::string ** err_msg, std::vector< double >* x0, double x1)"
+// params: [(Ref (Const (StdVec CDouble)),SwigOutput False),(CDouble,SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double\n    index_interp1d__0(std::string ** err_msg, std::vector< double >* x0, double x1)"
+// friendWrap: False
+// fName: "index_interp1d"
+// call: "        double ret = casadi::index_interp1d(x0_, x1_);"
+extern "C"
+double
+    index_interp1d__0(std::string ** err_msg, std::vector< double >* x0, double x1);
+double
+    index_interp1d__0(std::string ** err_msg, std::vector< double >* x0, double x1){
+    try {
+        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+
+        double ret = casadi::index_interp1d(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::index_interp1d" ===============
+// cppName: "casadi::index_interp1d"
+// cWrapperName: "index_interp1d__1"
+// protoArgs: "(std::string ** err_msg, std::vector< double >* x0, double x1, int x2)"
+// params: [(Ref (Const (StdVec CDouble)),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
+// retType: CDouble
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "double"
+// proto: "double\n    index_interp1d__1(std::string ** err_msg, std::vector< double >* x0, double x1, int x2)"
+// friendWrap: False
+// fName: "index_interp1d"
+// call: "        double ret = casadi::index_interp1d(x0_, x1_, x2_);"
+extern "C"
+double
+    index_interp1d__1(std::string ** err_msg, std::vector< double >* x0, double x1, int x2);
+double
+    index_interp1d__1(std::string ** err_msg, std::vector< double >* x0, double x1, int x2){
+    try {
+        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+        double x1_ = Marshaling<double,double>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        double ret = casadi::index_interp1d(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integrator" ===============
+// cppName: "casadi::integrator"
+// cWrapperName: "integrator__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    integrator__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
+// friendWrap: False
+// fName: "integrator"
+// call: "        casadi::Function ret = casadi::integrator(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    integrator__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2);
+casadi::Function*
+    integrator__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
+
+        casadi::Function ret = casadi::integrator(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integrator" ===============
+// cppName: "casadi::integrator"
+// cWrapperName: "integrator__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    integrator__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "integrator"
+// call: "        casadi::Function ret = casadi::integrator(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    integrator__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    integrator__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::integrator(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integrator" ===============
+// cppName: "casadi::integrator"
+// cWrapperName: "integrator__2"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    integrator__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
+// friendWrap: False
+// fName: "integrator"
+// call: "        casadi::Function ret = casadi::integrator(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    integrator__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2);
+casadi::Function*
+    integrator__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
+
+        casadi::Function ret = casadi::integrator(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integrator" ===============
+// cppName: "casadi::integrator"
+// cWrapperName: "integrator__3"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    integrator__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "integrator"
+// call: "        casadi::Function ret = casadi::integrator(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    integrator__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    integrator__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::integrator(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integrator_in" ===============
+// cppName: "casadi::integrator_in"
+// cWrapperName: "integrator_in__0"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// params: [(CLongLong,SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    integrator_in__0(std::string ** err_msg, long long x0)"
+// friendWrap: False
+// fName: "integrator_in"
+// call: "        std::string ret = casadi::integrator_in(x0_);"
+extern "C"
+std::string*
+    integrator_in__0(std::string ** err_msg, long long x0);
+std::string*
+    integrator_in__0(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = casadi::integrator_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integrator_in" ===============
+// cppName: "casadi::integrator_in"
+// cWrapperName: "integrator_in__1"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: StdVec StdString
+// args: "()"
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    integrator_in__1(std::string ** err_msg)"
+// friendWrap: False
+// fName: "integrator_in"
+// call: "        std::vector< std::string > ret = casadi::integrator_in();"
+extern "C"
+std::vector< std::string* >*
+    integrator_in__1(std::string ** err_msg);
+std::vector< std::string* >*
+    integrator_in__1(std::string ** err_msg){
+    try {
+
+        std::vector< std::string > ret = casadi::integrator_in();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integrator_n_in" ===============
+// cppName: "casadi::integrator_n_in"
+// cWrapperName: "integrator_n_in"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: CLongLong
+// args: "()"
+// cWrapperRetType: "long long"
+// proto: "long long\n    integrator_n_in(std::string ** err_msg)"
+// friendWrap: False
+// fName: "integrator_n_in"
+// call: "        long long ret = casadi::integrator_n_in();"
+extern "C"
+long long
+    integrator_n_in(std::string ** err_msg);
+long long
+    integrator_n_in(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::integrator_n_in();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integrator_n_out" ===============
+// cppName: "casadi::integrator_n_out"
+// cWrapperName: "integrator_n_out"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: CLongLong
+// args: "()"
+// cWrapperRetType: "long long"
+// proto: "long long\n    integrator_n_out(std::string ** err_msg)"
+// friendWrap: False
+// fName: "integrator_n_out"
+// call: "        long long ret = casadi::integrator_n_out();"
+extern "C"
+long long
+    integrator_n_out(std::string ** err_msg);
+long long
+    integrator_n_out(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::integrator_n_out();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integrator_out" ===============
+// cppName: "casadi::integrator_out"
+// cWrapperName: "integrator_out__0"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// params: [(CLongLong,SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    integrator_out__0(std::string ** err_msg, long long x0)"
+// friendWrap: False
+// fName: "integrator_out"
+// call: "        std::string ret = casadi::integrator_out(x0_);"
+extern "C"
+std::string*
+    integrator_out__0(std::string ** err_msg, long long x0);
+std::string*
+    integrator_out__0(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = casadi::integrator_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integrator_out" ===============
+// cppName: "casadi::integrator_out"
+// cWrapperName: "integrator_out__1"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: StdVec StdString
+// args: "()"
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    integrator_out__1(std::string ** err_msg)"
+// friendWrap: False
+// fName: "integrator_out"
+// call: "        std::vector< std::string > ret = casadi::integrator_out();"
+extern "C"
+std::vector< std::string* >*
+    integrator_out__1(std::string ** err_msg);
+std::vector< std::string* >*
+    integrator_out__1(std::string ** err_msg){
+    try {
+
+        std::vector< std::string > ret = casadi::integrator_out();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::interpolant" ===============
+// cppName: "casadi::interpolant"
+// cWrapperName: "interpolant__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    interpolant__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3)"
+// friendWrap: False
+// fName: "interpolant"
+// call: "        casadi::Function ret = casadi::interpolant(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    interpolant__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3);
+casadi::Function*
+    interpolant__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::vector< std::vector< double > > x2_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x2);
+        std::vector< double > x3_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x3);
+
+        casadi::Function ret = casadi::interpolant(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::interpolant" ===============
+// cppName: "casadi::interpolant"
+// cWrapperName: "interpolant__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    interpolant__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3, std::map< std::string, casadi::GenericType* >* x4)"
+// friendWrap: False
+// fName: "interpolant"
+// call: "        casadi::Function ret = casadi::interpolant(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+casadi::Function*
+    interpolant__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3, std::map< std::string, casadi::GenericType* >* x4);
+casadi::Function*
+    interpolant__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3, std::map< std::string, casadi::GenericType* >* x4){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::vector< std::vector< double > > x2_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x2);
+        std::vector< double > x3_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x3);
+        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);
+
+        casadi::Function ret = casadi::interpolant(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::is_slice" ===============
+// cppName: "casadi::is_slice"
+// cWrapperName: "is_slice__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int\n    is_slice__0(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: False
+// fName: "is_slice"
+// call: "        bool ret = casadi::is_slice(x0_);"
+extern "C"
+int
+    is_slice__0(std::string ** err_msg, casadi::IM* x0);
+int
+    is_slice__0(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        bool ret = casadi::is_slice(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::is_slice" ===============
+// cppName: "casadi::is_slice"
+// cWrapperName: "is_slice__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    is_slice__1(std::string ** err_msg, casadi::IM* x0, int x1)"
+// friendWrap: False
+// fName: "is_slice"
+// call: "        bool ret = casadi::is_slice(x0_, x1_);"
+extern "C"
+int
+    is_slice__1(std::string ** err_msg, casadi::IM* x0, int x1);
+int
+    is_slice__1(std::string ** err_msg, casadi::IM* x0, int x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        bool ret = casadi::is_slice(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::is_slice" ===============
+// cppName: "casadi::is_slice"
+// cWrapperName: "is_slice__2"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int\n    is_slice__2(std::string ** err_msg, std::vector< long long >* x0)"
+// friendWrap: False
+// fName: "is_slice"
+// call: "        bool ret = casadi::is_slice(x0_);"
+extern "C"
+int
+    is_slice__2(std::string ** err_msg, std::vector< long long >* x0);
+int
+    is_slice__2(std::string ** err_msg, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        bool ret = casadi::is_slice(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::is_slice" ===============
+// cppName: "casadi::is_slice"
+// cWrapperName: "is_slice__3"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, int x1)"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int\n    is_slice__3(std::string ** err_msg, std::vector< long long >* x0, int x1)"
+// friendWrap: False
+// fName: "is_slice"
+// call: "        bool ret = casadi::is_slice(x0_, x1_);"
+extern "C"
+int
+    is_slice__3(std::string ** err_msg, std::vector< long long >* x0, int x1);
+int
+    is_slice__3(std::string ** err_msg, std::vector< long long >* x0, int x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        bool ret = casadi::is_slice(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::is_slice2" ===============
+// cppName: "casadi::is_slice2"
+// cWrapperName: "is_slice2"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int\n    is_slice2(std::string ** err_msg, std::vector< long long >* x0)"
+// friendWrap: False
+// fName: "is_slice2"
+// call: "        bool ret = casadi::is_slice2(x0_);"
+extern "C"
+int
+    is_slice2(std::string ** err_msg, std::vector< long long >* x0);
+int
+    is_slice2(std::string ** err_msg, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        bool ret = casadi::is_slice2(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::load_conic" ===============
+// cppName: "casadi::load_conic"
+// cWrapperName: "load_conic"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void\n    load_conic(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "load_conic"
+// call: "        casadi::load_conic(x0_);"
+extern "C"
+void
+    load_conic(std::string ** err_msg, std::string* x0);
+void
+    load_conic(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::load_conic(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::load_dple" ===============
+// cppName: "casadi::load_dple"
+// cWrapperName: "load_dple"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void\n    load_dple(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "load_dple"
+// call: "        casadi::load_dple(x0_);"
+extern "C"
+void
+    load_dple(std::string ** err_msg, std::string* x0);
+void
+    load_dple(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::load_dple(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::load_expm" ===============
+// cppName: "casadi::load_expm"
+// cWrapperName: "load_expm"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void\n    load_expm(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "load_expm"
+// call: "        casadi::load_expm(x0_);"
+extern "C"
+void
+    load_expm(std::string ** err_msg, std::string* x0);
+void
+    load_expm(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::load_expm(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::load_integrator" ===============
+// cppName: "casadi::load_integrator"
+// cWrapperName: "load_integrator"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void\n    load_integrator(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "load_integrator"
+// call: "        casadi::load_integrator(x0_);"
+extern "C"
+void
+    load_integrator(std::string ** err_msg, std::string* x0);
+void
+    load_integrator(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::load_integrator(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::load_interpolant" ===============
+// cppName: "casadi::load_interpolant"
+// cWrapperName: "load_interpolant"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void\n    load_interpolant(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "load_interpolant"
+// call: "        casadi::load_interpolant(x0_);"
+extern "C"
+void
+    load_interpolant(std::string ** err_msg, std::string* x0);
+void
+    load_interpolant(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::load_interpolant(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::load_linsol" ===============
+// cppName: "casadi::load_linsol"
+// cWrapperName: "load_linsol"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void\n    load_linsol(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "load_linsol"
+// call: "        casadi::load_linsol(x0_);"
+extern "C"
+void
+    load_linsol(std::string ** err_msg, std::string* x0);
+void
+    load_linsol(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::load_linsol(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::load_nlpsol" ===============
+// cppName: "casadi::load_nlpsol"
+// cWrapperName: "load_nlpsol"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void\n    load_nlpsol(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "load_nlpsol"
+// call: "        casadi::load_nlpsol(x0_);"
+extern "C"
+void
+    load_nlpsol(std::string ** err_msg, std::string* x0);
+void
+    load_nlpsol(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::load_nlpsol(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::load_rootfinder" ===============
+// cppName: "casadi::load_rootfinder"
+// cWrapperName: "load_rootfinder"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: CVoid
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void\n    load_rootfinder(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "load_rootfinder"
+// call: "        casadi::load_rootfinder(x0_);"
+extern "C"
+void
+    load_rootfinder(std::string ** err_msg, std::string* x0);
+void
+    load_rootfinder(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        casadi::load_rootfinder(x0_);
+        // x0 is not a swig output
+
+        return;
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::lookupvector" ===============
+// cppName: "casadi::lookupvector"
+// cWrapperName: "lookupvector__0"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdVec CLongLong
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    lookupvector__0(std::string ** err_msg, std::vector< long long >* x0)"
+// friendWrap: False
+// fName: "lookupvector"
+// call: "        std::vector< long long > ret = casadi::lookupvector(x0_);"
+extern "C"
+std::vector< long long >*
+    lookupvector__0(std::string ** err_msg, std::vector< long long >* x0);
+std::vector< long long >*
+    lookupvector__0(std::string ** err_msg, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        std::vector< long long > ret = casadi::lookupvector(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lookupvector" ===============
+// cppName: "casadi::lookupvector"
+// cWrapperName: "lookupvector__1"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, long long x1)"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: StdVec CLongLong
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< long long >*"
+// proto: "std::vector< long long >*\n    lookupvector__1(std::string ** err_msg, std::vector< long long >* x0, long long x1)"
+// friendWrap: False
+// fName: "lookupvector"
+// call: "        std::vector< long long > ret = casadi::lookupvector(x0_, x1_);"
+extern "C"
+std::vector< long long >*
+    lookupvector__1(std::string ** err_msg, std::vector< long long >* x0, long long x1);
+std::vector< long long >*
+    lookupvector__1(std::string ** err_msg, std::vector< long long >* x0, long long x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        std::vector< long long > ret = casadi::lookupvector(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol" ===============
+// cppName: "casadi::nlpsol"
+// cWrapperName: "nlpsol__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "NlpBuilder"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    nlpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2)"
+// friendWrap: False
+// fName: "nlpsol"
+// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    nlpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2);
+casadi::Function*
+    nlpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        casadi::NlpBuilder& x2_ = Marshaling<casadi::NlpBuilder&,casadi::NlpBuilder*>::marshal(x2);
+
+        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol" ===============
+// cppName: "casadi::nlpsol"
+// cWrapperName: "nlpsol__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "NlpBuilder"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    nlpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "nlpsol"
+// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    nlpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    nlpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        casadi::NlpBuilder& x2_ = Marshaling<casadi::NlpBuilder&,casadi::NlpBuilder*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol" ===============
+// cppName: "casadi::nlpsol"
+// cWrapperName: "nlpsol__2"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Importer"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    nlpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2)"
+// friendWrap: False
+// fName: "nlpsol"
+// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    nlpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2);
+casadi::Function*
+    nlpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        casadi::Importer& x2_ = Marshaling<casadi::Importer&,casadi::Importer*>::marshal(x2);
+
+        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol" ===============
+// cppName: "casadi::nlpsol"
+// cWrapperName: "nlpsol__3"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Importer"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    nlpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "nlpsol"
+// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    nlpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    nlpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        casadi::Importer& x2_ = Marshaling<casadi::Importer&,casadi::Importer*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol" ===============
+// cppName: "casadi::nlpsol"
+// cWrapperName: "nlpsol__4"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    nlpsol__4(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2)"
+// friendWrap: False
+// fName: "nlpsol"
+// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    nlpsol__4(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2);
+casadi::Function*
+    nlpsol__4(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+
+        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol" ===============
+// cppName: "casadi::nlpsol"
+// cWrapperName: "nlpsol__5"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    nlpsol__5(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "nlpsol"
+// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    nlpsol__5(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    nlpsol__5(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol" ===============
+// cppName: "casadi::nlpsol"
+// cWrapperName: "nlpsol__6"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    nlpsol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
+// friendWrap: False
+// fName: "nlpsol"
+// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    nlpsol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2);
+casadi::Function*
+    nlpsol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
+
+        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol" ===============
+// cppName: "casadi::nlpsol"
+// cWrapperName: "nlpsol__7"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    nlpsol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "nlpsol"
+// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    nlpsol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    nlpsol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol" ===============
+// cppName: "casadi::nlpsol"
+// cWrapperName: "nlpsol__8"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    nlpsol__8(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
+// friendWrap: False
+// fName: "nlpsol"
+// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    nlpsol__8(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2);
+casadi::Function*
+    nlpsol__8(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
+
+        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol" ===============
+// cppName: "casadi::nlpsol"
+// cWrapperName: "nlpsol__9"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    nlpsol__9(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "nlpsol"
+// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    nlpsol__9(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    nlpsol__9(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol_default_in" ===============
+// cppName: "casadi::nlpsol_default_in"
+// cWrapperName: "nlpsol_default_in__0"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: StdVec CDouble
+// args: "()"
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >*\n    nlpsol_default_in__0(std::string ** err_msg)"
+// friendWrap: False
+// fName: "nlpsol_default_in"
+// call: "        std::vector< double > ret = casadi::nlpsol_default_in();"
+extern "C"
+std::vector< double >*
+    nlpsol_default_in__0(std::string ** err_msg);
+std::vector< double >*
+    nlpsol_default_in__0(std::string ** err_msg){
+    try {
+
+        std::vector< double > ret = casadi::nlpsol_default_in();
+
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol_default_in" ===============
+// cppName: "casadi::nlpsol_default_in"
+// cWrapperName: "nlpsol_default_in__1"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// params: [(CLongLong,SwigOutput False)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double\n    nlpsol_default_in__1(std::string ** err_msg, long long x0)"
+// friendWrap: False
+// fName: "nlpsol_default_in"
+// call: "        double ret = casadi::nlpsol_default_in(x0_);"
+extern "C"
+double
+    nlpsol_default_in__1(std::string ** err_msg, long long x0);
+double
+    nlpsol_default_in__1(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        double ret = casadi::nlpsol_default_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol_in" ===============
+// cppName: "casadi::nlpsol_in"
+// cWrapperName: "nlpsol_in__0"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// params: [(CLongLong,SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    nlpsol_in__0(std::string ** err_msg, long long x0)"
+// friendWrap: False
+// fName: "nlpsol_in"
+// call: "        std::string ret = casadi::nlpsol_in(x0_);"
+extern "C"
+std::string*
+    nlpsol_in__0(std::string ** err_msg, long long x0);
+std::string*
+    nlpsol_in__0(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = casadi::nlpsol_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol_in" ===============
+// cppName: "casadi::nlpsol_in"
+// cWrapperName: "nlpsol_in__1"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: StdVec StdString
+// args: "()"
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    nlpsol_in__1(std::string ** err_msg)"
+// friendWrap: False
+// fName: "nlpsol_in"
+// call: "        std::vector< std::string > ret = casadi::nlpsol_in();"
+extern "C"
+std::vector< std::string* >*
+    nlpsol_in__1(std::string ** err_msg);
+std::vector< std::string* >*
+    nlpsol_in__1(std::string ** err_msg){
+    try {
+
+        std::vector< std::string > ret = casadi::nlpsol_in();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol_n_in" ===============
+// cppName: "casadi::nlpsol_n_in"
+// cWrapperName: "nlpsol_n_in"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: CLongLong
+// args: "()"
+// cWrapperRetType: "long long"
+// proto: "long long\n    nlpsol_n_in(std::string ** err_msg)"
+// friendWrap: False
+// fName: "nlpsol_n_in"
+// call: "        long long ret = casadi::nlpsol_n_in();"
+extern "C"
+long long
+    nlpsol_n_in(std::string ** err_msg);
+long long
+    nlpsol_n_in(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::nlpsol_n_in();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol_n_out" ===============
+// cppName: "casadi::nlpsol_n_out"
+// cWrapperName: "nlpsol_n_out"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: CLongLong
+// args: "()"
+// cWrapperRetType: "long long"
+// proto: "long long\n    nlpsol_n_out(std::string ** err_msg)"
+// friendWrap: False
+// fName: "nlpsol_n_out"
+// call: "        long long ret = casadi::nlpsol_n_out();"
+extern "C"
+long long
+    nlpsol_n_out(std::string ** err_msg);
+long long
+    nlpsol_n_out(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::nlpsol_n_out();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol_option_info" ===============
+// cppName: "casadi::nlpsol_option_info"
+// cWrapperName: "nlpsol_option_info"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    nlpsol_option_info(std::string ** err_msg, std::string* x0, std::string* x1)"
+// friendWrap: False
+// fName: "nlpsol_option_info"
+// call: "        std::string ret = casadi::nlpsol_option_info(x0_, x1_);"
+extern "C"
+std::string*
+    nlpsol_option_info(std::string ** err_msg, std::string* x0, std::string* x1);
+std::string*
+    nlpsol_option_info(std::string ** err_msg, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        std::string ret = casadi::nlpsol_option_info(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol_option_type" ===============
+// cppName: "casadi::nlpsol_option_type"
+// cWrapperName: "nlpsol_option_type"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    nlpsol_option_type(std::string ** err_msg, std::string* x0, std::string* x1)"
+// friendWrap: False
+// fName: "nlpsol_option_type"
+// call: "        std::string ret = casadi::nlpsol_option_type(x0_, x1_);"
+extern "C"
+std::string*
+    nlpsol_option_type(std::string ** err_msg, std::string* x0, std::string* x1);
+std::string*
+    nlpsol_option_type(std::string ** err_msg, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        std::string ret = casadi::nlpsol_option_type(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol_options" ===============
+// cppName: "casadi::nlpsol_options"
+// cWrapperName: "nlpsol_options"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: StdVec StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    nlpsol_options(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "nlpsol_options"
+// call: "        std::vector< std::string > ret = casadi::nlpsol_options(x0_);"
+extern "C"
+std::vector< std::string* >*
+    nlpsol_options(std::string ** err_msg, std::string* x0);
+std::vector< std::string* >*
+    nlpsol_options(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::vector< std::string > ret = casadi::nlpsol_options(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol_out" ===============
+// cppName: "casadi::nlpsol_out"
+// cWrapperName: "nlpsol_out__0"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// params: [(CLongLong,SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    nlpsol_out__0(std::string ** err_msg, long long x0)"
+// friendWrap: False
+// fName: "nlpsol_out"
+// call: "        std::string ret = casadi::nlpsol_out(x0_);"
+extern "C"
+std::string*
+    nlpsol_out__0(std::string ** err_msg, long long x0);
+std::string*
+    nlpsol_out__0(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = casadi::nlpsol_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpsol_out" ===============
+// cppName: "casadi::nlpsol_out"
+// cWrapperName: "nlpsol_out__1"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: StdVec StdString
+// args: "()"
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    nlpsol_out__1(std::string ** err_msg)"
+// friendWrap: False
+// fName: "nlpsol_out"
+// call: "        std::vector< std::string > ret = casadi::nlpsol_out();"
+extern "C"
+std::vector< std::string* >*
+    nlpsol_out__1(std::string ** err_msg);
+std::vector< std::string* >*
+    nlpsol_out__1(std::string ** err_msg){
+    try {
+
+        std::vector< std::string > ret = casadi::nlpsol_out();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpsol" ===============
+// cppName: "casadi::qpsol"
+// cWrapperName: "qpsol__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    qpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
+// friendWrap: False
+// fName: "qpsol"
+// call: "        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    qpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2);
+casadi::Function*
+    qpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
+
+        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpsol" ===============
+// cppName: "casadi::qpsol"
+// cWrapperName: "qpsol__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    qpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "qpsol"
+// call: "        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    qpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    qpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpsol" ===============
+// cppName: "casadi::qpsol"
+// cWrapperName: "qpsol__2"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    qpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
+// friendWrap: False
+// fName: "qpsol"
+// call: "        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    qpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2);
+casadi::Function*
+    qpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
+
+        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpsol" ===============
+// cppName: "casadi::qpsol"
+// cWrapperName: "qpsol__3"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    qpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "qpsol"
+// call: "        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    qpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    qpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder" ===============
+// cppName: "casadi::rootfinder"
+// cWrapperName: "rootfinder__0"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    rootfinder__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2)"
+// friendWrap: False
+// fName: "rootfinder"
+// call: "        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    rootfinder__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2);
+casadi::Function*
+    rootfinder__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
+
+        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder" ===============
+// cppName: "casadi::rootfinder"
+// cWrapperName: "rootfinder__1"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    rootfinder__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "rootfinder"
+// call: "        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    rootfinder__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    rootfinder__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder" ===============
+// cppName: "casadi::rootfinder"
+// cWrapperName: "rootfinder__2"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    rootfinder__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
+// friendWrap: False
+// fName: "rootfinder"
+// call: "        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    rootfinder__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2);
+casadi::Function*
+    rootfinder__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
+
+        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder" ===============
+// cppName: "casadi::rootfinder"
+// cWrapperName: "rootfinder__3"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    rootfinder__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "rootfinder"
+// call: "        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    rootfinder__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    rootfinder__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder" ===============
+// cppName: "casadi::rootfinder"
+// cWrapperName: "rootfinder__4"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    rootfinder__4(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
+// friendWrap: False
+// fName: "rootfinder"
+// call: "        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    rootfinder__4(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2);
+casadi::Function*
+    rootfinder__4(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
+
+        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder" ===============
+// cppName: "casadi::rootfinder"
+// cWrapperName: "rootfinder__5"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    rootfinder__5(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
+// friendWrap: False
+// fName: "rootfinder"
+// call: "        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    rootfinder__5(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
+casadi::Function*
+    rootfinder__5(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);
+        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);
+
+        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder_in" ===============
+// cppName: "casadi::rootfinder_in"
+// cWrapperName: "rootfinder_in__0"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// params: [(CLongLong,SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    rootfinder_in__0(std::string ** err_msg, long long x0)"
+// friendWrap: False
+// fName: "rootfinder_in"
+// call: "        std::string ret = casadi::rootfinder_in(x0_);"
+extern "C"
+std::string*
+    rootfinder_in__0(std::string ** err_msg, long long x0);
+std::string*
+    rootfinder_in__0(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = casadi::rootfinder_in(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder_in" ===============
+// cppName: "casadi::rootfinder_in"
+// cWrapperName: "rootfinder_in__1"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: StdVec StdString
+// args: "()"
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    rootfinder_in__1(std::string ** err_msg)"
+// friendWrap: False
+// fName: "rootfinder_in"
+// call: "        std::vector< std::string > ret = casadi::rootfinder_in();"
+extern "C"
+std::vector< std::string* >*
+    rootfinder_in__1(std::string ** err_msg);
+std::vector< std::string* >*
+    rootfinder_in__1(std::string ** err_msg){
+    try {
+
+        std::vector< std::string > ret = casadi::rootfinder_in();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder_n_in" ===============
+// cppName: "casadi::rootfinder_n_in"
+// cWrapperName: "rootfinder_n_in"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: CLongLong
+// args: "()"
+// cWrapperRetType: "long long"
+// proto: "long long\n    rootfinder_n_in(std::string ** err_msg)"
+// friendWrap: False
+// fName: "rootfinder_n_in"
+// call: "        long long ret = casadi::rootfinder_n_in();"
+extern "C"
+long long
+    rootfinder_n_in(std::string ** err_msg);
+long long
+    rootfinder_n_in(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::rootfinder_n_in();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder_n_out" ===============
+// cppName: "casadi::rootfinder_n_out"
+// cWrapperName: "rootfinder_n_out"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: CLongLong
+// args: "()"
+// cWrapperRetType: "long long"
+// proto: "long long\n    rootfinder_n_out(std::string ** err_msg)"
+// friendWrap: False
+// fName: "rootfinder_n_out"
+// call: "        long long ret = casadi::rootfinder_n_out();"
+extern "C"
+long long
+    rootfinder_n_out(std::string ** err_msg);
+long long
+    rootfinder_n_out(std::string ** err_msg){
+    try {
+
+        long long ret = casadi::rootfinder_n_out();
+
+        return WrapReturn< long long, long long >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder_option_info" ===============
+// cppName: "casadi::rootfinder_option_info"
+// cWrapperName: "rootfinder_option_info"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    rootfinder_option_info(std::string ** err_msg, std::string* x0, std::string* x1)"
+// friendWrap: False
+// fName: "rootfinder_option_info"
+// call: "        std::string ret = casadi::rootfinder_option_info(x0_, x1_);"
+extern "C"
+std::string*
+    rootfinder_option_info(std::string ** err_msg, std::string* x0, std::string* x1);
+std::string*
+    rootfinder_option_info(std::string ** err_msg, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        std::string ret = casadi::rootfinder_option_info(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder_option_type" ===============
+// cppName: "casadi::rootfinder_option_type"
+// cWrapperName: "rootfinder_option_type"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    rootfinder_option_type(std::string ** err_msg, std::string* x0, std::string* x1)"
+// friendWrap: False
+// fName: "rootfinder_option_type"
+// call: "        std::string ret = casadi::rootfinder_option_type(x0_, x1_);"
+extern "C"
+std::string*
+    rootfinder_option_type(std::string ** err_msg, std::string* x0, std::string* x1);
+std::string*
+    rootfinder_option_type(std::string ** err_msg, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        std::string ret = casadi::rootfinder_option_type(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder_options" ===============
+// cppName: "casadi::rootfinder_options"
+// cWrapperName: "rootfinder_options"
+// protoArgs: "(std::string ** err_msg, std::string* x0)"
+// params: [(Ref (Const StdString),SwigOutput False)]
+// retType: StdVec StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    rootfinder_options(std::string ** err_msg, std::string* x0)"
+// friendWrap: False
+// fName: "rootfinder_options"
+// call: "        std::vector< std::string > ret = casadi::rootfinder_options(x0_);"
+extern "C"
+std::vector< std::string* >*
+    rootfinder_options(std::string ** err_msg, std::string* x0);
+std::vector< std::string* >*
+    rootfinder_options(std::string ** err_msg, std::string* x0){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+
+        std::vector< std::string > ret = casadi::rootfinder_options(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder_out" ===============
+// cppName: "casadi::rootfinder_out"
+// cWrapperName: "rootfinder_out__0"
+// protoArgs: "(std::string ** err_msg, long long x0)"
+// params: [(CLongLong,SwigOutput False)]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    rootfinder_out__0(std::string ** err_msg, long long x0)"
+// friendWrap: False
+// fName: "rootfinder_out"
+// call: "        std::string ret = casadi::rootfinder_out(x0_);"
+extern "C"
+std::string*
+    rootfinder_out__0(std::string ** err_msg, long long x0);
+std::string*
+    rootfinder_out__0(std::string ** err_msg, long long x0){
+    try {
+        long long x0_ = Marshaling<long long,long long>::marshal(x0);
+
+        std::string ret = casadi::rootfinder_out(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rootfinder_out" ===============
+// cppName: "casadi::rootfinder_out"
+// cWrapperName: "rootfinder_out__1"
+// protoArgs: "(std::string ** err_msg)"
+// params: []
+// retType: StdVec StdString
+// args: "()"
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >*\n    rootfinder_out__1(std::string ** err_msg)"
+// friendWrap: False
+// fName: "rootfinder_out"
+// call: "        std::vector< std::string > ret = casadi::rootfinder_out();"
+extern "C"
+std::vector< std::string* >*
+    rootfinder_out__1(std::string ** err_msg);
+std::vector< std::string* >*
+    rootfinder_out__1(std::string ** err_msg){
+    try {
+
+        std::vector< std::string > ret = casadi::rootfinder_out();
+
+        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::simpleIRK" ===============
+// cppName: "casadi::simpleIRK"
+// cWrapperName: "simpleIRK__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
+// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    simpleIRK__0(std::string ** err_msg, casadi::Function* x0)"
+// friendWrap: False
+// fName: "simpleIRK"
+// call: "        casadi::Function ret = casadi::simpleIRK(x0_);"
+extern "C"
+casadi::Function*
+    simpleIRK__0(std::string ** err_msg, casadi::Function* x0);
+casadi::Function*
+    simpleIRK__0(std::string ** err_msg, casadi::Function* x0){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+
+        casadi::Function ret = casadi::simpleIRK(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::simpleIRK" ===============
+// cppName: "casadi::simpleIRK"
+// cWrapperName: "simpleIRK__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0, long long x1)"
+// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    simpleIRK__1(std::string ** err_msg, casadi::Function* x0, long long x1)"
+// friendWrap: False
+// fName: "simpleIRK"
+// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_);"
+extern "C"
+casadi::Function*
+    simpleIRK__1(std::string ** err_msg, casadi::Function* x0, long long x1);
+casadi::Function*
+    simpleIRK__1(std::string ** err_msg, casadi::Function* x0, long long x1){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Function ret = casadi::simpleIRK(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::simpleIRK" ===============
+// cppName: "casadi::simpleIRK"
+// cWrapperName: "simpleIRK__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2)"
+// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    simpleIRK__2(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2)"
+// friendWrap: False
+// fName: "simpleIRK"
+// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    simpleIRK__2(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2);
+casadi::Function*
+    simpleIRK__2(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::simpleIRK" ===============
+// cppName: "casadi::simpleIRK"
+// cWrapperName: "simpleIRK__3"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3)"
+// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    simpleIRK__3(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3)"
+// friendWrap: False
+// fName: "simpleIRK"
+// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_);"
+extern "C"
+casadi::Function*
+    simpleIRK__3(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3);
+casadi::Function*
+    simpleIRK__3(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        std::string& x3_ = Marshaling<std::string&,std::string*>::marshal(x3);
+
+        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::simpleIRK" ===============
+// cppName: "casadi::simpleIRK"
+// cWrapperName: "simpleIRK__4"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4)"
+// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    simpleIRK__4(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4)"
+// friendWrap: False
+// fName: "simpleIRK"
+// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_, x4_);"
+extern "C"
+casadi::Function*
+    simpleIRK__4(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4);
+casadi::Function*
+    simpleIRK__4(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        std::string& x3_ = Marshaling<std::string&,std::string*>::marshal(x3);
+        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
+
+        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_, x4_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::simpleIRK" ===============
+// cppName: "casadi::simpleIRK"
+// cWrapperName: "simpleIRK__5"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4, std::map< std::string, casadi::GenericType* >* x5)"
+// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    simpleIRK__5(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4, std::map< std::string, casadi::GenericType* >* x5)"
+// friendWrap: False
+// fName: "simpleIRK"
+// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_, x4_, x5_);"
+extern "C"
+casadi::Function*
+    simpleIRK__5(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4, std::map< std::string, casadi::GenericType* >* x5);
+casadi::Function*
+    simpleIRK__5(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4, std::map< std::string, casadi::GenericType* >* x5){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+        std::string& x3_ = Marshaling<std::string&,std::string*>::marshal(x3);
+        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
+        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);
+
+        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_, x4_, x5_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+        // x3 is not a swig output
+        // x4 is not a swig output
+        // x5 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::simpleIntegrator" ===============
+// cppName: "casadi::simpleIntegrator"
+// cWrapperName: "simpleIntegrator__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
+// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    simpleIntegrator__0(std::string ** err_msg, casadi::Function* x0)"
+// friendWrap: False
+// fName: "simpleIntegrator"
+// call: "        casadi::Function ret = casadi::simpleIntegrator(x0_);"
+extern "C"
+casadi::Function*
+    simpleIntegrator__0(std::string ** err_msg, casadi::Function* x0);
+casadi::Function*
+    simpleIntegrator__0(std::string ** err_msg, casadi::Function* x0){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+
+        casadi::Function ret = casadi::simpleIntegrator(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::simpleIntegrator" ===============
+// cppName: "casadi::simpleIntegrator"
+// cWrapperName: "simpleIntegrator__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
+// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    simpleIntegrator__1(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
+// friendWrap: False
+// fName: "simpleIntegrator"
+// call: "        casadi::Function ret = casadi::simpleIntegrator(x0_, x1_);"
+extern "C"
+casadi::Function*
+    simpleIntegrator__1(std::string ** err_msg, casadi::Function* x0, std::string* x1);
+casadi::Function*
+    simpleIntegrator__1(std::string ** err_msg, casadi::Function* x0, std::string* x1){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        casadi::Function ret = casadi::simpleIntegrator(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::simpleIntegrator" ===============
+// cppName: "casadi::simpleIntegrator"
+// cWrapperName: "simpleIntegrator__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    simpleIntegrator__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
+// friendWrap: False
+// fName: "simpleIntegrator"
+// call: "        casadi::Function ret = casadi::simpleIntegrator(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    simpleIntegrator__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
+casadi::Function*
+    simpleIntegrator__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);
+
+        casadi::Function ret = casadi::simpleIntegrator(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::simpleRK" ===============
+// cppName: "casadi::simpleRK"
+// cWrapperName: "simpleRK__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
+// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    simpleRK__0(std::string ** err_msg, casadi::Function* x0)"
+// friendWrap: False
+// fName: "simpleRK"
+// call: "        casadi::Function ret = casadi::simpleRK(x0_);"
+extern "C"
+casadi::Function*
+    simpleRK__0(std::string ** err_msg, casadi::Function* x0);
+casadi::Function*
+    simpleRK__0(std::string ** err_msg, casadi::Function* x0){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+
+        casadi::Function ret = casadi::simpleRK(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::simpleRK" ===============
+// cppName: "casadi::simpleRK"
+// cWrapperName: "simpleRK__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0, long long x1)"
+// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    simpleRK__1(std::string ** err_msg, casadi::Function* x0, long long x1)"
+// friendWrap: False
+// fName: "simpleRK"
+// call: "        casadi::Function ret = casadi::simpleRK(x0_, x1_);"
+extern "C"
+casadi::Function*
+    simpleRK__1(std::string ** err_msg, casadi::Function* x0, long long x1);
+casadi::Function*
+    simpleRK__1(std::string ** err_msg, casadi::Function* x0, long long x1){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+
+        casadi::Function ret = casadi::simpleRK(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::simpleRK" ===============
+// cppName: "casadi::simpleRK"
+// cWrapperName: "simpleRK__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2)"
+// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function*\n    simpleRK__2(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2)"
+// friendWrap: False
+// fName: "simpleRK"
+// call: "        casadi::Function ret = casadi::simpleRK(x0_, x1_, x2_);"
+extern "C"
+casadi::Function*
+    simpleRK__2(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2);
+casadi::Function*
+    simpleRK__2(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+        long long x1_ = Marshaling<long long,long long>::marshal(x1);
+        long long x2_ = Marshaling<long long,long long>::marshal(x2);
+
+        casadi::Function ret = casadi::simpleRK(x0_, x1_, x2_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+        // x2 is not a swig output
+
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::temporary_file" ===============
+// cppName: "casadi::temporary_file"
+// cWrapperName: "temporary_file"
+// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
+// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string*\n    temporary_file(std::string ** err_msg, std::string* x0, std::string* x1)"
+// friendWrap: False
+// fName: "temporary_file"
+// call: "        std::string ret = casadi::temporary_file(x0_, x1_);"
+extern "C"
+std::string*
+    temporary_file(std::string ** err_msg, std::string* x0, std::string* x1);
+std::string*
+    temporary_file(std::string ** err_msg, std::string* x0, std::string* x1){
+    try {
+        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
+        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
+
+        std::string ret = casadi::temporary_file(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::to_slice" ===============
+// cppName: "casadi::to_slice"
+// cWrapperName: "to_slice__0"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Slice")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    to_slice__0(std::string ** err_msg, casadi::IM* x0)"
+// friendWrap: False
+// fName: "to_slice"
+// call: "        casadi::Slice ret = casadi::to_slice(x0_);"
+extern "C"
+casadi::Slice*
+    to_slice__0(std::string ** err_msg, casadi::IM* x0);
+casadi::Slice*
+    to_slice__0(std::string ** err_msg, casadi::IM* x0){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+
+        casadi::Slice ret = casadi::to_slice(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Slice*, casadi::Slice >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::to_slice" ===============
+// cppName: "casadi::to_slice"
+// cWrapperName: "to_slice__1"
+// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
+// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Slice")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    to_slice__1(std::string ** err_msg, casadi::IM* x0, int x1)"
+// friendWrap: False
+// fName: "to_slice"
+// call: "        casadi::Slice ret = casadi::to_slice(x0_, x1_);"
+extern "C"
+casadi::Slice*
+    to_slice__1(std::string ** err_msg, casadi::IM* x0, int x1);
+casadi::Slice*
+    to_slice__1(std::string ** err_msg, casadi::IM* x0, int x1){
+    try {
+        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::Slice ret = casadi::to_slice(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Slice*, casadi::Slice >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::to_slice" ===============
+// cppName: "casadi::to_slice"
+// cWrapperName: "to_slice__2"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Slice")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    to_slice__2(std::string ** err_msg, std::vector< long long >* x0)"
+// friendWrap: False
+// fName: "to_slice"
+// call: "        casadi::Slice ret = casadi::to_slice(x0_);"
+extern "C"
+casadi::Slice*
+    to_slice__2(std::string ** err_msg, std::vector< long long >* x0);
+casadi::Slice*
+    to_slice__2(std::string ** err_msg, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+
+        casadi::Slice ret = casadi::to_slice(x0_);
+        // x0 is not a swig output
+
+        return WrapReturn< casadi::Slice*, casadi::Slice >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::to_slice" ===============
+// cppName: "casadi::to_slice"
+// cWrapperName: "to_slice__3"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, int x1)"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
+// retType: UserType (Namespace ["casadi"]) (Name "Slice")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Slice*"
+// proto: "casadi::Slice*\n    to_slice__3(std::string ** err_msg, std::vector< long long >* x0, int x1)"
+// friendWrap: False
+// fName: "to_slice"
+// call: "        casadi::Slice ret = casadi::to_slice(x0_, x1_);"
+extern "C"
+casadi::Slice*
+    to_slice__3(std::string ** err_msg, std::vector< long long >* x0, int x1);
+casadi::Slice*
+    to_slice__3(std::string ** err_msg, std::vector< long long >* x0, int x1){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
+        bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+        casadi::Slice ret = casadi::to_slice(x0_, x1_);
+        // x0 is not a swig output
+        // x1 is not a swig output
+
+        return WrapReturn< casadi::Slice*, casadi::Slice >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::to_slice2" ===============
+// cppName: "casadi::to_slice2"
+// cWrapperName: "to_slice2"
+// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
+// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
+// retType: StdPair (UserType (Namespace ["casadi"]) (Name "Slice")) (UserType (Namespace ["casadi"]) (Name "Slice"))
+// args: "(x0_)"
+// cWrapperRetType: "std::pair< casadi::Slice*, casadi::Slice* >*"
+// proto: "std::pair< casadi::Slice*, casadi::Slice* >*\n    to_slice2(std::string ** err_msg, std::vector< long long >* x0)"
+// friendWrap: False
+// fName: "to_slice2"
+// call: "        std::pair< casadi::Slice, casadi::Slice > ret = casadi::to_slice2(x0_);"
+extern "C"
+std::pair< casadi::Slice*, casadi::Slice* >*
+    to_slice2(std::string ** err_msg, std::vector< long long >* x0);
+std::pair< casadi::Slice*, casadi::Slice* >*
+    to_slice2(std::string ** err_msg, std::vector< long long >* x0){
+    try {
+        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
 
         std::pair< casadi::Slice, casadi::Slice > ret = casadi::to_slice2(x0_);
         // x0 is not a swig output
